Compare commits

...

1544 Commits

Author SHA1 Message Date
Maikel Linke
61a58bca7d Travis can trigger the Github deploy API
And other build tools like Buildkite can listen to the deploy event.
2015-12-18 10:41:25 +11:00
Rob Harrington
e67e22ee73 Merge remote-tracking branch 'Em-AK/682-xero-report-defaults' into customer-name-security
Conflicts:
	lib/open_food_network/xero_invoices_report.rb
2015-12-17 14:22:16 +11:00
Rob Harrington
7a23f671a2 Restricting access to orders within Sales Tax Report
Managers of suppliers should not be able to generate sales tax reports for orders they only supply products for
2015-12-17 14:21:30 +11:00
Rob Harrington
d115eb816e Restricting access to orders within Xero Invoices Report
Managers of suppliers should not be able to generate xero invoices for orders they supply products for
2015-12-17 14:21:30 +11:00
Rob Harrington
4b5e33d5b0 Implementing new permissions for producers in reports_controller_spec 2015-12-17 14:21:30 +11:00
Rob Harrington
c579d302d5 Fixing customer info security for orders and distributors report 2015-12-17 14:21:30 +11:00
Rob Harrington
2f2ebf419c Fixing customer info security for packing reports 2015-12-17 14:21:30 +11:00
Rob Harrington
2f13ab6adf Fixing customer info security for orders and fulfillments report 2015-12-17 14:21:29 +11:00
Rob Harrington
b121984e76 Fixing customer info security for bulk coop report 2015-12-17 14:21:29 +11:00
Continuous Integration
23b9dd5c71 Auto-merge from CI [skip ci] 2015-12-17 13:02:37 +11:00
Maikel Linke
bc6110c178 Re-defining in_distributor scope as method to allow chaining 2015-12-17 12:42:28 +11:00
Rob Harrington
72f7e545dc Making sure bill > 0 for finalize account invoice spec 2015-12-17 12:04:24 +11:00
Rob Harrington
e0da49e4df Formatting dates for account invoices in rails time zone 2015-12-17 11:34:06 +11:00
Rob Harrington
b004060679 Printing invoices doesn't fail when order has no order cycle 2015-12-17 11:33:18 +11:00
Maikel Linke
ea68619f0b Use bundled rails to prepare imported database 2015-12-17 10:31:31 +11:00
Rob Harrington
555f639026 Fixing unstable update_account_invoice specs
Rounding first then summing != summing first then rounding
2015-12-17 09:16:19 +11:00
Rob Harrington
26a2f1a280 Adjustments on account invoices are created based on presence of a bill
Rather than of turnover
2015-12-16 23:10:47 +11:00
Rob Harrington
83e3fb98f7 Only display billable period adjustments where the amount in > 0
Rather than where the bill (which is calculated according to current settings) is > 0
2015-12-16 19:18:59 +11:00
Rob Harrington
bac4fcbd8f Make sure that adjustments for billable periods have a valid order to attach to when creating/updating 2015-12-16 19:18:59 +11:00
Rob Harrington
ecd11702c3 Fixing up enterprise user account page 2015-12-16 19:18:59 +11:00
Rob Harrington
fe0652e243 When updating a line_item quantity from 0, final_weight_volume is recalculated from the variants unit value 2015-12-16 19:18:59 +11:00
Rob Harrington
f49722ba90 Fixing broken BMC specs 2015-12-16 19:18:58 +11:00
Rob Harrington
0370723edd Attempt to add a sensible name and contact number to Account Invoice addresses 2015-12-16 19:18:58 +11:00
Rob Harrington
d46712de84 Obsolete BillablePeriods only deleted if their associated order is not already complete 2015-12-16 19:18:58 +11:00
Rob Harrington
199a3c38f9 Bill is capped before tax is applied, like we say it is 2015-12-16 19:18:58 +11:00
Rob Harrington
0ed8cf973d Adding an example bill calculator to business model config edit page
To allow super admin to see the effects of any changes they make to BMC settings
2015-12-16 19:18:58 +11:00
Rob Harrington
76d4f74f6b Ammending BillablePeriod spec to be ensure tax is charged correctly 2015-12-16 19:18:58 +11:00
Rob Harrington
ca3c464fda Reorganising busines model config settings, moving account invoice tax rate in busines model config settings 2015-12-16 19:18:57 +11:00
Rob Harrington
85f61364f8 BillablePeriods use global config to calculate bills 2015-12-16 19:18:57 +11:00
Rob Harrington
c1d04af5cc Implementing monthly billing description logic in required pages 2015-12-16 19:18:57 +11:00
Rob Harrington
5b72f53738 Adding helper for describing monthly billing charges 2015-12-16 19:18:57 +11:00
Rob Harrington
da325780b1 Adding BMC link to configurations menu 2015-12-16 19:18:57 +11:00
Rob Harrington
a40a03905f Reorganising BMC edit view 2015-12-16 19:18:57 +11:00
Rob Harrington
044e423543 Adding update logic to business model config controller 2015-12-16 19:18:57 +11:00
Rob Harrington
cb9b61f393 WIP: Adding an edit view for BMC variables 2015-12-16 19:18:56 +11:00
Rob Harrington
58031408f1 Adding basic business model configuration variables to app config 2015-12-16 19:18:56 +11:00
Rob Harrington
e20b06bb97 Adding basic route and controller for business model configuration 2015-12-16 19:18:56 +11:00
Rob Harrington
cc4f9dd09b Making lettuceshare report spec more robust 2015-12-16 18:14:19 +11:00
Rob Harrington
18ea0c1717 Pulling VariantOverride scoping down into products and inventory report base 2015-12-16 14:23:43 +11:00
Rob Harrington
2bb85eb8e0 Revert "Add SKU to LettuceShare report"
This reverts commit 15ea64b409.
2015-12-16 13:42:58 +11:00
Rob Harrington
5d28a7fdf8 Adding SKU to Products and Inventory reports (except lettuceshare) 2015-12-16 13:37:19 +11:00
Rob Harrington
befc558224 Pulling product_and_variant_name down into VariantAndLineItemNaming, renaming to product_and_full_name
Also allowing this method to be used in reports (Xero), to reflect appropriate name for weight/volume adjusted line items
2015-12-16 11:55:24 +11:00
Rob Harrington
c91f1301f0 Adding preferences to enterprises for sorting of order cycles in shopfront list 2015-12-16 11:55:23 +11:00
Rob Harrington
e6a51bb49d Adding actions dropdown to admin order view/pages 2015-12-16 11:55:23 +11:00
Rob Harrington
ae0ad73b4a Printable Invoices Improvements for Food Connect
Adding cusotmer instructions, hiding tax column when not present, order cycle name appears at top of invoice and items are sorted by product name
2015-12-16 11:55:23 +11:00
Continuous Integration
b7edf5e046 Auto-merge from CI [skip ci] 2015-12-16 10:58:03 +11:00
Em-AK
81f244025f Update due_date in feature test
due_date = invoice_date + 1 month
2015-12-13 18:42:27 +01:00
Em-AK
fcc328f00a Display default xero invoice dates
fixes #682

* pre-fill the invoice_date and due_date in the xero report generation form
* increase the default period between invoice_date and due_date to 1 month in
XeroInvoiceReport
2015-12-13 16:42:32 +01:00
Maikel Linke
758b1f8e64 using in_stock? to filter variants in lettuceshare report 2015-12-11 15:12:28 +11:00
Maikel Linke
bb58473b90 Consider variant overrides in LettuceShare report 2015-12-11 15:12:28 +11:00
Maikel Linke
1d46c2febd LettuceShare report: display only if count_on_hand > 0
Use the inventory of a distributor if selected.
2015-12-11 15:12:27 +11:00
Maikel Linke
15ea64b409 Add SKU to LettuceShare report 2015-12-11 15:12:27 +11:00
Maikel Linke
6787709693 LettuceShare report: total in unit value column and total blank 2015-12-11 15:12:27 +11:00
Rohan Mitchell
a3874d42af Spec moved to OpenFoodNetwork::LastUsedAddress 2015-12-11 13:25:40 +11:00
Rohan Mitchell
3f8d470d23 When admin associates user with an order, look up last used address 2015-12-11 13:06:59 +11:00
Rohan Mitchell
ae3061df80 All orders specs use JS 2015-12-11 13:06:59 +11:00
Rohan Mitchell
5579fa5e0b Extract last used address finding into service object 2015-12-11 13:06:59 +11:00
Rohan Mitchell
e33ede0ec2 Include order cycle status in new order form 2015-12-11 13:06:58 +11:00
Rohan Mitchell
76d4fbccf9 Use select2 for order cycle selection 2015-12-11 13:06:58 +11:00
Rohan Mitchell
60e971ad63 Take variant overrides into account for price when admin adds line item to order 2015-12-11 13:06:57 +11:00
Rohan Mitchell
222b390b31 Fix error display 2015-12-11 13:06:57 +11:00
Rohan Mitchell
932ac45ea5 Do not show form until distribution has been chosen 2015-12-11 13:06:57 +11:00
Rohan Mitchell
80ebaece2d Sort distribution choices by name 2015-12-11 13:06:57 +11:00
Rohan Mitchell
3419198635 Disable distributors that do not have an order cycle 2015-12-11 13:06:57 +11:00
Rohan Mitchell
1026b81d0c Do not show order cycle choice until distributor is chosen 2015-12-11 13:06:57 +11:00
Rohan Mitchell
c74463404d Only show order cycle options that include the chosen distributor 2015-12-11 13:06:57 +11:00
Rohan Mitchell
2081744cf6 Fix spec 2015-12-11 13:06:57 +11:00
Rohan Mitchell
cbaf2a0cb3 Angularise edit order form 2015-12-11 13:06:57 +11:00
Rohan Mitchell
6e7b6b5dfc Tidy render partial calls and hash syntax 2015-12-11 13:06:57 +11:00
Rohan Mitchell
815694de31 Move orders/edit template from Spree 2015-12-11 13:06:57 +11:00
Rohan Mitchell
2daceb1111 Angularise new order form 2015-12-11 13:06:57 +11:00
Rohan Mitchell
eb07680f1f Inject shops and order cycles 2015-12-11 13:06:57 +11:00
Rohan Mitchell
47c23c986a Move distribution fields from override to partial 2015-12-11 13:06:56 +11:00
Rohan Mitchell
742e2279ae Tidy render partial calls 2015-12-11 13:06:56 +11:00
Rohan Mitchell
eaae16a486 Copy orders/new template from Spree 2015-12-11 13:06:56 +11:00
Continuous Integration
ae945ace9d Auto-merge from CI [skip ci] 2015-12-11 11:09:54 +11:00
Rohan Mitchell
9d5606a4fd Fix enterprise index page 500 2015-12-11 10:06:07 +11:00
Maikel Linke
cd7721a127 Using date and time of current timezone
Using Time.zone.now and Date.current instead of Time.now and Date.today.
This should make all specs timezone independent.
2015-12-10 11:38:41 +11:00
Rohan Mitchell
ee447c9ce6 Move blankOption service to admin.utils module 2015-12-10 09:35:27 +11:00
Rohan Mitchell
eba2aae353 Copy StatusMessage to admin.utils module, eventually to be moved here 2015-12-10 09:32:04 +11:00
Rohan Mitchell
c1a80b1e8f Require confirmation when saving an order cycle without distributors 2015-12-10 09:17:25 +11:00
Rohan Mitchell
6998df25e0 Fix indentation 2015-12-10 09:17:25 +11:00
Rohan Mitchell
921210012a Swap in StatusMessage service for custom message display in order cycles interface 2015-12-10 09:17:25 +11:00
Rohan Mitchell
8d270e919f Sort exchanges for display when editing an order cycle 2015-12-10 09:17:25 +11:00
Rohan Mitchell
1e397a41ae Refactor to simplify outgoing_exchange_variant_ids 2015-12-10 09:17:25 +11:00
Rohan Mitchell
243ef4ee16 When an outgoing exchange includes a variant that is not in an incoming exchange, remove it from the outgoing exchange 2015-12-10 09:17:25 +11:00
Rohan Mitchell
ea6974d438 Add OrderCycle#supplied_variants 2015-12-10 09:17:25 +11:00
Rohan Mitchell
ccb23cd186 Do not allow re-adding exchange 2015-12-10 09:17:25 +11:00
Rohan Mitchell
d4ee20455e Remove enterprise options from list when added 2015-12-10 09:17:25 +11:00
Rohan Mitchell
ef603a070e Add methods to check for novel suppliers and distributors in an order cycle 2015-12-10 09:17:25 +11:00
Rohan Mitchell
1a4448c6d2 Do not allow adding blank enterprises 2015-12-10 09:17:25 +11:00
Rohan Mitchell
a78d8fa6af Build exchange form on front-end 2015-12-10 09:17:25 +11:00
Rohan Mitchell
8c0a82f26f Provide issues summary for enterprises, pass enterprises through to controller 2015-12-10 09:17:25 +11:00
Rohan Mitchell
93c42d24c7 Extract issue detection into service object 2015-12-10 09:17:25 +11:00
Rohan Mitchell
036ffeb634 Enterprise service splits enterprises into hubs and producers 2015-12-10 09:17:25 +11:00
Rohan Mitchell
3dcbdad088 Show/hide all products 2015-12-10 09:17:25 +11:00
Rohan Mitchell
7820c31976 Show supplier as secondary in information hierarchy 2015-12-10 09:17:25 +11:00
Rohan Mitchell
d314f07887 Use flexbox to more neatly lay out order cycle products 2015-12-10 09:17:25 +11:00
Rohan Mitchell
2efaedc225 Add .exchange-products container div, fill full row with products 2015-12-10 09:17:25 +11:00
Rohan Mitchell
c5e2ed5aa1 Order outgoing products by name 2015-12-10 09:17:24 +11:00
Rohan Mitchell
8f917817b8 Fix broken styles 2015-12-10 09:17:24 +11:00
Rohan Mitchell
a2c0088c91 Do not show flash message if we're performing an async update without reload 2015-12-10 09:17:24 +11:00
Rohan Mitchell
9fef0a9909 When order cycle is updated, display message instead of reloading the page 2015-12-10 09:17:24 +11:00
Rohan Mitchell
29bfac5f54 Order cycle interface may update or update and close 2015-12-10 09:17:24 +11:00
Maikel Linke
efa7c215e2 Removing usage of SimpleCov 2015-12-04 14:51:44 +11:00
Maikel Linke
1589bd9ac3 Use mail() instead of devise_mail
The EnterpriseMailer used `devise_mail` to send confirmation
instructions. That call is more complicated than `mail` and added an
unwanted reply-to header.
2015-12-04 10:37:55 +11:00
Maikel Linke
a810a6e2b7 fix succeed_if_master_merged 2015-12-04 10:37:55 +11:00
Maikel Linke
c4fb4a8510 Removing Suburbs from the code
Suburbs are not used any more. Removing the last code bits should avoid
confusion and save a tiny bit of test time.
2015-12-04 10:37:55 +11:00
Maikel Linke
d67a5aba0e Remove script/delayed_job.sh
This version was dependent on the Australian environment. It is better
to call delayed_job directly from monit. The deployment repository has
been updated.
2015-12-04 10:37:55 +11:00
Maikel Linke
d5c4da3bf0 Not using Paperclip's to avoid HTTP calls to S3 2015-12-04 10:37:55 +11:00
Maikel Linke
261a464b50 Fixing display of shop list in group producer modal 2015-12-04 10:37:55 +11:00
Maikel Linke
0f2ae79e05 Fixing "Shop for" label on groups producer modal 2015-12-04 10:37:55 +11:00
Maikel Linke
caffdee047 Removing depricated sensor parameter for Google Maps 2015-12-04 10:37:55 +11:00
Rohan Mitchell
d320b2e7d4 Merge branch 'fix-delayed-job' into combined/producer-emails-simplify_fix-delayed-job 2015-12-02 15:06:38 +11:00
Rohan Mitchell
e8ccd35363 Simplify producer email to make it more generic 2015-12-02 15:05:49 +11:00
Rohan Mitchell
bd854bf2dd Remove receival_time from exchange, just use receival_instructions 2015-12-02 15:05:49 +11:00
Rohan Mitchell
10edb2b056 Fix delayed job startup - prevent error caused by double load 2015-12-02 10:48:50 +11:00
Rob H
86f1afae92 derp 2015-11-29 18:10:49 +11:00
Rob H
1cffd35968 Fixing up specs pertaining to full_name generation for line_items 2015-11-29 17:52:01 +11:00
Rob H
baeacfb8a9 LineItem inherits display_name from variant
Allows line_items to be named correctly.
2015-11-29 17:25:28 +11:00
Rob Harrington
7ecf5df26a Updating line items through admin controller causes enterprise fees to be recalculated 2015-11-27 15:06:49 +11:00
Rob Harrington
a5a886c51f Only test for coordination when orders actually have order_cycles 2015-11-25 15:27:27 +11:00
Rob Harrington
96aace971f Merge remote-tracking branch 'origin/master' into line_item_naming 2015-11-25 15:13:56 +11:00
Rob Harrington
6c254c534f Upgrade fog to resolve 'Digest::Digest is deprecated; use Digest' warning 2015-11-25 15:13:25 +11:00
Rob Harrington
b341c1ef8a Ensure that dates in BOM AJAX requests have timezones 2015-11-25 15:06:15 +11:00
Rob Harrington
7e6b43266f Making sure that price and final_weight_volume can be updated (by distributor or coordinator) 2015-11-25 14:23:55 +11:00
Maikel
3975eef0c4 Merge pull request #716 from openfoodfoundation/uk/i18n
#715: Add missing strings for en-GB locale.
2015-11-24 18:36:32 +11:00
Paul Mackay
a2a87cc68f #715: Add missing strings for en-GB locale. 2015-11-23 16:44:39 +00:00
Rob Harrington
4bdc1bc418 LineItem final_weight_volume is updated whenever quantity is changed, though can be set directly 2015-11-18 16:22:36 +11:00
Rob Harrington
33454a7090 Adding server validation errors messages to BOM interface 2015-11-18 14:32:29 +11:00
Rob Harrington
6268b7cc7e Printing/sending an invoice uses the same template for generating a pdf 2015-11-18 10:02:51 +11:00
Rob Harrington
75846a4d1f Merge branch 'master' into line_item_naming 2015-11-16 10:38:42 +11:00
Rob Harrington
c199e22190 Make a few BOM specs more robust 2015-11-16 10:31:41 +11:00
Rob Harrington
3b2bdb8397 Change the way changes to underlying model are watched and updated for select2 elements 2015-11-16 10:31:22 +11:00
Rob Harrington
767671c3b4 New pattern: blank Options for index drop down filters are added within service
Rather than in the controller after data is loaded
2015-11-16 10:30:44 +11:00
Rob Harrington
76414dedff Bumping coffee-script version 2015-11-16 10:27:32 +11:00
Rob Harrington
ae7fb91a9a Only reloading line_items and orders on BOM, $timeout for adding blankOption
$timeout required for adding a blank option to lists of suppliers,
distributors and orderCycles to prevent spec failures related to the
use of select2
2015-11-13 15:59:33 +11:00
Maikel Linke
229070a76b Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into i18n 2015-11-13 15:20:58 +11:00
Maikel Linke
8bfe459241 i18n fixes of html display 2015-11-13 14:22:17 +11:00
Rohan Mitchell
bb6fb2f5e8 Merge branch 'sell-food-link' into combined/add-to-cart-speed_and_sell-food-link 2015-11-13 14:03:32 +11:00
Rohan Mitchell
6de44877c8 Update link for uber-style sell food dropdown 2015-11-13 14:03:14 +11:00
Rohan Mitchell
b6f3e6eca6 Fix broken spec 2015-11-13 14:03:07 +11:00
Rohan Mitchell
a86cc96452 Use pluck instead of map 2015-11-13 14:03:07 +11:00
Rohan Mitchell
178e5f59e6 Update cart by applying differences rather than clear-and-readd every time 2015-11-13 14:03:07 +11:00
Rohan Mitchell
7fffa03d8d Fix bug: set difference comparison of string with number 2015-11-13 14:03:07 +11:00
Rohan Mitchell
888e4d80ef Add reliable way to check if cart is dirty. Previous way returned true when cart empty. 2015-11-13 14:03:07 +11:00
Rohan Mitchell
d3c7c46800 Add method to remove a variant from an order 2015-11-13 14:03:07 +11:00
Rohan Mitchell
c432ed9e08 Build list of variants removed from the cart when overwriting 2015-11-13 14:03:07 +11:00
Rohan Mitchell
e175149e76 Add method to check whether a passed-in cart value varies from the cart 2015-11-13 14:03:07 +11:00
Rohan Mitchell
1b5901317d Separate concerns: reading products hash and adding items to cart 2015-11-13 14:03:07 +11:00
Rohan Mitchell
2f4b5bad26 Make benchmark more realistic 2015-11-13 14:03:07 +11:00
Rohan Mitchell
64e8927ae9 Add benchmark: add to cart 2015-11-13 14:03:07 +11:00
Rohan Mitchell
c932d20ef5 Extract multi-sample benchmarking into a helper method 2015-11-13 14:03:07 +11:00
Maikel Linke
5d5fda3a25 Merge remote-tracking branch 'origin/master' into i18n
Conflicts:
	config/locales/en.yml
2015-11-13 10:07:29 +11:00
Rob Harrington
a96cdd5ee7 Merge branch 'master' into line_item_naming
Conflicts:
	app/views/admin/order_cycles/edit.html.haml
2015-11-13 09:54:26 +11:00
Rob Harrington
4191e2b6f0 Changing the way select filters are reset on BOM to try and fix specs 2015-11-13 09:44:57 +11:00
Rob Harrington
88fd9f72e6 Retry uncooperative BOM feature spec 2015-11-13 09:14:20 +11:00
Rob Harrington
3d36ebe2e6 Some Ransack trickery to get OrderCycles#index to load only recent OR undated OCs when no orders_close_at predicate is passed in 2015-11-12 18:29:19 +11:00
Rob Harrington
6966fbba7c Present date limits being set in line items controller .js unless orderCycleFilter has actually been set 2015-11-12 17:40:35 +11:00
Rob Harrington
2310bc95bc Committing changes to version used to bundle Gemfile.lock 2015-11-12 17:34:22 +11:00
Rob Harrington
27a5791e26 Fixing Angular Specs for line items controller 2015-11-12 17:33:12 +11:00
Rob Harrington
be8038e9d0 Merge branch 'master' into line_item_naming
Conflicts:
	lib/open_food_network/order_cycle_management_report.rb
	lib/open_food_network/packing_report.rb
2015-11-12 14:40:11 +11:00
Rob Harrington
1556d38b1e Admin Enterprise#update.json renders updated enterprises using index serializer 2015-11-12 14:30:43 +11:00
Rob Harrington
4e4de65cba Fetch undated order cycles by default for index actions 2015-11-12 12:08:39 +11:00
Rob Harrington
6e8d807408 Fixing spec using text-angular broken by upgrade of poltergeist 2015-11-12 11:35:22 +11:00
Rob Harrington
095466cb43 Fixing syntax error for new method for OCs controller 2015-11-12 10:34:09 +11:00
Rob Harrington
2719c699d7 Updating line items index spec 2015-11-12 10:06:41 +11:00
Rob Harrington
34030276d7 Cleaning up line items index (BOM) 2015-11-12 10:06:21 +11:00
Rob Harrington
330977186e Using confirm-change and select2-min-search directive for line items index 2015-11-12 10:05:14 +11:00
Rob Harrington
fc57255b40 Adding save-bar to line items index 2015-11-12 10:04:18 +11:00
Rob Harrington
266820742d Using request monitor on line items index (BOM) 2015-11-12 10:03:28 +11:00
Rob Harrington
722471a111 Allow use of completed_at for orders index ransacking
Needed to override original Spree method to allow intuitive use of
completed_at_gt and completed_at_lt
2015-11-12 10:01:35 +11:00
Rob Harrington
86b5e810e5 Only try to dereference attrs when enough information is present 2015-11-12 09:59:46 +11:00
Rob Harrington
f8a31e8864 Resetting select filters in a way that actually works 2015-11-12 09:58:55 +11:00
Rob Harrington
639472b917 WIP: Adding a request monitoring service to handle loading status 2015-11-12 09:57:02 +11:00
Rob Harrington
193325f81b Improve formatting around saving on line items index (BOM) 2015-11-12 09:52:10 +11:00
Rob Harrington
5a7cac652c Adding confirm-link directive 2015-11-12 09:49:36 +11:00
Rob Harrington
b5aaf36bd2 Create directive for scaling by a factor and then formatting as currency 2015-11-12 09:48:43 +11:00
Rob Harrington
c5a26249ea Removing unneeded directives 2015-11-12 09:47:37 +11:00
Rob Harrington
69ead3c829 Line items serialiser gives a sensible value for max_quantity 2015-11-12 09:47:12 +11:00
Rob Harrington
93caa4a11d Bumping poltergeist version to 1.7.0 2015-11-12 09:45:14 +11:00
Rohan Mitchell
e20d8d3e95 Merge branch 'master' into folklabs-producer-emails 2015-11-11 14:20:25 +11:00
Rohan Mitchell
fb3e292e20 Formatting 2015-11-11 11:53:04 +11:00
Rohan Mitchell
f499dd627a with_tax_included_in_price handles exceptions gracefully 2015-11-11 11:53:04 +11:00
Rohan Mitchell
8e1bade355 Move adjustment specs to their own spec file 2015-11-11 11:53:04 +11:00
Rohan Mitchell
a32321df68 Clarify label 2015-11-11 11:53:04 +11:00
Rohan Mitchell
5a29311137 Choose a more sensible default tax rate: one that calculates to the same amount as the current adjustment tax 2015-11-11 11:53:04 +11:00
Rohan Mitchell
3e7a12cca1 Rename spec support method for faster tab completion on save_and_open_page 2015-11-11 11:53:04 +11:00
Rohan Mitchell
81a6e07d5c Admin can remove tax on an adjustment 2015-11-11 11:53:04 +11:00
Rohan Mitchell
727ecae62b Admin can modify a taxed adjustment on an order 2015-11-11 11:53:04 +11:00
Rohan Mitchell
85e45fa558 Use select2 2015-11-11 11:53:04 +11:00
Rohan Mitchell
83c0093665 Admin can include tax when creating an adjustment 2015-11-11 11:53:04 +11:00
Rohan Mitchell
46a9304ae1 Extract compute_tax from EnterpriseFeeApplicator to Spree::TaxRate model 2015-11-11 11:53:04 +11:00
Rohan Mitchell
d794981ecf Add form field to set tax when creating adjustment on order. Display tax included in adjustments on order interface. 2015-11-11 11:53:04 +11:00
Rohan Mitchell
6476ce6ba9 Make spec more resilient 2015-11-10 15:05:45 +11:00
Maikel Linke
a06b452e7e updated norwegian locale 2015-11-07 16:42:35 +11:00
Maikel Linke
0b6cbb43d6 updated locale nb.yml 2015-11-06 11:56:25 +11:00
Rob Harrington
27903a46e6 Adding new save-bar directive for handling save actions for index pages 2015-11-06 09:53:31 +11:00
Rob Harrington
330882c689 Pulling out styling for red buttons in admin into more generic .red class 2015-11-06 09:52:48 +11:00
Rob Harrington
b1bac703ed WIP: BOM Refactor, delete line_items using ngResource, updating data requests in line_items_controller 2015-11-05 17:50:18 +11:00
Rob Harrington
bf6bd2dc68 Hack down routes available for Admin::LineItemsController 2015-11-05 17:18:32 +11:00
Rob Harrington
eb7b2e7a3b Use ams_prefix not ams_suffix! 2015-11-05 17:17:45 +11:00
Rob Harrington
73c80cb5e5 Ordering index orders within query 2015-11-05 17:11:13 +11:00
Rob Harrington
6769c2c729 Can pass params for order or line items into LineItemsController#index 2015-11-05 17:07:47 +11:00
Rob Harrington
afef9e3211 WIP: BOM Refactor, building order_cycle fetch and update logic with ngResource 2015-11-05 15:13:19 +11:00
Rob Harrington
a9e5f2912f WIP: Fixing Orders service specs 2015-11-05 14:48:26 +11:00
Rob Harrington
66d1e4297e WIP: Renaming admin.order_cycles to admin.orderCycles for consistency 2015-11-05 14:40:42 +11:00
Maikel Linke
5e59048705 i18n typo 2015-11-05 14:39:33 +11:00
Rob Harrington
4d4e2d4abd WIP: Moving order_cycle controller into order_cycles folder 2015-11-05 14:38:01 +11:00
Rob Harrington
db4e8382e4 Oops, updating template to make order filtering work 2015-11-05 14:05:14 +11:00
Rob Harrington
51762753f4 WIP: BOM Refactor, adding json route for OrderCyclesController#index, loading OCs based on show_more or specific order_close_at_gt 2015-11-05 14:04:29 +11:00
Rob Harrington
2483eef4be WIP: BOM Refactor, removing obsolete OrderCycle.recently_closed scope, ordering closed OCs 2015-11-05 14:02:04 +11:00
Maikel Linke
38d2616ea0 No need to empty cache if I18n asset depends on locale 2015-11-05 12:50:11 +11:00
Rohan Mitchell
5db64b6f21 Update travis config and README with new ruby version 2015-11-05 12:48:22 +11:00
Maikel Linke
0505a45de5 Invalidate I18n asset if locale changes 2015-11-05 12:47:15 +11:00
Rob Harrington
e96fa967b8 WIP: BOM refactor, rebuilding bulk orders controller as line items controller using new AJAX routes 2015-11-05 11:54:36 +11:00
Maikel Linke
8b29612614 Merge remote-tracking branch 'origin/master' into i18n 2015-11-05 11:54:06 +11:00
Maikel Linke
90d52151b6 Updated fr.yml 2015-11-05 11:53:38 +11:00
Rohan Mitchell
6666de96b2 Update ruby version used in CI 2015-11-05 11:24:12 +11:00
Rob Harrington
b7d92786d0 Bumping ruby version to 2.1.5 2015-11-05 11:09:22 +11:00
Rob Harrington
d731d4e803 Making sure flash is a hash so that is can be used to initialize OpenStuct 2015-11-05 11:09:21 +11:00
Rob Harrington
2277b9f5a6 Changing ruby version in version manager config 2015-11-05 11:09:21 +11:00
Rob Harrington
aef8b9648e Initial upgrade of Gemfile 2015-11-05 11:09:21 +11:00
Rohan Mitchell
65589d25c6 Display more verbose product and variant name 2015-11-05 09:50:00 +11:00
Rohan Mitchell
5ffad4d343 Fix quantity calculation 2015-11-05 09:43:44 +11:00
Rob Harrington
50a551a87e Coffeescript! 2015-11-04 18:35:14 +11:00
Rob Harrington
1494389d34 WIP: BOM Refactor, organising admin.products files in appropriate folders 2015-11-04 18:28:53 +11:00
Rob Harrington
b43049af47 WIP: BOM Refactor, building line_item fetch and update logic with ngResource 2015-11-04 18:16:17 +11:00
Rob Harrington
f563f04f1c WIP: BOM Refactor, building order fetch and update logic with ngResource, updating rails routes 2015-11-04 16:35:56 +11:00
Rob Harrington
ae7e744644 WIP: BOM Refactor, adding for_line_items action to enterprises controller 2015-11-04 15:02:29 +11:00
Rob Harrington
625e0888ea Adding logic to Admin::BaseController to standardise rendering of data with AMS 2015-11-04 12:10:50 +11:00
Rohan Mitchell
a3d638df67 Merge branch 'master' into folklabs-producer-emails 2015-11-04 11:15:01 +11:00
Rohan Mitchell
9227df54b6 Display detail rows for admin adjustments 2015-11-01 15:19:03 +11:00
Rohan Mitchell
015f3eb9ac Display summary rows for admin adjustments 2015-11-01 13:42:59 +11:00
Maikel Linke
fd747f9012 Updated French locale 2015-10-30 12:20:12 +11:00
Lynne Davis
7350dbb75e Adding tweaks that have been missed from merges 2015-10-30 11:54:06 +11:00
Rohan Mitchell
94e1264aef Add rspec-retry for inconsistently failing spec 2015-10-29 16:01:39 +11:00
Maikel Linke
aec3980a93 Merge remote-tracking branch 'origin/master' into i18n 2015-10-29 14:56:17 +11:00
Maikel Linke
4eed222f18 Fixed several i18n issues reported by Myriam 2015-10-29 14:55:38 +11:00
Rohan Mitchell
f63a80300b Merge branch 'master' into folklabs-producer-emails 2015-10-29 11:49:24 +11:00
Rohan Mitchell
87cf3eda41 Amend 'Detailed orders breakdown' heading with missing content 2015-10-29 11:48:12 +11:00
Rob Harrington
02423d3a41 Using rails time zone account invoice job specs 2015-10-28 16:51:18 +11:00
Rob Harrington
cb1f79f59a Updating front end order details, invoices and pdfs to display names of line_items as opposed to variants 2015-10-28 15:42:14 +11:00
Rob Harrington
18a7317185 Merge branch 'account-invoices' into line_item_naming
Conflicts:
	app/models/spree/line_item_decorator.rb
2015-10-28 13:42:27 +11:00
Rob Harrington
c5810fc003 Improving BOM form validation 2015-10-28 13:08:50 +11:00
Rob Harrington
f60b6994eb Wrapping line_item update with order.update_distribution_charge inside lock 2015-10-28 13:08:50 +11:00
Rob Harrington
50b3635e7e Locking line_items on API update 2015-10-28 13:08:50 +11:00
Rob Harrington
ab7bfd10c5 Revert "Renaming options_text to unit_text so that we can use method from included VariantAndLineItemNaming module"
This reverts commit e86e08b72e939fee61eddd41d56081395666a877.

Conflicts:
	lib/open_food_network/order_and_distributor_report.rb
	spec/features/admin/variants_spec.rb
	spec/lib/open_food_network/order_and_distributor_report_spec.rb
2015-10-28 13:08:50 +11:00
Rob Harrington
cdb0c2db33 Admin Orders show page uses line_item.full_name to describe line_items 2015-10-28 13:07:32 +11:00
Rob Harrington
21e5895a8a Group Buy panel on BOM takes changes to final_weight_volumes into account 2015-10-28 13:07:32 +11:00
Rob Harrington
33e1322a44 Adding form validation to BOM 2015-10-28 13:07:32 +11:00
Rob Harrington
b08556ec7f WIP: Making final_weight_volume adjustment a bit nicer 2015-10-28 13:07:31 +11:00
Rob Harrington
a71999ba84 Weight only returned for products whose variant_unit is 'weight' 2015-10-28 13:07:31 +11:00
Rob Harrington
2d468f5022 Fixing attr_accessible for line_items (broken in previous commit) 2015-10-28 13:07:31 +11:00
Rob Harrington
eba13a0dd7 Line items inherit units from variants upon creation 2015-10-28 13:07:31 +11:00
Rob Harrington
1946bac8e4 Fixing report spec that cares about table title case 2015-10-28 13:07:31 +11:00
Rob Harrington
e52f7165c3 Overriding any last references to options_text in the spree codebase 2015-10-28 13:07:31 +11:00
Rob Harrington
6dfae1b014 Whitespace crusader 2015-10-28 13:07:31 +11:00
Rob Harrington
40972cc6ec Updating reports to use naming information from line_items directly, rather than from the original variant 2015-10-28 13:07:31 +11:00
Rob Harrington
795830d94d Renaming options_text to unit_text so that we can use method from included VariantAndLineItemNaming module 2015-10-28 13:07:31 +11:00
Rob Harrington
039fcb80eb Extracting variant and option_value naming out into a lib class that is now shared between line items and variants, line_items have option_values 2015-10-28 13:06:10 +11:00
Rob Harrington
6a70c162bb Account invoice jobs run according to rails config time zone rather than system time zone 2015-10-23 12:33:05 +11:00
Maikel Linke
0fd29dd32e use expect in bulk_order_management_spec 2015-10-22 13:43:15 +11:00
Maikel Linke
bbeeb8a493 Merge remote-tracking branch 'origin/master' into i18n 2015-10-22 11:03:42 +11:00
Maikel Linke
6c1619ba60 i18n more content 2015-10-22 11:03:35 +11:00
Maikel Linke
df34f6ef8e using default_locale for precompiled assets 2015-10-22 10:50:29 +11:00
Maikel Linke
dc8166ec84 New CI script to check test state via GitHub API 2015-10-21 16:29:41 +11:00
Rob Harrington
ef08977dbe Prevent invoices from being sent unless the distributor of an order has set their ABN 2015-10-21 16:23:48 +11:00
Rob Harrington
9b2653aa2d Updating order invoice template to be more legally compliant 2015-10-21 15:52:14 +11:00
Maikel Linke
adf0a84669 Use ! version of find_by_permalink to recover on missing resource 2015-10-21 15:42:28 +11:00
Maikel Linke
7163664725 updated locales fr and nb 2015-10-21 14:36:02 +11:00
Maikel Linke
2053fbecda Merge branch 'i18n-replace-strings-in-js' into i18n
Conflicts:
	.travis.yml
	app/views/spree/order_mailer/confirm_email_for_customer.html.haml
	config/locales/en.yml
2015-10-21 14:09:43 +11:00
Maikel Linke
6781051fe6 enabling Travis container-based infrastucture 2015-10-21 10:27:16 +11:00
Maikel Linke
2357f46a4e CI scripts use env vars
The CI scripts are configurable through the environment. They had
hardcoded configurations before. The Australian BuildKite setup will
need global environment variables like this:

STAGING_SSH_HOST=ofn-staging2
STAGING_CURRENT_PATH=/home/openfoodweb/apps/openfoodweb/current
STAGING_SERVICE=unicorn_openfoodweb
STAGING_DB_HOST=localhost
STAGING_DB_USER=openfoodweb
STAGING_DB=openfoodweb_production
PRODUCTION_REMOTE=production:/home/openfoodweb/apps/openfoodweb/current
2015-10-21 10:04:29 +11:00
Maikel Linke
8bd78eb139 spec_helper for lib/open_food_network/permissions_spec.rb 2015-10-21 10:04:29 +11:00
Maikel Linke
f152e4054c Remove obsolete deface 2015-10-21 10:04:29 +11:00
Maikel Linke
62d31f79ed Remove obsolete deface 2015-10-21 10:04:28 +11:00
Maikel Linke
2ea1a59666 depricating db2fog.rb initializer due to invalid bucket name
Once everybody changed their server config, we can remove that file.
2015-10-21 10:04:28 +11:00
Maikel Linke
a95727b376 running all specs in Travis 2015-10-21 10:04:28 +11:00
Maikel
b35df3c945 Travis config for parallel execution on five nodes
This Travis configuration runs rspec on five build machines in parallel. Currently, that takes 15 to 20 minutes.
2015-10-21 10:04:28 +11:00
Rohan Mitchell
421774e46c Do not send producer notifications when the producer has no orders for this order cycle 2015-10-17 11:02:47 +11:00
Rob Harrington
5b3e052f78 Using a compiled stylesheet for pdf styling 2015-10-16 21:36:18 +11:00
Rob Harrington
47fb2270bd Making spec do the right thing 2015-10-16 17:25:40 +11:00
Rob Harrington
f12fd7b4a3 Adding button for print action to admin orders show page 2015-10-16 17:25:40 +11:00
Rob Harrington
40d627cb34 Adding new route for printing an order to pdf 2015-10-16 17:25:40 +11:00
Rob Harrington
6e7fc6a0f7 Adding invoice action to orders controller, to allow sending of invoice email 2015-10-16 17:25:40 +11:00
Rob Harrington
104b100fe6 Pulling distributor signoff out into separate partial 2015-10-16 17:25:39 +11:00
Rob Harrington
3a505abfc7 Adding WickedPDF for generation of order invoices 2015-10-16 17:25:39 +11:00
Rohan Mitchell
ecc3bad8c8 Merge branch 'master' into folklabs-producer-emails 2015-10-16 12:38:54 +11:00
Rohan Mitchell
13fc36bad6 Reorder methods 2015-10-15 12:00:40 +11:00
Rohan Mitchell
a766f007fc Display xero report for account invoices 2015-10-15 11:57:51 +11:00
Rohan Mitchell
4fbeb0c3b1 Check if an order is an account invoice 2015-10-15 10:05:27 +11:00
Rohan Mitchell
de80e6d5bf Find adjustments for billable periods 2015-10-15 09:58:22 +11:00
Rohan Mitchell
92f7b72056 Check whether an individual adjustment has tax included 2015-10-15 09:58:06 +11:00
Rob Harrington
b22d591775 BillablePeriods don't get updated when account_invoice has been finalized 2015-10-14 14:36:38 +11:00
Rob Harrington
1ad0f95536 Updating Billable Periods job ignores versions of enterprises created in the future 2015-10-14 14:36:38 +11:00
Rob Harrington
a71410042f Ensuring that account invoice orders have an address 2015-10-14 14:36:37 +11:00
Rob Harrington
815df3d667 Only clean up account invoice orders that aren't already complete, don't attempt to destroy persisted account_invoice orders 2015-10-14 14:36:37 +11:00
Rohan Mitchell
27741863c5 Add simple contribution guide 2015-10-09 15:21:58 +11:00
Maikel Linke
1751a95909 place I18n init at right place in karma task 2015-10-09 11:40:12 +11:00
Maikel Linke
c169e4af92 rename locale nor to nb 2015-10-09 10:43:55 +11:00
Maikel Linke
7d379dbe4b sort travis sets by run time 2015-10-09 10:23:48 +11:00
Maikel Linke
5f80043857 using translate filter instead of root scope function with parameters 2015-10-09 10:21:26 +11:00
Maikel Linke
e9d1cf6eb5 using translate filter instead of root scope function 2015-10-08 18:09:11 +11:00
Maikel Linke
d2470685cd clearing tmp cache with rake 2015-10-08 18:08:21 +11:00
Maikel Linke
a4db4ee782 Merge remote-tracking branch 'off/travis-parallel' into i18n-replace-strings-in-js 2015-10-08 16:07:52 +11:00
Maikel
9115e1175e Travis config for parallel execution on five nodes
This Travis configuration runs rspec on five build machines in parallel. Currently, that takes 15 to 20 minutes.
2015-10-08 15:24:48 +11:00
Maikel Linke
56fd91f82b CI server has to empty the cache if language files changed 2015-10-07 19:10:44 +11:00
Maikel Linke
d62775a785 update specs and fix labels yes and no 2015-10-07 18:05:59 +11:00
Maikel Linke
8b40d094ee new translate filter and updated specs for js translations 2015-10-07 15:47:51 +11:00
Maikel Linke
91fae79be4 Update tests for new label "Login" 2015-10-07 14:06:34 +11:00
Maikel Linke
5aa3ebde9c Set the locale to "en" in test environment. 2015-10-07 14:05:50 +11:00
Maikel Linke
bd737ef727 I18n object file for karma 2015-10-01 16:38:47 +10:00
Maikel Linke
31e7ca9fa2 locale data as js asset 2015-10-01 15:54:46 +10:00
Maikel Linke
0eed8b4578 better testing of existence of I18n 2015-10-01 14:16:59 +10:00
Maikel Linke
6b1e66ed26 Renamed no.yml to nor.yml due to error caused by using "no" 2015-10-01 13:53:10 +10:00
Maikel Linke
da42032d92 Merge remote-tracking branch 'origin/master' into i18n-replace-strings-in-js 2015-10-01 11:15:22 +10:00
Maikel Linke
143c005f0a Merge remote-tracking branch 'origin/i18n-replace-strings-in-views' into i18n-replace-strings-in-js 2015-10-01 11:15:01 +10:00
Maikel Linke
ae96541112 Internationalisation of Javascript views 2015-10-01 11:13:45 +10:00
Maikel Linke
f8725a0174 Removing unused JS partial 2015-10-01 11:12:31 +10:00
Rohan Mitchell
9c6264c4a0 On detailed xero report, do not show product totals (xero treats them as additional line items) 2015-09-25 13:52:51 +10:00
Rohan Mitchell
10bc3919ca Add SKU to detailed xero report 2015-09-22 09:28:50 +10:00
Rohan Mitchell
b5bc4701fa Detailed xero report 2015-09-22 09:15:55 +10:00
Rohan Mitchell
7552776349 Add product_and_variant_name display for Variant 2015-09-21 16:49:31 +10:00
Rohan Mitchell
8f40702369 Line items report whether they have tax included 2015-09-21 15:57:04 +10:00
Rob Harrington
9dc0598870 Adding fix to prevent account_invoice orders from being sucked into the frontend as normal orders 2015-09-18 17:25:34 +10:00
Maikel
4f05b9c28d Changing en: to fr: in French locale file 2015-09-18 09:38:21 +10:00
Maikel
aa4f1f1dec Fixing syntax typo in Norwegian language file 2015-09-18 09:37:35 +10:00
Rob Harrington
14fbeda29e Adding bugsnag notification for case where account_invoice order has errors 2015-09-17 22:38:29 +10:00
Rob Harrington
1c6f3f4877 Translating words on admin accounts page 2015-09-17 22:38:29 +10:00
Rob Harrington
2dcbe2b4f2 Updating the admin account view to show use the new account_invoice model to display data 2015-09-17 22:38:29 +10:00
Rob Harrington
27384439f8 Fixing edge case in update_billable_periods job 2015-09-17 22:38:29 +10:00
Rob Harrington
13adb61b3a Refactoring invoice update process to use new AccountInvoice model 2015-09-17 22:38:29 +10:00
Rob Harrington
77c10dafd6 Linking billable_periods to the relevant account_invoice upon creation 2015-09-17 22:38:29 +10:00
Rob Harrington
4a8f9d1e36 Adding reference to account_invoice for each billable_period 2015-09-17 22:38:29 +10:00
Rob Harrington
0debdcdd9c Renaming files from user_invoice to account_invoice 2015-09-17 22:38:28 +10:00
Rob Harrington
ae30007fed Redesignating all references to user_invoices as account_invoices 2015-09-17 22:38:28 +10:00
Rob Harrington
aa183dc9e0 Account Invoice jobs run by specifying a year and month rather than a specific start and end times 2015-09-17 22:38:28 +10:00
Rob Harrington
b1285cd07f WIP: Adding AccountInvoice model to more robustly record information about enterprise user invoices 2015-09-17 22:38:28 +10:00
Rob Harrington
79497d28d2 Associating billable periods with the relevant adjustment, and moving labelling logic to model 2015-09-17 22:38:13 +10:00
Rob Harrington
5eb20fd8cd Adding tax settings for billing enterprise users 2015-09-17 22:38:13 +10:00
Rob Harrington
01c9560a19 Account page reads from created at date of invoice 2015-09-17 22:38:13 +10:00
Rob Harrington
6cc403cd92 Preventing double creation of invoices by recognising completed invoices within the specifed period 2015-09-17 22:38:13 +10:00
Rob Harrington
11c3cf5f71 Pushing setting validation for accounts jobs into separate methods capable of logging errors to bugsnag 2015-09-17 22:38:12 +10:00
Rob Harrington
448bd12e9f Adding billing tasks to whenever schedule 2015-09-17 22:38:12 +10:00
Rob Harrington
204a3275ac Sorting billable_periods before adding adjustments to user invoices, partly for sanity, partly so that specs works in a logical way 2015-09-17 22:38:12 +10:00
Rob Harrington
6665f9b4a0 Adding global settings for controlling automatic scheduling of accounts tasks 2015-09-17 22:38:12 +10:00
Rob Harrington
ddb0aa4e74 Billable periods from the future are not obsolete 2015-09-17 22:38:12 +10:00
Rob Harrington
aa8e486a45 Look for job names without 'Struct', now that we aren't using structs 2015-09-17 22:38:12 +10:00
Rob Harrington
619c4959ff Removing button for updating billable periods from accounts and billing settings page 2015-09-17 22:38:12 +10:00
Rob Harrington
1b2a06572b Converting accounts jobs to classes, which allows initialization with start and end dates 2015-09-17 22:38:12 +10:00
Rob Harrington
cc26321ab2 Billable Period Updater does not run when end_date is in the future 2015-09-17 22:38:11 +10:00
Rob Harrington
fb01f6d32a User Invoice Finalizer does not run when end_date is in the future 2015-09-17 22:38:11 +10:00
Rob Harrington
0fbd26a3c5 User Invoice Updater does not run when end_date is in the future 2015-09-17 22:38:11 +10:00
Rob Harrington
6f3fad5864 Adding comments 2015-09-17 22:38:11 +10:00
Rob Harrington
5f61952785 UpdateUserInvoices can be run for a specific month 2015-09-17 22:38:11 +10:00
Rob Harrington
128b6853f4 Styling tweaks to the admin account page 2015-09-17 22:38:11 +10:00
Rob Harrington
bed3815df5 User invoice updater formats date strings in localtime 2015-09-17 22:38:11 +10:00
Rob Harrington
7c5816af82 Switching accounts interface over to showing invoices 2015-09-17 22:38:10 +10:00
Rob Harrington
15df1f7f26 Tightening up user selection in UpdateUserInvoices job 2015-09-17 22:38:10 +10:00
Rob Harrington
065bc087d5 Invoice updater cleans up obsolete billable adjustments, ignore billable adjustments without bills and destroys empty invoices 2015-09-17 22:38:10 +10:00
Rob Harrington
c53b5f3edb Adding finalize step to accounts and billing settigns page + controller 2015-09-17 22:38:10 +10:00
Rob Harrington
60cd5ce879 Splitting out invoice finalization as a separate step 2015-09-17 22:38:10 +10:00
Rob Harrington
8bbda5715d Adding basic template for account page 2015-09-17 22:38:10 +10:00
Rob Harrington
92eb5ed367 Adding routes for a new admin account page for users to manage their billing preferences and access invoices 2015-09-17 22:38:10 +10:00
Rob Harrington
70de4fd1fd Touching unchanged billable_periods to prevent them from being marked for deletion 2015-09-17 22:38:10 +10:00
Rob Harrington
c2c0c3684d Refactoring accounts and billing settings controller, adding start_job action 2015-09-17 22:38:09 +10:00
Rob Harrington
38e3690f56 Adding route for start_job action on accounts and billing settings controller 2015-09-17 22:38:09 +10:00
Rob Harrington
2048800c43 Billable periods updater does not auto-run user invoices updater 2015-09-17 22:38:09 +10:00
Rob Harrington
cc0f1ccfa7 Update Billable Periods automatically runs Update User Invoices immediately afterwards 2015-09-17 22:38:09 +10:00
Rob Harrington
d3e8966e65 Update User Invoices job does not run unless necessary global settings have been configured 2015-09-17 22:38:09 +10:00
Rob Harrington
e6f6a3ad81 Commenting out global configs for nightly job switches, use a button to manually run jobs instead (for now) 2015-09-17 22:38:09 +10:00
Rob Harrington
160c0d75fe Confirmation emails do not get send for orders distributed by accounts_distributor 2015-09-17 22:38:09 +10:00
Rob Harrington
f2389ee672 User Invoice Updater finalizes user invoices using global preferences for payment method and shipping method 2015-09-17 22:38:08 +10:00
Rob Harrington
0812643136 Adding views and feature spec for updating default payment and shipping method 2015-09-17 22:38:08 +10:00
Rob Harrington
3e9a61a693 Adding js infrastructure to dynamically fetch available payment and shipping methods for accounts distributor 2015-09-17 22:38:08 +10:00
Rob Harrington
e3e59d76a9 Adding global config for setting default payment and shipping methods for accounts distributor 2015-09-17 22:38:08 +10:00
Rob Harrington
65c26296bd Billable period updater cleans up untouched billable periods for the current billing period 2015-09-17 22:38:08 +10:00
Rob Harrington
9c4ed5f092 Enterprises have billable_periods 2015-09-17 22:38:08 +10:00
Rob Harrington
f0fa696d2f Default scope for BPs ignores deleted records 2015-09-17 22:38:08 +10:00
Rob Harrington
4d58faefd8 Adding timestamps to billable periods 2015-09-17 22:38:08 +10:00
Rob Harrington
311ffc3dc9 wip: user invoice updater finalizes orders on the first of the month 2015-09-17 22:37:56 +10:00
Rob Harrington
d51c69d353 WIP: User invoice updater adds adjustments to current_invoice for each relevant billable_period 2015-09-17 22:37:56 +10:00
Rob Harrington
ee8a86d495 User model can generate a current invoice for enterprise users 2015-09-17 22:37:56 +10:00
Rob Harrington
fa8c3d65dc Adding settings for global accounts and billing setup 2015-09-17 22:37:56 +10:00
Rob Harrington
b4e58a1a79 WIP: Basic structure for daily job to update user invoices 2015-09-17 22:37:55 +10:00
Rob Harrington
550434dfe8 Renaming bill_items to billable_periods 2015-09-17 22:37:55 +10:00
Rob Harrington
fc44e57171 Finishing refactor of bill item updater spec 2015-09-17 22:37:45 +10:00
Rob Harrington
77f735c722 WIP: Refactoring bill item updater specs 2015-09-17 22:37:45 +10:00
Rob Harrington
b736e209ca Bill Item Update handles enterprises created part-way through the month 2015-09-17 22:37:45 +10:00
Rob Harrington
af2bc99c71 Clean up update_bill_items spec after refactor 2015-09-17 22:37:44 +10:00
Rob Harrington
924b3b4cc3 Refactoring update_bill_items job 2015-09-17 22:37:44 +10:00
Rob Harrington
b724745acc WIP: First take at a nightly job for calculating turnover for enterprises 2015-09-17 22:37:44 +10:00
Rob Harrington
bbe25da117 Adding paper_trail verisoning RSpec helpers 2015-09-17 22:37:44 +10:00
Rob Harrington
77e361dd52 Adding shop_trial_expiry method to enterpise model 2015-09-17 22:37:44 +10:00
Rob Harrington
083d7327bc Adding BillItem to database 2015-09-17 22:37:44 +10:00
Rob Harrington
2fa217df56 Adding paper_trail to enterprise model, to track changes to owner_id and sells 2015-09-17 22:37:33 +10:00
Rob Harrington
6489848eff Adding paper_trail gem 2015-09-17 22:37:33 +10:00
sigmundpetersen
b8e40d799b Added translations 2015-09-17 14:18:09 +02:00
Continuous Integration
205a7f1673 Auto-merge from CI [skip ci] 2015-09-17 09:16:20 +10:00
Maikel Linke
2e591b98e1 remove unused javascript 2015-09-16 16:52:26 +10:00
Maikel Linke
0b4a43d77a Merge remote-tracking branch 'origin/master' into i18n-replace-strings-in-views
Conflicts:
	app/views/shared/menu/_cart.html.haml
	app/views/spree/order_mailer/confirm_email_for_shop.html.haml
2015-09-16 16:32:16 +10:00
Maikel Linke
ce87ea54cd Merge branch 'i18n-replace-strings-in-views' of github.com:openfoodfoundation/openfoodnetwork into i18n-replace-strings-in-views 2015-09-16 16:24:38 +10:00
Maikel Linke
637e5c4fee PermalinkGenerator for products 2015-09-16 15:45:10 +10:00
Maikel Linke
ecca23488d Merge branch 'ci-handling-git-tags' into combined/deadlock-js-spec_ci-git-tags_product-permalinks 2015-09-16 15:43:13 +10:00
Maikel Linke
2488411b94 JS feature specs completing before cleaning db
Some specs ran into a deadlock when the Database::Cleaner tried to do
its job while AJAX requests were still triggering other actions.
2015-09-16 15:38:09 +10:00
Maikel Linke
3f822ed0e3 trying to get rid of intermittent failures 2015-09-16 13:06:32 +10:00
Maikel Linke
33af6cbfb1 Specs pending for lagging JS spec test 2015-09-16 11:24:44 +10:00
Maikel Linke
326c972f63 Handling nil in final_weight_volume calculation 2015-09-16 10:12:59 +10:00
Myriam
11892ffe21 creation of the french translation file 2015-09-14 14:42:37 +02:00
Maikel Linke
10cd654ff5 CI Handling git tags
Buildkite is running tags like branches. This caused `git branch`
commands to fail. The function got extended to handle tags as well.
Ideally, Buildkite will offer an option not to rebuild tags.
2015-09-11 15:41:44 +10:00
Maikel Linke
51064f31a3 Merge remote-tracking branch 'origin/master' into uk-variable-weights-improvements 2015-09-10 16:05:28 +10:00
Maikel Linke
e25805aa78 Restoring all changes of the last combined branch
This reverts commit 1e55e8a907.
2015-09-10 15:03:13 +10:00
Maikel Linke
1e55e8a907 Reverting all changes of the last combined branch
The production server hangs on certain requests. To rule out a code bug,
we revert to the last deployed version.
2015-09-10 12:50:40 +10:00
Maikel Linke
47d239ee3a fix for intermittent capybara click failure
This fix might have to be applied at more places. We will see what CI
says...
2015-09-09 17:08:42 +10:00
Maikel Linke
2e2e767564 always displaying group_buy_unit_size 2015-09-09 12:22:28 +10:00
Myriam
3e53decd85 Delete fr.yml 2015-09-04 15:25:53 +02:00
Myriam
4f0e75893e Create fr.yml 2015-09-04 15:22:19 +02:00
Maikel Linke
f0709d5e46 Merge branch 'show-only-visible-shops' into combined/shopfront_group-buy_customer-contact 2015-09-04 21:49:12 +10:00
Maikel Linke
e8ce9feb52 Merge branch 'customers-link' into combined/shopfront_group-buy_customer-contact 2015-09-04 21:48:58 +10:00
Maikel Linke
a3074fa51e Merge branch 'customer-contact-in-order-email' into combined/shopfront_group-buy_customer-contact 2015-09-04 21:47:35 +10:00
Maikel Linke
c1cbf9a35c Merge branch 'group-by-unit-size-display' into combined/shopfront_group-buy_customer-contact 2015-09-04 21:47:22 +10:00
Maikel Linke
8dffb772dc Merge branch 'shopfron-validation' into combined/shopfront_group-buy_customer-contact 2015-09-04 21:47:08 +10:00
Maikel Linke
60b2596774 disable max quantity unless min quantity is set 2015-09-04 16:56:51 +10:00
Maikel Linke
6a2af09006 rounding decimal quantities in shopfront 2015-09-04 16:15:02 +10:00
Maikel Linke
d9b1215a01 Update clicking checkout in spec 2015-09-04 10:54:50 +10:00
sigmundpetersen
e61abb92d2 Create no.yml 2015-09-03 12:16:58 +02:00
Maikel Linke
0895bd8647 Non-integer values cannot be entered into shop front quantities 2015-09-03 17:42:26 +10:00
Maikel Linke
2e3ff8f5c6 doubling cart buttons 2015-09-03 15:52:54 +10:00
Maikel Linke
93f6667c4b Update products group by spec 2015-09-03 15:01:28 +10:00
Maikel Linke
23355d1a25 include order email and phone number in email for shop 2015-09-03 14:46:08 +10:00
Maikel Linke
0fdd000589 Showing Bulk Unit Size in BulkCoopReport
The group_buy_unit_size field is now shown even if 'group buy' is not
enabled. And "Group By Unit Size" is now displayed as "Bulk Unit Size".
2015-09-03 12:26:40 +10:00
Maikel Linke
57caeb64c5 Remove unused product form partial 2015-09-03 12:24:57 +10:00
Maikel Linke
832f47d6b0 fix i18n typo 2015-09-02 16:58:04 +10:00
Continuous Integration
d3e66bcfa5 Auto-merge from CI [skip ci] 2015-09-02 14:44:05 +10:00
Maikel Linke
415dac3ae3 Updating spec for new Login label 2015-08-28 21:12:56 +10:00
Maikel Linke
8b6f5b4a99 Updating spec for new Login label 2015-08-28 18:37:24 +10:00
Continuous Integration
06010bd8ad Auto-merge from CI [skip ci] 2015-08-28 17:04:53 +10:00
Maikel Linke
85c99102dd i18n: Replacing all language strings in app/view/
Languages strings were moved to config/locale/en.yml. All views contain
according calls to t() now.
2015-08-28 16:59:23 +10:00
Maikel Linke
1a96ef88bc Hiding invisible hubs in producer modal 2015-08-28 10:49:36 +10:00
Maikel Linke
d682a29a65 Admin menu contains link to /admin/customers 2015-08-28 10:31:53 +10:00
Maikel Linke
ced254919a Updating JS spec 2015-08-27 14:54:46 +10:00
Maikel Linke
64834dd50a Fixing display of cloned products
The producer and the unit is displayed again.
2015-08-27 13:05:09 +10:00
Maikel Linke
5d34b711e9 Handling undefined customer tags 2015-08-26 15:01:20 +10:00
Maikel Linke
4f7f2e2035 Displaying customer tags 2015-08-26 10:14:03 +10:00
Continuous Integration
d595e1558a Auto-merge from CI [skip ci] 2015-08-26 10:03:13 +10:00
Maikel Linke
5ccae9cfab Redirecting /products/:id to / 2015-08-21 15:18:31 +10:00
Maikel Linke
adc20e9e4e Handling tax categories without tax rates 2015-08-21 15:16:00 +10:00
Continuous Integration
03627e2ef2 Auto-merge from CI [skip ci] 2015-08-21 13:41:02 +10:00
Rohan Mitchell
3e5028b6b9 Revise lettuceshare report - combine grower and cert cols, add column headings 2015-08-16 11:06:52 +08:00
Rohan Mitchell
e843beaf18 Remove enterprise address from order confirmation and mailer, since in these contexts the pickup location will be specified elsewhere. #636 2015-08-07 14:19:48 +10:00
Rohan Mitchell
170799f65f Add permission for hub enterprise users to use xero report #628 2015-08-07 13:37:37 +10:00
Rohan Mitchell
9e1788a6b0 Apply migrations to db/schema.rb 2015-08-07 12:03:43 +10:00
Rohan Mitchell
719ddea789 Merge branch 'variable-weights-improvements' of https://github.com/lin-d-hop/openfoodnetwork into lin-d-hop-variable-weights-improvements 2015-08-07 11:10:07 +10:00
Rohan Mitchell
3eea002a0c Put rspec-retry on flaky specs 2015-08-07 11:06:16 +10:00
Rohan Mitchell
6f4dc6943e Add first cut of LettuceShare report 2015-08-07 10:37:59 +10:00
Rohan Mitchell
e75b595b97 Tidy syntax 2015-08-07 10:37:59 +10:00
Rohan Mitchell
af04c61528 Add rspec-retry for intermittently failing spec 2015-08-05 13:35:53 +10:00
Continuous Integration
14900655df Auto-merge from CI [skip ci] 2015-08-05 12:18:31 +10:00
Rohan Mitchell
be66769999 SELECT DISTINCT results in inconsistent #count value. Work around this with to_a. 2015-08-05 11:05:29 +10:00
Lynne Davis
8639109372 Variable weights improvements additions 2015-08-04 20:13:28 +01:00
Rohan Mitchell
eca25a2564 Make coordinator fees apply to all variants, not just those with exchange fees 2015-07-31 16:57:47 +10:00
Rohan Mitchell
012b0517a5 Fetch order cycle variants in SQL 2015-07-31 16:57:47 +10:00
Rohan Mitchell
faa1d0d1c5 When cart clear is declined, revert order cycle selection change 2015-07-31 16:56:08 +10:00
Rohan Mitchell
b97bbae00e Remove old selenium-related test helper, remove unused param on handle_js_confirm 2015-07-31 16:56:08 +10:00
Rohan Mitchell
679531fe2a Prompt for clear cart when order cycle changes 2015-07-31 16:56:08 +10:00
Rohan Mitchell
eb6dcba396 Clear localstorage in Cart.clear() 2015-07-31 16:56:08 +10:00
Rohan Mitchell
9c9051498b Rename ofnEmptiesCart to ofnChangeHub 2015-07-31 16:56:08 +10:00
Rohan Mitchell
5688cfd1dd WIP: Rename ofnEmptiesCart to ofnChangeHub 2015-07-31 16:56:08 +10:00
Rohan Mitchell
fc409c97bf Decouple ofn-empties-cart directive from hub-choice navigation 2015-07-31 16:56:08 +10:00
Rohan Mitchell
09b4b3e659 When order cycle is changed, clear the cart 2015-07-31 16:56:08 +10:00
Rohan Mitchell
bf2bd403a4 Clear variants when order cycle changed, not when products are initially loaded 2015-07-31 16:56:08 +10:00
Rohan Mitchell
012a210782 Add method to clear cart 2015-07-31 16:56:08 +10:00
Rohan Mitchell
7caebb11e2 Clear variants registry before reloading products - fixes fees not updating when changing order cycle 2015-07-31 16:56:08 +10:00
Rohan Mitchell
ee65452de3 Add method to clear variants registry 2015-07-31 16:56:08 +10:00
Rohan Mitchell
3a9b13b55e Reorder methods 2015-07-31 16:56:07 +10:00
Rohan Mitchell
734b2fc766 Merge branch 'master' into redesign-cms 2015-07-31 14:59:33 +10:00
Rohan Mitchell
5559231245 Fix date spec error 2015-07-31 14:59:05 +10:00
Rohan Mitchell
3345f54e0a Merge branch 'master' into redesign-cms 2015-07-31 14:55:01 +10:00
Rohan Mitchell
ec908fce92 Make TOS URL configurable 2015-07-31 14:51:17 +10:00
Rohan Mitchell
d8f4061030 Tidy link 2015-07-30 12:09:20 +10:00
Rohan Mitchell
759c53ec34 Add note about provisioning to README 2015-07-30 11:45:50 +10:00
Continuous Integration
8d041f5e7a Auto-merge from CI [skip ci] 2015-07-29 12:03:03 +10:00
Continuous Integration
32d3d0f912 Auto-merge from CI [skip ci] 2015-07-28 14:03:29 +10:00
Rohan Mitchell
917c17af59 Clarify quantities used for calculations, show excess available via max_quantity 2015-07-24 18:31:49 +10:00
Rohan Mitchell
21a9681205 Do not show negative remainder when there are no purchases 2015-07-24 17:42:23 +10:00
Rohan Mitchell
54fd298e3a Reinstate variant full name column - needed to identify variants differing only by description 2015-07-24 17:42:00 +10:00
Rohan Mitchell
9ffc97f8b6 Fix controller spec for extraction of report controller logic 2015-07-24 14:10:04 +10:00
Rohan Mitchell
211171aed4 Rename column for clarity 2015-07-24 12:49:43 +10:00
Rohan Mitchell
f43eacb75d Revert "Do not show non-group buy products on bulk coop reports"
This reverts commit f5c2386296.
2015-07-24 12:40:50 +10:00
Rohan Mitchell
fffc35d9ed Revert "Add a blank row after summary row in all reports"
This reverts commit b0dd765181.
2015-07-24 12:40:42 +10:00
Rohan Mitchell
17fb4a7247 DRY by extracting calculation to method 2015-07-24 07:17:20 +10:00
Rohan Mitchell
3abce54115 Split variant name into number and unit columns 2015-07-24 07:07:49 +10:00
Rohan Mitchell
28de125b59 Bulk coop allocation report uses unit value rather than variant weight 2015-07-24 07:00:49 +10:00
Rohan Mitchell
4d71a56e38 Update available/unallocated calculations 2015-07-23 16:40:50 +10:00
Rohan Mitchell
ae968cd0eb Simple refactoring of original total_allocated code 2015-07-23 16:21:37 +10:00
Rohan Mitchell
1a89c3caf4 Translate bulk coop allocation report to reports DSL 2015-07-23 15:07:39 +10:00
Rohan Mitchell
bdd792a3ea Extract helpers to new superclass 2015-07-23 15:07:15 +10:00
Rohan Mitchell
f5c2386296 Do not show non-group buy products on bulk coop reports 2015-07-23 14:17:00 +10:00
Rohan Mitchell
8665b35f1d Units required shows amount to fulfil order, not complete units required. Remainder works in opposite direction to suit. 2015-07-23 14:16:40 +10:00
Rohan Mitchell
d68cfbff18 Use scaled value for group_buy_unit_size 2015-07-23 14:06:04 +10:00
Rohan Mitchell
e8f7ab5425 Do bulk coop report calculations using unit values rather than variant weight field 2015-07-23 14:06:04 +10:00
Rohan Mitchell
b0dd765181 Add a blank row after summary row in all reports 2015-07-23 14:05:59 +10:00
Rohan Mitchell
8ee467d2b9 Split variant name into number and unit columns 2015-07-23 12:22:30 +10:00
Rohan Mitchell
5874ecbbef Small tweaks 2015-07-23 12:02:31 +10:00
Rohan Mitchell
dcae584673 Extract bulk coop supplier report into Report DSL 2015-07-23 12:02:24 +10:00
Rohan Mitchell
a90666467a Add helper support to Reports DSL 2015-07-23 11:45:19 +10:00
Rohan Mitchell
cc9d0defca Use class attributes instead of class variables to avoid leakage between subclasses 2015-07-23 11:04:36 +10:00
Rohan Mitchell
142e1d6d9a Report outputs rules as array for use by OrderGrouper 2015-07-23 10:46:20 +10:00
Rohan Mitchell
1d39fb4438 Report rules can define a summary row 2015-07-23 10:37:47 +10:00
Rohan Mitchell
07eb857a8d Report can define nested rules 2015-07-23 10:24:10 +10:00
Rohan Mitchell
66f64fc413 Report can define basic rules 2015-07-23 10:08:38 +10:00
Rohan Mitchell
c7a1ca29f4 Report can define and retrieve columns 2015-07-23 09:52:59 +10:00
Rohan Mitchell
0a5e8fe629 Report class can define and retrieve header 2015-07-23 09:36:09 +10:00
Rohan Mitchell
61a39ea82f Cherry-pick 00927f7: Refactoring to move bulk out of reports_controller_decorator 2015-07-22 15:25:12 +10:00
Rohan Mitchell
eabf792238 Amend changes to readme 2015-07-22 13:25:55 +10:00
Myriam
c15e281286 Add command cd openfoodnetwork
Just added the command to go into the openfoodnetwork folder before bundle install
2015-07-19 12:39:51 +02:00
Myriam
5f0766cb75 When installing the gems we had only 1.9.2, there were an imprecision with >=1.9.3 or 1.9.x 2015-07-19 12:37:23 +02:00
Myriam
3a0c5bf0c3 I changed the "Get it" link as the git@ one was reserved to people with access rights 2015-07-19 12:09:20 +02:00
Rohan Mitchell
61435b2dea Add brand guide colours next to definition 2015-07-17 17:05:44 +10:00
Rohan Mitchell
b6892c82f1 Rename australia-orange sass var to country-agnostic brand-colour 2015-07-17 16:27:17 +10:00
Rohan Mitchell
5fd3dc1d28 Customise footer logo 2015-07-17 16:24:07 +10:00
Rohan Mitchell
bb3a4170f5 Add dimensions to image upload 2015-07-17 16:06:50 +10:00
Rohan Mitchell
74f90dada3 Allow overriding mobile logo (raster and SVG) and home hero image 2015-07-17 16:06:50 +10:00
Rohan Mitchell
e4a4cdd915 Rewrite alias_method_chain to use super. Ahhhhh :) 2015-07-17 16:06:50 +10:00
Rohan Mitchell
66b4eb4c5d Move Spree::Preferences::Configuration patches into superclass FileConfiguration 2015-07-17 16:06:50 +10:00
Rohan Mitchell
1d67e3b2b8 Fix image update, display logo on frontend 2015-07-17 16:06:50 +10:00
Rohan Mitchell
0e67a116b6 Admin can upload logo for ContentConfig 2015-07-17 16:06:49 +10:00
Rohan Mitchell
1234b35199 Add file handling to Spree::Preferences::Configuration 2015-07-17 16:06:49 +10:00
Rohan Mitchell
1b17a7fb35 Add logo field to ContentConfig 2015-07-17 16:06:49 +10:00
Rohan Mitchell
4887871474 Remove SVG TODOs - we'll ask admins to upload double-sized images for retina instead 2015-07-17 16:06:49 +10:00
Rohan Mitchell
372b17703a Remove unused content fields and partial 2015-07-17 16:06:49 +10:00
Rohan Mitchell
5de9a5eb54 Add config setting to enable/disable stats on home page 2015-07-17 16:06:49 +10:00
Rohan Mitchell
1f72e4001c Use site name config for hero title 2015-07-17 16:06:49 +10:00
Rohan Mitchell
bd83dde89d Content manage group signup page 2015-07-17 16:06:49 +10:00
Rohan Mitchell
a490d9696b Content manage hub signup page 2015-07-17 16:06:49 +10:00
Rohan Mitchell
d353906bb8 Content manage producer signup page 2015-07-17 16:06:49 +10:00
Continuous Integration
858a613ba2 Auto-merge from CI [skip ci] 2015-07-17 11:48:16 +10:00
Rohan Mitchell
2ef0196200 Merge branch 'add-to-cart-robustness' into combined/vo-on-demand-stock-control_add-to-cart-robustness 2015-07-16 10:06:34 +10:00
Rohan Mitchell
f3ae812f2b Update cart when max_quantity value changes, not just quantity 2015-07-16 10:05:19 +10:00
Rohan Mitchell
904a3a5bd4 When add to cart fails, retry every 3 seconds, with no limit of the number of retries 2015-07-16 10:05:19 +10:00
Rohan Mitchell
de7f3a9e5c When an on-demand variant has overridden stock levels, make it not on-demand 2015-07-16 10:05:07 +10:00
Rohan Mitchell
7424e93133 Merge branch 'proximity-search' 2015-07-15 17:31:22 +10:00
Lynne Davis
f21f57a42c Additions for packing reports, sans refactoring 2015-07-15 14:44:49 +10:00
Lynne Davis
dc95167f15 Adding bits missed from the last commit.
Conflicts:
	app/controllers/spree/admin/reports_controller_decorator.rb
2015-07-15 14:44:49 +10:00
Lynne Davis
c168dec14b Adding packing reports as required by the UK contingent 2015-07-15 14:44:49 +10:00
Rohan Mitchell
28b8e0b0c8 Update distance matches when filter settings change 2015-07-10 17:45:17 +10:00
Rohan Mitchell
0ab75fe2ea Take the first name match from the post-filter results to avoid matching off a result the user can't see 2015-07-10 17:45:17 +10:00
Rohan Mitchell
669c9911fe Fix profile display 2015-07-10 17:45:17 +10:00
Rohan Mitchell
6e6d2566d9 Do not show distance when zero 2015-07-10 17:45:16 +10:00
Rohan Mitchell
6816df5f72 Do not show 'Closest to...' heading when no query entered 2015-07-10 17:45:16 +10:00
Rohan Mitchell
5b93ac2ae1 Remove unneeded injections, consistent spacing 2015-07-10 17:45:16 +10:00
Rohan Mitchell
dcf98ee29f Fix enterprises no results for producers 2015-07-10 17:45:16 +10:00
Rohan Mitchell
7d340d5084 Update taxon search to only display taxons from enterprises on the page 2015-07-10 17:45:16 +10:00
Rohan Mitchell
0eb6d9aaed Disable animate-repeat on shops listing entirely - previous fix was not 100% successful 2015-07-10 17:45:16 +10:00
Rohan Mitchell
d8dfb5b5ee Move most filters back out into view - they now respond to filter preference changes 2015-07-10 17:45:16 +10:00
Rohan Mitchell
07e6a204f3 Do not bindonce ng-repeat, remove translateZ(0) optimisation - address dangling DOM nodes after ng-repeat finishes.
https://github.com/angular/angular.js/issues/4490
2015-07-10 17:45:16 +10:00
Rohan Mitchell
06c5ffb427 Wrap geocode callback in ., fixing inconsistent updates 2015-07-10 17:45:16 +10:00
Rohan Mitchell
673635fdcb Show no results message at correct times 2015-07-10 17:45:16 +10:00
Rohan Mitchell
64bc7404dc Region-bias geocoder results 2015-07-10 17:45:16 +10:00
Rohan Mitchell
651afc34cb Notify enterprise change by broadcast 2015-07-10 17:45:16 +10:00
Rohan Mitchell
e5c42c0e54 Tidyup 2015-07-10 17:45:16 +10:00
Rohan Mitchell
5f8826533d Limit distance matches to those within 50 km 2015-07-10 17:45:16 +10:00
Rohan Mitchell
f154a02c86 Add filter for enterprises within a radius 2015-07-10 17:45:16 +10:00
Rohan Mitchell
46792a4111 Style results tables 2015-07-10 17:45:16 +10:00
Rohan Mitchell
5b5c56064e Hide distance matches when there are name matches. Show with a link. 2015-07-10 17:45:16 +10:00
Rohan Mitchell
794c9558bb Show name matches only when at least one is present. Show accurate closest-to target. 2015-07-10 17:45:15 +10:00
Rohan Mitchell
eba0a12d29 Extract filtering into controller 2015-07-10 17:45:15 +10:00
Rohan Mitchell
7fd4815904 Split results into name matches and distance matches 2015-07-10 17:45:15 +10:00
Rohan Mitchell
97c9504344 Extract hubs table into partial 2015-07-10 17:45:15 +10:00
Rohan Mitchell
7f2508eeaa When a name match is found, calculate distances from that enterprise, rather than from the geocoded lookup 2015-07-10 17:45:15 +10:00
Rohan Mitchell
6e3ca3f90f Make Geo.distanceBetween take either a LatLng or a locatable at either parameter 2015-07-10 17:45:15 +10:00
Rohan Mitchell
744beaa26a Perform shops search by proximity instead of plain string match 2015-07-10 17:45:15 +10:00
Rohan Mitchell
d0d9e9e367 Flag enterprises whose name matches a query 2015-07-10 17:45:15 +10:00
Rohan Mitchell
befcc37456 Fix bug in distanceBetween, update docs, deal with null queries 2015-07-10 17:45:15 +10:00
Rohan Mitchell
9fb7c47c73 Enterprises can calculate their distances from a location via geocode lookup 2015-07-10 17:45:15 +10:00
Rohan Mitchell
80bb6c36e3 Rename file 2015-07-10 17:45:15 +10:00
Rohan Mitchell
a61e96c316 Generalise Geocoder service to Geo, add distanceBetween method 2015-07-10 17:45:15 +10:00
Rohan Mitchell
ddf1bb90ea Add geocoder service 2015-07-10 17:45:15 +10:00
Rohan Mitchell
a509747ba7 Do not show double-ups of places to shop 2015-07-10 15:51:57 +10:00
Rohan Mitchell
3527ae6ea2 Update comment 2015-07-10 15:51:57 +10:00
Rohan Mitchell
e679f1175c Add shop-for-products-at to map producer modals 2015-07-10 15:51:57 +10:00
Rohan Mitchell
197c99349d Add error checking to client-side permalink service 2015-07-10 09:42:09 +10:00
Rohan Mitchell
73b90dba10 Shift legacy redirect further down routes to avoid stomping /enterprises/check_permalink 2015-07-10 09:42:09 +10:00
Rohan Mitchell
4cc8eb90fc Refactor code for brevity 2015-07-10 09:42:09 +10:00
Rohan Mitchell
8deb4ef9d4 When encountering StaleObjectError when checking out, retry 2015-07-10 09:42:09 +10:00
Rohan Mitchell
d0b7a0795d Fix 500 when bulk updating order cycles with no data 2015-07-10 09:42:09 +10:00
Rohan Mitchell
d67b34c2bd Remove deprecated about_us page and add redirect 2015-07-10 09:42:09 +10:00
Rohan Mitchell
3f8235593a When enterprise is deleted, delete relationships 2015-07-10 09:42:09 +10:00
Rohan Mitchell
c5c3051f98 Re-enable future spec 2015-07-10 09:42:09 +10:00
Rohan Mitchell
4f2389e257 Remove legacy enterprises views - index, suppliers, distributors, show 2015-07-10 09:42:09 +10:00
Rohan Mitchell
fc4cd517fd Redirect legacy enterprise path to home #571 2015-07-10 09:42:09 +10:00
Rohan Mitchell
361f7e3432 Remove double-output on push to production. Add script to archive old branches. 2015-07-02 09:39:49 +10:00
Rohan Mitchell
213242627e Merge branch 'master' into redesign-phase-2
Conflicts:
	app/views/home/_hubs.html.haml
2015-07-01 15:44:36 +10:00
Rohan Mitchell
960e4d3015 Scale logo down when display is very short (ie. iPhone 4) 2015-07-01 15:38:50 +10:00
Continuous Integration
c3097cac70 Auto-merge from CI [skip ci] 2015-07-01 10:57:01 +10:00
Rohan Mitchell
b991f6c228 Add angular-slideables to js test include 2015-06-26 16:07:23 +10:00
Rohan Mitchell
918889a572 Make subject more friendly for groups enquiry email 2015-06-26 15:54:26 +10:00
Rohan Mitchell
7e685b646f Fine-tune header sizes on home page and cutover point for page_alert responsiveness 2015-06-26 15:54:26 +10:00
Rohan Mitchell
eef302635b Fix alert overflow on mobile 2015-06-26 15:54:26 +10:00
Rohan Mitchell
6105d008df Show CTA above the fold on iPhone 5 2015-06-26 15:54:26 +10:00
Rohan Mitchell
dd04afe8f8 Make alert box more legible 2015-06-26 15:54:25 +10:00
Rohan Mitchell
5a9101e303 Display HTML special chars correctly in title 2015-06-26 15:54:25 +10:00
Rohan Mitchell
c97ed026d0 Make room in menu for shopping@ text 2015-06-26 15:54:25 +10:00
Rohan Mitchell
ce46cb0956 Add subject to group enquiries 2015-06-26 15:54:25 +10:00
Rohan Mitchell
9f8fa575b3 Scroll past header on shops page if user is logged in 2015-06-26 15:54:25 +10:00
Rohan Mitchell
4da367a94b Put OFN logo in top bar of mobile site 2015-06-26 15:54:25 +10:00
Rohan Mitchell
6197dfe403 Make brand story animate slide down/up 2015-06-26 15:54:25 +10:00
Rohan Mitchell
1363daae3c When fetching ofn commit, if it is not found, return a sentinal value to avoid a wayward git push 2015-06-26 11:22:19 +10:00
Rohan Mitchell
d9f4a92648 Do not use with_products_require_tax_category in around filters - Spree::Config has caching which isn't shared between contexts 2015-06-24 14:52:17 +10:00
Rohan Mitchell
bc11140a40 Make config reset for all tests more robust. Add cache isolation for parallel specs. 2015-06-24 14:02:45 +10:00
Rohan Mitchell
7a36e92592 Merge branch 'unique-enterprise-names' into combined/unique-enterprise-names_parallel-fuubars_rob-github-fixes_optimise-shopfront 2015-06-24 10:09:35 +10:00
Rohan Mitchell
2d79177bb5 When a registering an enterprise with a non-unique name, display an error message. 2015-06-24 10:08:34 +10:00
Rohan Mitchell
f51a9679f2 Merge branch 'optimise-shopfront' into combined/unique-enterprise-names_parallel-fuubars_rob-github-fixes 2015-06-19 11:34:41 +10:00
Rohan Mitchell
173f4c0f03 Merge branch 'rob-github-fixes' into combined/unique-enterprise-names_parallel-fuubars_rob-github-fixes 2015-06-19 11:32:55 +10:00
Rohan Mitchell
116565fa0f Merge branch 'parallel-fuubars' into combined/unique-enterprise-names_parallel-fuubars_rob-github-fixes 2015-06-19 11:32:44 +10:00
Rohan Mitchell
52887dc699 Merge branch 'unique-enterprise-names' into combined/unique-enterprise-names_parallel-fuubars_rob-github-fixes 2015-06-19 11:32:25 +10:00
Rohan Mitchell
89a571d497 Fix spec coupled to variant overrides 2015-06-18 16:05:35 +10:00
Rohan Mitchell
ff4ee16f06 Fix currency issues, changed logo path 2015-06-18 15:38:46 +10:00
Rohan Mitchell
ae3a69c1af Put in debugging for failing push-to-prod step (sigh) 2015-06-18 15:29:05 +10:00
Continuous Integration
6d423ac990 Auto-merge from CI [skip ci] 2015-06-18 15:20:12 +10:00
Rohan Mitchell
aa0a031fa0 Fetch indexed variant overrides in one go 2015-06-18 15:03:24 +10:00
Rohan Mitchell
dd2f6d6430 Extract VariantOverride fetching into ScopeVariantToHub#scope 2015-06-18 14:45:40 +10:00
Rohan Mitchell
ce0de6e1dc Fix push to production - needs includes for get_ofn_commit 2015-06-18 14:25:48 +10:00
Rohan Mitchell
7cc2bc4fde Perform variant override scoping on product/variant by external class. Centralise this so we can load everything in one go. 2015-06-18 13:11:11 +10:00
Rohan Mitchell
6ed9a2620c Use indexed_fees_for for product price 2015-06-18 13:07:52 +10:00
Rohan Mitchell
860183e675 Do not double-display deployment output 2015-06-18 12:41:47 +10:00
Rohan Mitchell
1cd9ee399f Cloak shops page 2015-06-18 10:19:18 +10:00
Rohan Mitchell
b5d841562d Getting OFN commit should retrieve from meta-data 2015-06-18 10:02:15 +10:00
Rohan Mitchell
9f883db25b Really show deploy output in real time 2015-06-18 09:57:21 +10:00
Rohan Mitchell
389ac07bd7 Store commit at start of build process and use it throughout 2015-06-17 16:25:34 +10:00
Rohan Mitchell
4da69f78cb Use fuubar with parallel specs for advance notice of failures 2015-06-17 15:22:08 +10:00
Rohan Mitchell
c5526c78d9 Make enterprise name unique 2015-06-17 15:01:46 +10:00
Rohan Mitchell
470f10a828 Merge branch 'master' into rob-github-fixes 2015-06-16 19:00:54 +10:00
Rohan Mitchell
bf953f8987 Undo last change, it broke asset precompilation. Rename style.css to scss for inclusion and force recompilation of all assets. 2015-06-16 18:25:44 +10:00
Rohan Mitchell
0ade5ee3a8 Import style.css file also (not included by default by @import) 2015-06-16 18:00:35 +10:00
Rohan Mitchell
0dbecce65d Optimise relatives including self - minor improvement 2015-06-16 17:43:13 +10:00
Rohan Mitchell
faee88c404 Merge branch 'master' into redesign 2015-06-16 16:57:09 +10:00
Rohan Mitchell
bf2a7f12e0 Fix interaction between alert and mobile menu. A bit hack-ish, needs some more love. 2015-06-16 16:28:45 +10:00
Rohan Mitchell
02d68c662b Add titles to all darkswarm pages 2015-06-16 15:31:35 +10:00
Rohan Mitchell
387021929e Merge branch 'master' into rob-github-fixes 2015-06-16 15:05:01 +10:00
Rohan Mitchell
301a3ac090 Rename Blog link to News for consistency with global site 2015-06-16 14:53:54 +10:00
Rohan Mitchell
fd41003fb7 Change all global links to www 2015-06-16 14:47:40 +10:00
Continuous Integration
c76021462c Auto-merge from CI [skip ci] 2015-06-16 14:12:16 +10:00
Rohan Mitchell
846f4bb4b1 Tweak menu responsiveness: Fix items covering country name, fix ul.right dropping down to next line 2015-06-16 13:02:43 +10:00
Rohan Mitchell
b540f645c3 Split CSS to overcome IE9's 4096 rule limit 2015-06-16 11:57:50 +10:00
Rob Harrington
30af5d4278 Enterprise relatives include self where appropriate for serialized injection data 2015-06-15 19:45:29 +08:00
Rob Harrington
92082ce95c Adding filter back on producers page 2015-06-15 16:35:41 +08:00
Rob Harrington
1558ddb1eb Fixing index enterprise serializer so that payment methods issue displays when no payment methods are present 2015-06-15 16:15:06 +08:00
Rob Harrington
0038ebaa1f Fix styling issue for full sixteen column enterprise index panel 2015-06-15 16:10:33 +08:00
Rob Harrington
943c702e88 Hiding 'more' list if there are no overflow filter selectors 2015-06-15 15:54:55 +08:00
Rob Harrington
fb19feb357 Adding filters back to the hub page 2015-06-15 15:43:43 +08:00
Rob Harrington
e09431fa20 Styling tweaks 2015-06-15 15:43:19 +08:00
Rob Harrington
fb11c93943 Making ul element the root of filter_selectors directive, so resolve issue with using ng-repeat element as root of a replacement directive 2015-06-15 15:43:01 +08:00
Rob Harrington
727e8a81d6 Making sure enterprise serializer serializes no taxons as an empty array 2015-06-15 15:41:25 +08:00
Rob Harrington
0e96a23a52 Fixing filters selector directive to that an allSelector watcher isn't required for generation on selectors to work 2015-06-15 12:06:23 +08:00
Maikel Linke
80bf6e61ad redirect /t/products/:id to / 2015-06-13 11:59:52 +10:00
Maikel Linke
c6d01055d6 updating relationship spec 2015-06-12 19:32:56 +10:00
Rob Harrington
82d31b908f More styling tweaks 2015-06-12 16:09:53 +08:00
Rob Harrington
066c8876ff Only serializing unresolved enterprise issues, styling tweaks and fixes for index 2015-06-12 15:49:01 +08:00
Maikel Linke
de1971072e update relationship js spec 2015-06-12 17:09:04 +10:00
Maikel Linke
f44ac5b27b Merge branch 'url-redirects' into e2e-links 2015-06-12 17:03:31 +10:00
Maikel Linke
d717c38f6d Filter relationships by permission 2015-06-12 17:03:17 +10:00
Maikel Linke
61effc03c1 add "Enterprise Relationships" tab for non-admins 2015-06-12 17:03:17 +10:00
Maikel Linke
f2bc98e812 E2E: select all permissions 2015-06-12 17:03:17 +10:00
Rob Harrington
795b2700b4 Merge branch 'master' into enterprise-index-revamp 2015-06-12 12:47:58 +08:00
Rob Harrington
6ab5efbe02 Last minute styling adjustments 2015-06-12 12:40:24 +08:00
Rob Harrington
59d5ebe9d4 Changes to copy 2015-06-12 12:32:17 +08:00
Rob Harrington
1fb1733644 Adding link to user guide to enterprises index and dashboard 2015-06-12 12:31:57 +08:00
Rob Harrington
775718c776 Adding status panel on enterprise index 2015-06-12 12:09:00 +08:00
Rohan Mitchell
2b763271a7 Merge branch 'master' into optimise-shopfront 2015-06-12 12:15:20 +10:00
Maikel Linke
d61073f08d redirect /enterprises to / 2015-06-12 10:47:50 +10:00
Maikel Linke
2fb8f9f8a3 Redirect /products to /
GitHub issue #571
2015-06-12 10:47:50 +10:00
Rohan Mitchell
4f311543ae Merge branch 'master' into enterprise-index-revamp 2015-06-12 10:26:11 +10:00
Rob Harrington
eed27ceb31 Shipping Method feature specs work with new enteprise user enterprise index 2015-06-12 03:10:50 +08:00
Rob Harrington
77432ffc41 Payment Method feature specs work with new enteprise user enterprise index 2015-06-12 03:10:37 +08:00
Rob Harrington
5d2b36c667 Enterprise Fee feature specs work with new enteprise user enterprise index 2015-06-12 03:10:14 +08:00
Rob Harrington
61beb38e9c Bringing back delayed_job on enterprise emails - acctidentally took it out earlier 2015-06-12 03:09:40 +08:00
Rob Harrington
efca4dde10 Fixing enterprises feature spec 2015-06-12 01:49:39 +08:00
Rob Harrington
d0b7550629 Removing screenshot from spec 2015-06-12 01:49:39 +08:00
Rob Harrington
6f975593fe Splitting enterprise index feature specs into their own file, reinstating old enterprise index for super admin users 2015-06-12 01:49:39 +08:00
Rob Harrington
64ed80f845 Enterprise index action load enterprise_set for super admin 2015-06-12 01:49:39 +08:00
Rob Harrington
f80a5fe558 Fixing reference to change_type_form partial from single enterprise dashboard 2015-06-12 01:49:38 +08:00
Rob Harrington
1b52564d58 Rerouting welcome page to be an enterprise action, updates to copy for package selection 2015-06-12 01:49:38 +08:00
Rob Harrington
1cd6866879 Fixing issue with auto-creation of new contact user for enterprises caused by delayed-job 2015-06-12 01:49:37 +08:00
Rob Harrington
1c1f82f4ee Using events to update index row text on save, adding alert icons for enterprises without producer or package selected 2015-06-12 01:49:37 +08:00
Rob Harrington
95073f6fe7 Adding actual link to the manage link on enterprises index 2015-06-12 01:49:37 +08:00
Rob Harrington
e575b0e490 Switching enterprise index to its own dedicated serializer, so we can spit out ownership 2015-06-12 01:49:37 +08:00
Rob Harrington
5a08344812 Changing 'shop' column and panel to 'package' 2015-06-12 01:49:37 +08:00
Rob Harrington
e3d7c00c8e Removing option of 'producer profile only' from enterprise shop panel 2015-06-12 01:49:36 +08:00
Rob Harrington
8aa55088ab Adding a parent directive to coorindate styling of panel tabs 2015-06-12 01:49:36 +08:00
Rob Harrington
a90cd0f8e0 Owners can update sells on enterprises they own 2015-06-12 01:49:36 +08:00
Rob Harrington
6b35e993bd WIP: More work on panel content, styling and data submission logic 2015-06-12 01:49:36 +08:00
Rob Harrington
a586a52c23 Shortcutting around existing Enterprise service, so that we can use it for something more useful 2015-06-12 01:49:36 +08:00
Rob Harrington
b84f5a26a1 WIP: Splitting type panel into separate producer and shop panels, playing with styling 2015-06-12 01:49:35 +08:00
Rob Harrington
451ba1c01b panel rows adjust to span the number of visible columns 2015-06-12 01:49:35 +08:00
Rob Harrington
c441c8c6cb Columns service holds a column count and notifies rootscope when it changes 2015-06-12 01:49:35 +08:00
Rob Harrington
0c36738472 Adding basic generalised panel row infrastructure to indexUtils 2015-06-12 01:49:35 +08:00
Rob Harrington
ff3d9e27ec Upgrade angular-rails-templates 2015-06-12 01:49:35 +08:00
Rob Harrington
d5f9b40707 WIP: Basic version of revamped enterprise index 2015-06-12 01:49:34 +08:00
Rob Harrington
02d3d34826 Adding basic angular infrastructure for enterprises 2015-06-12 01:49:34 +08:00
Rob Harrington
5215623864 Adding bindonce to admin 2015-06-12 01:49:34 +08:00
Rob Harrington
ed7a53968c Using clearer json_request? method for customers controller 2015-06-12 01:49:34 +08:00
Rob Harrington
c311bcdca7 Overriding enterprises index action to use AMS for json requests, and prevent collection loading for html requests 2015-06-12 01:49:33 +08:00
Rohan Mitchell
d908701b59 Merge branch 'master' into folklabs-producer-emails
Conflicts:
	Gemfile
2015-06-11 17:02:34 +10:00
Rohan Mitchell
ecbf3c8fa7 Ensure we start with consistent config settings 2015-06-11 16:16:36 +10:00
Rohan Mitchell
5ae88dbd6c Fix content overlapping alert 2015-06-11 14:29:49 +10:00
Rohan Mitchell
bfeb63c8d7 Ensure that changes to Spree::Config.products_require_tax_category do not leak out of the relevant spec 2015-06-11 14:16:18 +10:00
Rohan Mitchell
6dea3fa19d Merge branch 'fix-duplicate-fees' into combined/ginerr_bugfixes_fix-duplicate-fees 2015-06-11 12:56:32 +10:00
Rohan Mitchell
075e9edbf6 Merge branch 'ginerr_bugfixes' into combined/ginerr_bugfixes_fix-duplicate-fees 2015-06-11 12:56:27 +10:00
Rohan Mitchell
5175fe9a03 Make stats more accurate by excluding invisible, inactivated enterprises and incomplete orders 2015-06-11 12:53:23 +10:00
Rohan Mitchell
662330b222 Alert appears at top of page. It slides in on page load and slides out on close. 2015-06-11 12:10:50 +10:00
Maikel Linke
a8b6f2942a Releasing Assets Version 1.1
The uglifier update affects only re-compiled assets. In order to replace
the broken assets (e.g. #396) with re-compiled assets, we change the
assets version number.
2015-06-11 10:54:30 +10:00
Rohan Mitchell
f4e0baa56a Basic click-to-close for sell-food alert 2015-06-10 19:03:40 +10:00
Rohan Mitchell
686a54c121 Make 'selling food' alert visible, basic styling 2015-06-10 19:03:25 +10:00
Rohan Mitchell
b37f21dce1 Remove load_active_distributors call missed by merge 2015-06-10 18:38:32 +10:00
Rohan Mitchell
610a4c03fe Merge branch 'master' into redesign
Conflicts:
	app/controllers/home_controller.rb
	app/views/producers/index.html.haml
	app/views/shared/menu/_mobile_menu.html.haml
	app/views/shop/products/_form.html.haml
	config/routes.rb
	spec/controllers/shops_controller_spec.rb
2015-06-10 18:27:50 +10:00
Rohan Mitchell
604360034b Make filter method private 2015-06-10 17:04:09 +10:00
Rohan Mitchell
a0fd91dc57 Do not preload_app with unicorn, update newrelic agent so that it doesn't require this setting. 2015-06-10 17:03:56 +10:00
Rohan Mitchell
d79129880e Put lock around adjustment clear/re-create to avoid race condition resulting in duplicate fees 2015-06-10 17:02:30 +10:00
Rohan Mitchell
7412e92665 Merge branch 'master' into optimise-shopfront 2015-06-10 16:39:02 +10:00
Rohan Mitchell
ee01113fe1 Fix duplicate factory value spec error 2015-06-10 15:31:53 +10:00
Maikel Linke
5a7231579c update uglifier to 2.7.1 2015-06-10 13:58:52 +10:00
Maikel Linke
3c38c8e504 Merge branch 'adjustment-metadata-deletion' into combined/session-store_adjustment-metadata_uglifier
Conflicts:
	db/schema.rb
2015-06-10 13:56:36 +10:00
Maikel Linke
6c0238deac scoping down large request spec 2015-06-10 13:50:55 +10:00
Maikel Linke
f88f42283a Session stored in ActiveRecored instead of Cookies
The cookie store is not big enough in some cases. In order to solve a
CookieOverflow error and maybe track down the underlying issue this
patch uses the database instead of cookies to store session data.
2015-06-10 13:49:24 +10:00
Maikel Linke
88872b4b49 add spec_helper to customers_controller_spec 2015-06-06 11:49:49 +10:00
Maikel Linke
153360d17b Let the database delete adjustment metadata
GitHub issue #582

We encountered a foreign key violation on adjustment metadata even
though rails should handle that.

    Action: order.adjustments.where(originator_type: 'EnterpriseFee').destroy_all

    Adjustment: has_one :metadata, class_name: 'AdjustmentMetadata' dependent: :destroy

So we update the foreign key to cause a delete in the database.
2015-06-05 16:10:58 +10:00
Rohan Mitchell
80834a0c27 Merge branch 'master' into ginerr_bugfixes 2015-06-05 15:49:43 +10:00
Maikel Linke
d6c630dad9 add spec_helper to customers_controller_spec 2015-06-05 14:25:45 +10:00
Maikel Linke
7461009c3b Merge branch 'handle-invalid-referer-urls' into combined/xero-report_analytics-bugfixes 2015-06-05 14:23:58 +10:00
Maikel Linke
252e9be016 Merge branch 'remove-old-bugsnag-notification' into combined/xero-report_analytics-bugfixes 2015-06-05 14:23:03 +10:00
Maikel Linke
f324471495 Merge branch 'index_enterprise_permalink' into combined/xero-report_analytics-bugfixes 2015-06-05 14:20:13 +10:00
Maikel Linke
f438a44f26 Merge remote-tracking branch 'origin/analytics' into combined/xero-report_analytics-bugfixes
Conflicts:
	app/controllers/spree/admin/orders_controller_decorator.rb
2015-06-05 14:19:54 +10:00
Maikel Linke
1b91082c1c Merge branch 'show-order-without-current-distributor' into combined/xero-report_show-order-without-distributor 2015-06-05 13:48:47 +10:00
Maikel Linke
ffa960b02e Merge remote-tracking branch 'origin/xero-report' into combined/xero-report_show-order-without-distributor 2015-06-05 13:48:24 +10:00
Maikel Linke
41dafce0db Remove obsolete Bugsnag notification 2015-06-05 13:46:15 +10:00
Maikel Linke
e35b39c7cf Handle invalid referer URLs
Rescues URI::InvalidURIError of URL(request.referer).
2015-06-05 12:43:49 +10:00
Maikel Linke
552bbf221c Delete obsolete paragraph in registration #595 2015-06-05 11:01:40 +10:00
Rohan Mitchell
f09fad464e Merge branch 'master' into optimise-shopfront 2015-06-05 07:28:05 +10:00
Rohan Mitchell
fc7e33d706 Fall back on individual calculations when pre-prepared values are not present 2015-06-04 16:43:19 +10:00
Rohan Mitchell
ef3155a16a Pull product listing fee calculations out of serializer loop 2015-06-04 16:27:32 +10:00
Rohan Mitchell
3846d16822 Add methods to load fees for a number of variants in one go 2015-06-04 16:22:06 +10:00
Continuous Integration
6051c81959 Auto-merge from CI [skip ci] 2015-06-04 15:39:43 +10:00
Rohan Mitchell
486c2f9b42 WIP: Skip EnterpriseFeeApplicator step when computing fees 2015-06-04 12:13:04 +10:00
Rohan Mitchell
27bc28ffa4 Index variants by id 2015-06-04 12:09:34 +10:00
Rohan Mitchell
cf0031d9a5 WIP: Optimise enterprise fee calculation 2015-06-04 11:53:09 +10:00
Rohan Mitchell
85d1d67dac Sort orders as required by spec, fixes intermittent fail 2015-06-04 09:43:36 +10:00
Continuous Integration
a1425c5e07 Auto-merge from CI [skip ci] 2015-06-04 07:22:43 +10:00
Maikel Linke
5d77a48ef3 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into show-order-without-current-distributor 2015-06-03 20:36:12 +10:00
Rob Harrington
e93736b123 Ordering managed orders by id to fix spec 2015-06-03 18:16:07 +08:00
Maikel Linke
aea6277b77 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into index_enterprise_permalink 2015-06-03 19:54:29 +10:00
Rob Harrington
3855ae1337 Fixing bug on OC interface that prevented hubs from pulling their own products through 2015-06-03 16:18:44 +08:00
Rob Harrington
359328a96e Producers and distributors lists include self where appropriate 2015-06-03 16:18:44 +08:00
Rob Harrington
dbd81e60a1 Fixing customer index feature spec, only checking shop when something has been selected 2015-06-03 16:18:09 +08:00
Rob Harrington
7c9b4dbc3e Resolving unmerged section in bulk order management template 2015-06-03 15:33:04 +08:00
Rob Harrington
09160c8ea6 Fixing customers controller spec 2015-06-03 15:23:55 +08:00
Rob Harrington
439d122e93 Merge branch 'master' into customers
Conflicts:
	app/assets/javascripts/admin/bulk_order_management.js.coffee
	app/assets/javascripts/admin/bulk_product_update.js.coffee
	app/assets/javascripts/admin/directives/line_item_upd_attr.js.coffee
	app/views/spree/admin/orders/bulk_management.html.haml
	db/schema.rb
	spec/javascripts/unit/bulk_order_management_spec.js.coffee
2015-06-03 15:19:40 +08:00
Rohan Mitchell
f1019e9221 Upgrade unicorn 2015-06-03 16:53:46 +10:00
Rohan Mitchell
2c0da5e350 Output parallel spec runtime log -> evenly split spec grouping 2015-06-03 16:38:47 +10:00
Maikel Linke
d2a61dc096 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into registration-wizard-text 2015-06-03 16:37:25 +10:00
Rohan Mitchell
0569ef0505 Only record analytics in production. Also record them in admin backend. 2015-06-03 16:36:31 +10:00
Rohan Mitchell
17d123db63 ng-cloak producers page 2015-06-03 16:28:43 +10:00
Rohan Mitchell
4d789b70ed Merge branch 'products-and-inventory-report' into combined/bulk-product-edit-and-ng-cloak 2015-06-03 15:12:29 +10:00
Maikel Linke
7302963605 inventory report: filter was broken because filter_to_order_cycle returned nil
[skip ci]
2015-06-03 15:11:32 +10:00
Rohan Mitchell
ad4e17b77a Merge branch 'master' into combined/bulk-product-edit-and-ng-cloak 2015-06-03 15:10:12 +10:00
Rohan Mitchell
cd8084ae3f Merge branch 'master' into parallel-tests
Conflicts:
	script/ci/run_tests.sh
2015-06-03 15:08:15 +10:00
Rohan Mitchell
41b348f594 Merge branch 'master' into combined/bulk-product-edit-and-ng-cloak 2015-06-03 15:05:51 +10:00
Rohan Mitchell
2b3689fd93 Run CI specs in parallel 2015-06-03 14:29:38 +10:00
Rohan Mitchell
db47c01784 Initial config for parallel spec running 2015-06-03 14:29:38 +10:00
Rohan Mitchell
769a04d2e0 Merge branch 'master' into optimise-shopfront 2015-06-03 13:02:58 +10:00
Rohan Mitchell
36dc0d5ccd Do not run performance specs in CI 2015-06-03 13:00:07 +10:00
Rohan Mitchell
b3878b126b Decouple generic injection spec from EnterpriseSerializer 2015-06-03 12:53:46 +10:00
Rohan Mitchell
c6f6c11a43 Add wait between clicks to fix race condition 2015-06-03 12:51:15 +10:00
Rohan Mitchell
473322c7e6 CI: Add more robust merge-to-master script 2015-06-03 12:25:28 +10:00
Rohan Mitchell
8afffdae9a Fix error when product does not have a master variant 2015-06-03 12:13:42 +10:00
Maikel Linke
4b6222bbe2 Updating spec using new button label 2015-06-03 12:08:47 +10:00
Maikel Linke
96177b7cd7 Add unique index to enterprise permalink 2015-06-03 11:57:22 +10:00
Maikel Linke
cb2adea59f Remove executable bit from a migration file 2015-06-03 10:16:29 +10:00
Rohan Mitchell
22230294ab Merge branch 'master' into optimise-shopfront 2015-06-03 10:07:42 +10:00
Maikel Linke
2853885f26 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into registration-wizard-text 2015-06-03 09:47:37 +10:00
Rohan Mitchell
fee854a3f8 Merge branch 'master' into redesign 2015-05-29 17:37:18 +10:00
Rohan Mitchell
e3085d9224 Merge branch 'producer-emails' of https://github.com/folklabs/openfoodnetwork into folklabs-producer-emails 2015-05-29 17:36:56 +10:00
Rohan Mitchell
3dbc2e0382 Merge branch 'master' into folklabs-producer-emails 2015-05-29 17:36:11 +10:00
Rohan Mitchell
a22da1ae51 Merge branch 'ng-cloak' into combined/bulk-product-edit-and-ng-cloak 2015-05-29 16:54:01 +10:00
Maikel Linke
159b33e2db Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into bulk-product-edit 2015-05-29 16:52:18 +10:00
Maikel Linke
0d3cdb9c69 Expand All button to show all variants in BPE 2015-05-29 16:51:55 +10:00
Rohan Mitchell
5c3a59acab ng-cloak order cycles selector, tabs and shopfront 2015-05-29 16:39:41 +10:00
Rohan Mitchell
50ae331d94 ng-cloak mobile menu 2015-05-29 16:03:16 +10:00
Maikel Linke
fe27b1d446 text changes to the registration wizard 2015-05-29 15:24:17 +10:00
Maikel Linke
bf935623dc changing default mailer url in development from test.com to 0.0.0.0:3000 2015-05-29 15:24:17 +10:00
Maikel Linke
678b591c18 Explain how to disable delayed jobs to send emails again 2015-05-29 15:24:16 +10:00
Rohan Mitchell
6f513fee77 Merge branch 'master' into redesign 2015-05-29 15:20:21 +10:00
Rohan Mitchell
7f73a4cc9b Fix column/row mixup 2015-05-29 15:19:35 +10:00
Maikel Linke
503b687ed1 Display distributor banner only if current_distributor is present 2015-05-29 15:19:05 +10:00
Rohan Mitchell
952353da8c Merge branch 'bulk-product-edit' into combined/single-order-patches-and-bulk-product-edit
Conflicts:
	spec/features/admin/bulk_product_update_spec.rb
2015-05-29 15:08:30 +10:00
Rohan Mitchell
e5b3736e86 Merge branch 'single-order-patches' into combined/single-order-patches-and-bulk-product-edit 2015-05-29 14:36:51 +10:00
Continuous Integration
c14de4e97f Auto-merge from CI [skip ci] 2015-05-29 14:29:23 +10:00
Rohan Mitchell
d478cc1f69 Serialize taxons and relatives in expected format 2015-05-29 14:03:44 +10:00
Continuous Integration
dccc9fb479 Auto-merge from CI [skip ci] 2015-05-29 12:44:44 +10:00
Rohan Mitchell
3f4f8afacd EnterpriseRelationship.relatives does not show duplicates 2015-05-29 12:19:38 +10:00
Rohan Mitchell
69c54e1d70 Only load activated relatives for EnterpriseInjectionData 2015-05-29 12:08:21 +10:00
Rohan Mitchell
cdbf02ca20 EnterpriseRelationship.relatives can find activated enterprises only 2015-05-29 12:07:43 +10:00
Rohan Mitchell
4ce9ea05f0 Merge branch 'master' into require_standard_variant 2015-05-29 10:12:14 +10:00
Rohan Mitchell
c75e14b383 Small edits 2015-05-29 09:55:40 +10:00
Rohan Mitchell
32b140ac88 Revert "Update group signup header copy"
This reverts commit 0a8bfdb872.
2015-05-29 09:54:09 +10:00
Rohan Mitchell
835b56b222 Attempt to fix intermittent failures in spec/features/consumer/authentication_spec.rb 2015-05-29 09:44:57 +10:00
Rohan Mitchell
7486daa2a3 Merge branch 'master' into require_standard_variant
Conflicts:
	spec/controllers/spree/admin/variants_controller_spec.rb
	spec/lib/open_food_network/permissions_spec.rb
	spec/lib/open_food_network/products_and_inventory_report_spec.rb
	spec/models/enterprise_spec.rb
2015-05-28 15:08:13 +10:00
Rohan Mitchell
8a79741c0e Update pricing tables and detail formatting 2015-05-28 14:58:46 +10:00
Continuous Integration
1d08ae89da Auto-merge from CI [skip ci] 2015-05-28 14:31:25 +10:00
Rohan Mitchell
1cf62e01e9 Edit case study text 2015-05-28 14:27:36 +10:00
Rohan Mitchell
0a8bfdb872 Update group signup header copy 2015-05-28 14:08:58 +10:00
Rohan Mitchell
92d67327dd Add groups case studies 2015-05-28 14:07:17 +10:00
Rohan Mitchell
acc976f44a Add hub case studies 2015-05-28 14:00:04 +10:00
Maikel Linke
bf9addfa42 Merge branch 'group-custom-url' into group-pages 2015-05-28 13:27:48 +10:00
Rohan Mitchell
31caf278d7 Add producer case studies 2015-05-28 12:39:40 +10:00
Rohan Mitchell
e81a955827 Add detail to hubs and producers signup pages 2015-05-28 12:21:25 +10:00
Rohan Mitchell
eb0e8dcd9c Copy changes to home page and link fix in footer 2015-05-28 12:21:08 +10:00
Maikel Linke
ff2eed7760 Using permalink in URLs pointing to groups 2015-05-28 11:27:40 +10:00
Maikel Linke
e4f93863fd Finding unique permalink before validation. 2015-05-28 11:27:40 +10:00
Maikel Linke
aef128f2c9 permalink editable 2015-05-28 11:27:40 +10:00
Maikel Linke
19448a182e Add permalink field to enterprise groups 2015-05-28 11:27:39 +10:00
Continuous Integration
a01a53caea Auto-merge from CI [skip ci] 2015-05-28 11:05:07 +10:00
Rohan Mitchell
7f43dbf9bb Fix further intermittent failures in permissions spec 2015-05-28 10:58:12 +10:00
Rohan Mitchell
97e49c2bdb Replace 'array.sort.should == expected.sort' pattern with match_array 2015-05-28 10:46:08 +10:00
Rohan Mitchell
ccf1e2951c Fix intermittent failure in permissions spec 2015-05-28 10:45:47 +10:00
Rohan Mitchell
3ab7df88e6 Allow serialization of nil enterprise 2015-05-27 16:32:15 +10:00
Rohan Mitchell
75f1f673ad Update spec for EnterpriseSerializer 2015-05-27 16:26:31 +10:00
Rohan Mitchell
e74390a013 Remove controller specs for @active_distributors, now set via helper 2015-05-27 16:26:08 +10:00
Rohan Mitchell
41bc67e2d8 Add benchmark for product serialisation 2015-05-27 15:44:02 +10:00
Rohan Mitchell
e1b4c3b1e4 Add benchmarking test for inject_enterprises 2015-05-27 15:44:02 +10:00
Rohan Mitchell
31b726613d Avoid loading enterprise injection data when it's not be needed due to caching 2015-05-27 15:44:01 +10:00
Rohan Mitchell
dd761719ee Fix undefined Api::IdSerializer error 2015-05-27 15:44:01 +10:00
Rohan Mitchell
1a887df412 Pull taxon computation out of the serialization loop 2015-05-27 15:44:01 +10:00
Rohan Mitchell
2c92b5a751 Find all supplied and distributed taxons 2015-05-27 15:44:01 +10:00
Rohan Mitchell
3afd636577 Pull relatives computation out of the serialization loop 2015-05-27 15:44:01 +10:00
Rohan Mitchell
cf79b90044 Load relatives of all enterprises in one go 2015-05-27 15:44:01 +10:00
Rohan Mitchell
4a59c85b3e Inject current hub from AMS rather than RABL 2015-05-27 15:44:01 +10:00
Rohan Mitchell
704955a185 Load active distributors where they're needed rather than in most controllers 2015-05-27 15:44:01 +10:00
Rohan Mitchell
ee8db23fd9 Pull shipping method service computations out of the serialization loop 2015-05-27 15:44:01 +10:00
Rohan Mitchell
f0e909c92b Look up the shipping services (pickup, delivery) that different hubs provide 2015-05-27 15:44:01 +10:00
Rohan Mitchell
f940984ca3 Pull earliest closing time computations out of the serialization loop 2015-05-27 15:44:01 +10:00
Rohan Mitchell
769edbe9d5 Find the earliest closing times for each distributor in an active order cycle 2015-05-27 15:44:01 +10:00
Rohan Mitchell
c5f00d87bd When loading products for shopfront, load all master variants in one go 2015-05-27 15:44:01 +10:00
Rohan Mitchell
99cb09c6f7 When loading products for shopfront, load all variants in one go 2015-05-27 15:44:01 +10:00
Rohan Mitchell
c8f14f1ee9 Fetch fonts through https, fixes mixed-security error that prevents fonts loading 2015-05-26 10:29:20 +10:00
Paul Mackay
baaa192967 #275: Code cleanup. 2015-05-24 10:44:39 +01:00
Paul Mackay
2f05fc3824 #275: Insert receival time and instructions into email. 2015-05-24 10:38:49 +01:00
Continuous Integration
5377af9cf9 Auto-merge from CI [skip ci] 2015-05-24 09:52:53 +10:00
Rick Giner
a5482c269f #541 Fixed issue of showing negative 'more' numbers, and only working for current Hub 2015-05-24 09:52:34 +10:00
Maikel Linke
5a43ed2046 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into bulk-product-edit 2015-05-22 18:17:20 +10:00
Maikel Linke
28dae3c6c6 Enterprises cannot add themselves to Groups 2015-05-22 15:23:59 +10:00
Rob Harrington
5d47dc2fdb Sort array so that order doesn't cause spec fail 2015-05-22 15:03:21 +10:00
Rob Harrington
5b65f67737 Amending spec expect after_create when we want after_save 2015-05-22 15:02:49 +10:00
Rob Harrington
e931f4b31f Merge branch 'master' into require_standard_variant 2015-05-22 12:22:54 +10:00
Rob Harrington
63f3ede766 Prepare master variants for duplication as standard variant by ensuring they have a unit value and that the product has a variant unit 2015-05-22 12:22:05 +10:00
Rob Harrington
d43df86201 Moving conditional logic into ensure_standard_variant 2015-05-22 12:20:31 +10:00
Maikel Linke
9c137ccf0f provide tax_categories in spec 2015-05-22 11:03:21 +10:00
Maikel Linke
7e4751cb3a updating bulk product js spec 2015-05-21 22:30:23 +10:00
Maikel Linke
e6b6303f5e Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into bulk-product-edit 2015-05-21 18:03:11 +10:00
Maikel Linke
9c884b31a3 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into single-order-patches 2015-05-21 18:01:16 +10:00
Maikel Linke
f017197221 orders list: filter by distributor and order cycle 2015-05-21 18:00:14 +10:00
Rob Harrington
cd44d43b3e Adding price to line_item serializer (oops, forgot to include when merging in master) 2015-05-21 17:48:35 +10:00
Rob Harrington
903ed7e507 Merge branch 'master' into variable_weights
Conflicts:
	app/assets/javascripts/admin/bulk_order_management.js.coffee
	app/views/spree/admin/orders/bulk_management.html.haml
	app/views/spree/api/line_items/bulk_show.v1.rabl
	spec/features/admin/bulk_order_management_spec.rb
2015-05-21 17:31:33 +10:00
Rob Harrington
79a59e2e81 Add order_with_distributor factory 2015-05-21 13:34:32 +10:00
Maikel Linke
73884d4f01 BPE: Display notice about variant overrides 2015-05-21 13:01:28 +10:00
Maikel Linke
2ed519ef50 on_demand checkbox for variants 2015-05-21 12:37:10 +10:00
Maikel Linke
1936767084 BPE: new col for tax category 2015-05-21 11:06:08 +10:00
Rob Harrington
0b28771364 Removing unrequired specs for variant/product 'units_show' 2015-05-20 21:06:20 +10:00
Rob Harrington
1aca4657d9 Oops, switch managed_products to editable_products for Api::ProductsController 2015-05-20 20:59:06 +10:00
Rob Harrington
3431c687b8 Making sure every created by factories has a distributor 2015-05-20 20:54:27 +10:00
Rob Harrington
65a6329132 Products and inventory reports scopes products to visible in permissions 2015-05-20 16:19:08 +10:00
Rob Harrington
8132f07d88 Adding visible products method to permissions 2015-05-20 15:53:10 +10:00
Maikel Linke
1e26466d11 bulk product edit: "on demand" for new product 2015-05-20 15:29:35 +10:00
Maikel Linke
6953f61939 bulk product edit: new col "on demand" 2015-05-20 15:07:22 +10:00
Rob Harrington
01d4cf6ecf Renaming managed_products permissions method to editable_products 2015-05-20 15:02:36 +10:00
Rob Harrington
05131de1ad Use full_name on BOM instead of options_text 2015-05-20 14:11:31 +10:00
Maikel Linke
0a0bb67277 No SKU for cloned products. Community topic 175 2015-05-20 14:05:14 +10:00
Rob Harrington
8d73b2f532 involving... order cycle scopes return distinct OCs 2015-05-20 13:47:01 +10:00
Rob Harrington
c56efabfbe Removing obsolete rabl templates 2015-05-20 11:52:49 +10:00
Rob Harrington
0ad2978926 Removing old managed route from api orders controller and switching BOM over to use new controller action 2015-05-20 11:48:48 +10:00
Rob Harrington
fc55a000b8 Adding managed controller action which uses new order serializer to render json 2015-05-20 11:48:13 +10:00
Rob Harrington
823adf3272 Translating existing order-related rabl templates accross to AMS 2015-05-20 11:45:48 +10:00
Rob Harrington
7f80c02c0e Adding route for managed route for admin orders 2015-05-20 11:45:05 +10:00
Maikel Linke
828456118b Remove forgotten binding.pry 2015-05-20 11:15:18 +10:00
Maikel Linke
fa87c53777 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into group-pages 2015-05-20 10:22:28 +10:00
Maikel Linke
6b956a8a38 Updating product clone spec 2015-05-20 10:19:37 +10:00
Maikel Linke
0c46f963ce Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into bulk-product-edit 2015-05-20 10:19:03 +10:00
Rob Harrington
312a6299a8 Making where clause unambiguous 2015-05-15 21:19:16 +10:00
Rohan Mitchell
f1899a7558 Merge branch 'master' into xero-report 2015-05-15 16:57:11 +10:00
Rohan Mitchell
70b5ac4785 Add column for whether the order has been paid for 2015-05-15 16:55:52 +10:00
Rohan Mitchell
f7642b2a1b When blank values are submitted, do not override defaults 2015-05-15 16:51:04 +10:00
Rohan Mitchell
a467d3c379 Add filtering to xero invoices report - order date range, hub and order cycle 2015-05-15 16:20:56 +10:00
Rohan Mitchell
3d4a0f8407 Xero invoices report: Preserve form fields on submit, do not show rows with no cost 2015-05-15 15:27:46 +10:00
Rohan Mitchell
3640a71ab8 Reorder methods 2015-05-15 15:05:18 +10:00
Rohan Mitchell
ca37efdd26 Display whether there is tax included in shipping 2015-05-15 12:44:48 +10:00
Rohan Mitchell
dc8270ed72 Display amounts on xero invoice report 2015-05-15 12:35:20 +10:00
Rohan Mitchell
0dcd8eb8cc Find adjustments with and without tax 2015-05-15 12:35:19 +10:00
Rohan Mitchell
ca1d88d8b1 Find line items with and without tax 2015-05-15 12:35:19 +10:00
Rohan Mitchell
5660e3737e Extract order rows generation to method 2015-05-15 12:35:19 +10:00
Rohan Mitchell
c5b618b1f4 Admin can customise some fields on Xero invoices report
Add require for xero invoices report spec
2015-05-15 12:35:14 +10:00
Rohan Mitchell
0737ac8da0 Write an rspec table matcher that gives informative error messages 2015-05-15 12:35:14 +10:00
Rohan Mitchell
0a2f2e0fba Output summary data without customisation
Add route for xero invoices report

Add require for reports controller decorator
2015-05-15 12:35:05 +10:00
Rohan Mitchell
38e1bd4139 Fix indentation 2015-05-15 12:17:16 +10:00
Rohan Mitchell
ef064819f9 Add spec for order_cycle_management report access 2015-05-15 10:41:29 +10:00
Rohan Mitchell
924492ec5b Merge branch 'ordercyclemanagementreports2' of https://github.com/lin-d-hop/openfoodnetwork into lin-d-hop-ordercyclemanagementreports2 2015-05-15 10:37:34 +10:00
Continuous Integration
e3723da65a Auto-merge from CI [skip ci] 2015-05-14 14:32:07 +10:00
Rob Harrington
c8502747be Fixing layout of customers index 2015-05-14 12:37:55 +10:00
Rob Harrington
78fc3e376b Fixing styling of inputs for with pending/success/error status 2015-05-14 11:39:37 +10:00
Rob Harrington
50d0d04994 Removing obsolete dataSubmitter service 2015-05-14 11:38:55 +10:00
Rohan Mitchell
b4755c37dc Merge branch 'analytics' into combined/fix-delayed-job-loop-and-analytics 2015-05-14 11:03:27 +10:00
Rohan Mitchell
7da403808c Style mobile menu [skip ci] 2015-05-13 16:56:49 +10:00
Rob Harrington
640c02570d Splitting out specs for switchClass service 2015-05-13 16:41:28 +10:00
Rob Harrington
3849b39d3e Splitting out specs for pending changes service 2015-05-13 16:39:43 +10:00
Rob Harrington
ffac0e4ceb Adding ngTagsInput to angular spec manifest 2015-05-13 16:06:38 +10:00
Rohan Mitchell
ec1290d687 Style home page for mobile 2015-05-13 15:59:36 +10:00
Rob Harrington
a473d0ed11 Checking in db version change 2015-05-13 15:58:03 +10:00
Rohan Mitchell
7946340dad Allow more phantomjs timeout to avoid the first-spec-timeout issue 2015-05-13 15:34:27 +10:00
Rohan Mitchell
b86872095a Add google analytics 2015-05-13 14:52:17 +10:00
Rohan Mitchell
5e5628d0c3 Fix shops path for spec 2015-05-13 14:31:40 +10:00
Rohan Mitchell
0ac7dbf23b Update spec references to removed file logo.jpg 2015-05-13 14:27:43 +10:00
Rohan Mitchell
14fdc7d3ae Move home spec to shops spec 2015-05-13 14:27:18 +10:00
Rohan Mitchell
238adc5354 Do not couple editable content to frequently-changing home page format 2015-05-13 14:18:00 +10:00
Rohan Mitchell
75e0c1d99e Conclusively remove cta1 2015-05-13 14:13:10 +10:00
Rohan Mitchell
ff44636040 Home controller functionality moved to shops controller 2015-05-13 14:10:21 +10:00
Rohan Mitchell
76e41e6c1e Basic consistency styling for groups signup page [skip ci] 2015-05-13 12:51:34 +10:00
Rohan Mitchell
92805b5442 Style producers signup page CTA pane 2015-05-13 12:46:11 +10:00
Rob Harrington
34f5cfb6b5 Completed orders require a customer, add association logic 2015-05-13 12:44:38 +10:00
Rob Harrington
1559b4e30a Adding customer reference to orders 2015-05-13 12:44:37 +10:00
Rob Harrington
ed941e211d Don't require a code on customer 2015-05-13 12:44:37 +10:00
Rob Harrington
dd9c192d48 Shuffling layout a little on customer index 2015-05-13 12:44:37 +10:00
Rob Harrington
b364994cc8 Adding tags input to customer index using ngTagsInput 2015-05-13 12:44:37 +10:00
Rob Harrington
3bc69242ce Style tweaks 2015-05-13 12:44:37 +10:00
Rob Harrington
d2e8b23dd4 Creating association between enterprise and customers 2015-05-13 12:44:37 +10:00
Rob Harrington
5b3c9842e4 Adding acts_as_taggable to customer model 2015-05-13 12:44:36 +10:00
Rob Harrington
a03c7a5f22 Adding ngTagsInput to admin assets 2015-05-13 12:44:36 +10:00
Rob Harrington
a60fd3d388 Installing ngTagInput 2015-05-13 12:44:36 +10:00
Rob Harrington
4c5e75c3f9 Adding acts-as-taggable-on gem 2015-05-13 12:44:36 +10:00
Rob Harrington
5b49e64bf2 Hiding bulk checkboxes on customer interface (for now) 2015-05-13 12:44:36 +10:00
Rob Harrington
9add073b17 User can update customer code from customer index page 2015-05-13 12:44:36 +10:00
Rob Harrington
734ad21e82 Customers controller responds with json 2015-05-13 12:44:35 +10:00
Rob Harrington
dcde2d88ad Adding Customer resource to resources service 2015-05-13 12:44:35 +10:00
Rob Harrington
4545e0ff95 Adding request defaults to index utils module 2015-05-13 12:44:35 +10:00
Rob Harrington
3890ba9a11 Wrapping pending changes service in a class 2015-05-13 12:44:35 +10:00
Rob Harrington
8f94390363 Moving a bunch of index related services from general admin module into indexUtils 2015-05-13 12:44:35 +10:00
Rob Harrington
a873278881 Moving line-item-upd-attr to indexUtils module, renaming to obj-for-update 2015-05-13 12:44:35 +10:00
Rob Harrington
2afd501af3 Wiring up update action for customers controller 2015-05-13 12:44:34 +10:00
Rob Harrington
8f35ccf007 Adding quick search and column dropdown to customers index 2015-05-13 12:44:34 +10:00
Rob Harrington
79d50a64ae BPE uses columns controller from intex utils 2015-05-13 12:44:34 +10:00
Rob Harrington
3e7d331892 BOM uses columns controller from index utils module 2015-05-13 12:44:34 +10:00
Rob Harrington
3b7ab086c9 Fix module name 2015-05-13 12:44:34 +10:00
Rob Harrington
69ba8540c1 Moving toggle_column directive to index_utils 2015-05-13 12:44:33 +10:00
Rob Harrington
5bd842fe1a Moving toggle_column directive to dropdown module 2015-05-13 12:44:33 +10:00
Rob Harrington
f5c0ae0f41 Moving dropdown to its own module folder and renaming 2015-05-13 12:44:33 +10:00
Rob Harrington
1c03e27686 Moving dropdown to its own folder 2015-05-13 12:44:33 +10:00
Rob Harrington
7a4f0e214c Adding customers index view 2015-05-13 12:44:33 +10:00
Rob Harrington
307302038a Adding customers controller, service and resource 2015-05-13 12:44:33 +10:00
Rob Harrington
c00c93816c Renaming spec file 2015-05-13 12:44:32 +10:00
Rob Harrington
b3d314cfdb Adding require line for index_utils module to all.js 2015-05-13 12:44:32 +10:00
Rob Harrington
b6d63d40c6 Pulling columns logic out into its own services/controller in a new indexUtils module 2015-05-13 12:44:32 +10:00
Rob Harrington
220f42fcf2 Customers controller serializes data for json requests, just renders view without data for html 2015-05-13 12:44:32 +10:00
Rob Harrington
37ff61d663 Adding basic routing to display customer index page 2015-05-13 12:44:32 +10:00
Rob Harrington
57dbc33a7b Adding resource service to determine submission request based on object type 2015-05-13 12:44:31 +10:00
Rob Harrington
b16fa9cdc1 Generalising datasubmitter pendingChanges and watcher directive 2015-05-13 12:44:31 +10:00
Rob Harrington
30bb948d35 Making ofn-line-item-upd-attr work without ng-model
Conflicts:
	app/assets/javascripts/admin/directives/line_item_upd_attr.js.coffee
	app/views/spree/admin/orders/bulk_management.html.haml
2015-05-13 12:44:31 +10:00
Rohan Mitchell
cbe715087c Make producers signup table same colours as hubs table 2015-05-13 12:37:07 +10:00
Rohan Mitchell
1f75974e1c Unify case studies styling 2015-05-13 12:26:37 +10:00
Rohan Mitchell
71f3a450c6 Move signup-related styles from home_panes into signup.css.sass 2015-05-13 12:03:46 +10:00
Rohan Mitchell
fb400df662 Update basic copy and layout on producers signup page 2015-05-13 11:45:25 +10:00
Rohan Mitchell
3520127c41 Fix infinite job loop 2015-05-13 11:06:42 +10:00
Rohan Mitchell
eac22df200 Merge branch 'master' into redesign
Conflicts:
	app/assets/javascripts/templates/product_modal.html.haml
2015-05-13 09:53:20 +10:00
Rohan Mitchell
845509b0c0 Style shops signup page 2015-05-12 13:51:31 +10:00
Rohan Mitchell
5a43c80231 Convert tabs to spaces 2015-05-12 12:26:35 +10:00
Rohan Mitchell
4e0478bbe9 Update copy and spacing on hubs page 2015-05-12 11:59:51 +10:00
Rohan Mitchell
d261ea617a A little more space between header and button 2015-05-12 11:50:40 +10:00
Rohan Mitchell
f416503bde Tighten up footer lock 2015-05-12 11:49:45 +10:00
Rohan Mitchell
0184925ac8 Switch out footer logo for logo with no text 2015-05-12 11:41:49 +10:00
Rohan Mitchell
ebc452b1e2 Style home page stats pane 2015-05-12 11:33:07 +10:00
Rohan Mitchell
7b36f9dbf8 Add friendly icons for home systems pane 2015-05-12 10:45:42 +10:00
Rohan Mitchell
b2f687cd11 Style home panes (all except stats) 2015-05-12 10:21:52 +10:00
Rohan Mitchell
5a63353004 Extract transparent button style, use on home tagline and CTA2 2015-05-12 10:14:47 +10:00
Rohan Mitchell
7c37b4783a Avoid adding top padding on mobile menu 2015-05-12 10:10:52 +10:00
Rohan Mitchell
8178076dd2 Use more subtle background for tile image 2015-05-12 10:09:14 +10:00
Rohan Mitchell
25aede1bdf Brighten landscape home hero image 2015-05-12 10:08:39 +10:00
Rick Giner
e801d6199a Passing in $event in other views that call toggle() 2015-05-11 20:33:35 +10:00
Rick Giner
62ae38372e #541 add "show more" link to producers lists in hub on home page 2015-05-11 20:31:24 +10:00
Paul Mackay
955f41633a Merge remote-tracking branch 'refs/remotes/origin/master' into producer-emails 2015-05-11 08:36:09 +01:00
Rohan Mitchell
b2d8d9fdfd Make nav menu centered, logo a little larger 2015-05-11 17:32:02 +10:00
Rohan Mitchell
fec375fbea Decrease padding on brand story 2015-05-11 16:52:39 +10:00
Rohan Mitchell
5498d03660 Add zoomed-in tile 2015-05-11 16:52:01 +10:00
Rohan Mitchell
82334036d1 Orange-styled tile 2015-05-11 16:43:53 +10:00
Rohan Mitchell
fa6b0fac3f Add landscape hero image 2015-05-11 16:36:26 +10:00
Rohan Mitchell
f99333dbd5 Remove trailing whitespace 2015-05-11 16:35:50 +10:00
Rohan Mitchell
9ee6ef06da Return logo to smaller size
This reverts commit 460d0c9907.
2015-05-11 16:14:30 +10:00
Rohan Mitchell
460d0c9907 Increase size of logo to fill page above the fold. Remove cta1 pane. 2015-05-11 15:53:46 +10:00
Rohan Mitchell
14afe932c1 Resize menu logo, make it always fully opaque 2015-05-11 14:39:53 +10:00
Rohan Mitchell
978c176cf6 Remove filter on hero image, set up superimposed logo and shop now CTA 2015-05-11 14:37:28 +10:00
Rohan Mitchell
3e82deb1f5 Add new home hero images 2015-05-11 14:32:07 +10:00
Rick Giner
b7c1a43125 Issue #540 Fix up hub list navigation 2015-05-10 18:13:30 +10:00
Rick Giner
98c1a95bd1 Issue #531 remove Google map road markers 2015-05-10 16:51:56 +10:00
Rick Giner
9c3ec950fc Revert "ginerr_#531_remove Google map road markers"
This reverts commit 3e2117134f.
2015-05-10 16:50:58 +10:00
Rick Giner
3e2117134f ginerr_#531_remove Google map road markers 2015-05-10 16:50:00 +10:00
Lynne
90dd1ea4a2 Merge pull request #1 from openfoodfoundation/variable_weights
Merging
2015-05-09 19:25:30 +01:00
Lynne Davis
26ee5c49b2 Fixing merge conflicts 2015-05-09 19:14:50 +01:00
Lynne Davis
3179887842 Do not allow line_item.unit_value to be updated if the variant.unit_value is zero 2015-05-09 19:12:24 +01:00
Lynne Davis
4d025ee7a9 Updating the spec based on @Robs suggestions, hoping for his insights. Still doesn't work. 2015-05-09 19:10:55 +01:00
Lynne Davis
521834bd76 Populate the line item unit value, when line_item created and update old data in migration 2015-05-09 19:10:55 +01:00
Lynne Davis
662c7fe368 Removing notes to myself from this file 2015-05-09 19:10:55 +01:00
Lynne Davis
54da7ae241 Adding additional logic for if the line_item unit_value is nil 2015-05-09 19:10:55 +01:00
Lynne Davis
2a991ad130 Variable Weights: Adding ability to update the weight/volume of a line_item after checkout. The price of the line_item is automatically updated to reflect the value of the new weight. 2015-05-09 19:10:55 +01:00
Lynne Davis
2f463474fb Adding specs for variable weight adjustment via builk order management 2015-05-09 19:10:55 +01:00
Lynne Davis
f7ade48e86 Update DB schema to store updatable weight on items sold 2015-05-09 19:10:55 +01:00
Paul Mackay
fd37324359 #536: Add permissions checking for Notify producers action. 2015-05-09 11:02:25 +01:00
Continuous Integration
3d0880857a Auto-merge from CI [skip ci] 2015-05-08 16:24:39 +10:00
Rohan Mitchell
8cb8aacefe Switch logo for white menu 2015-05-08 16:07:59 +10:00
Rohan Mitchell
6fc9789477 Invert colours on top menu 2015-05-08 15:11:54 +10:00
Rohan Mitchell
6322fdc1f0 Disable top alert 2015-05-08 15:03:37 +10:00
Continuous Integration
df14c10608 Auto-merge from CI [skip ci] 2015-05-08 13:45:56 +10:00
Rohan Mitchell
1531c476e3 Merge branch 'master' into require_standard_variant
Conflicts:
	spec/controllers/spree/admin/variants_controller_spec.rb
2015-05-08 13:45:31 +10:00
Rohan Mitchell
e8c8d8885c Merge branch 'master' into single-order-patches 2015-05-08 12:42:56 +10:00
Rohan Mitchell
768c9f24a2 Make topbar height configurable 2015-05-08 11:22:55 +10:00
Rohan Mitchell
a450d3af81 Variables can now be used to override foundation vars 2015-05-08 11:15:27 +10:00
Rohan Mitchell
f6c1be97a8 WIP: Fix apostrophes, add TODO 2015-05-07 15:03:27 +10:00
Rohan Mitchell
6fb3fa55a1 Allow extended time for all parts of this spec to fix intermittent fails 2015-05-07 14:23:58 +10:00
Rob Harrington
f3f0766279 Adding a distributor to order cycle to fix broken feature spec 2015-05-07 12:50:57 +10:00
Rob Harrington
0d5ce5ff57 Fixing issues with reports controller spec 2015-05-07 12:50:57 +10:00
Rob Harrington
68b4cb59be Fixing bulk management specs broken by making order_cycles filter update dates 2015-05-07 12:50:57 +10:00
Rob Harrington
f88fdac710 Adding module - doh! 2015-05-07 12:50:56 +10:00
Rob Harrington
a7019e7e78 Adding permissions method for order report enterprises 2015-05-07 12:50:56 +10:00
Rob Harrington
bd66091d75 Push logic for checking of user super admin status down into private method 2015-05-07 12:50:56 +10:00
Rob Harrington
d8f5669fbb Renaming granted > related_enterprises_granted 2015-05-07 12:50:56 +10:00
Rob Harrington
5806f50a84 Renaming granting > related_enterprises_granting 2015-05-07 12:50:56 +10:00
Rob Harrington
5cd528a87d Removing obsolete related_enterprises_with permission method 2015-05-07 12:50:56 +10:00
Rob Harrington
f0f7e0ee2f Making permissions method managed_and_related_enterprise_with method more specific 2015-05-07 12:50:56 +10:00
Rob Harrington
7ffe0f042e Moving accessible_by scope on Enterprise to permissions 2015-05-07 12:50:55 +10:00
Rob Harrington
f79fba52be Hiding personal details of customers, where the user does not manage the distributor of the order or the coordinator of the order cycle 2015-05-07 12:50:55 +10:00
Rob Harrington
4259b466f5 Using new order and line item permissions to fetch items to display in Orders and Fullfillment reports 2015-05-07 12:50:55 +10:00
Rob Harrington
0a03483e36 Adding permissions methods for visible and editable orders and line_items 2015-05-07 12:50:55 +10:00
Rob Harrington
28bf7037db Updating methods for retrieving allowed producers, distributors and order cycles for order and fulfillment reports 2015-05-07 12:50:55 +10:00
Rob Harrington
ed9bbe2c45 Sorting Hub and Producer filter selectors by name 2015-05-07 12:50:55 +10:00
Rob Harrington
b5c7607d67 Order cycle filter resets date filters on BOM 2015-05-07 12:50:55 +10:00
Rob Harrington
e640376d63 Don't load cancelled orders into bulk order management 2015-05-07 12:50:54 +10:00
Rob Harrington
9ab16d8cec Allowing calls to Api::OrderCyclesController#accessible to specify :as => 'distributor' or 'producer' 2015-05-07 12:50:54 +10:00
Rob Harrington
d8c23d37ac Update accessible_by scope on enterprise, to read from permissions 2015-05-07 12:50:54 +10:00
Rob Harrington
89b153dc2c Update AJAX request to use sells instead of deprecated is_distributor attribute 2015-05-07 12:50:54 +10:00
Rohan Mitchell
bd6bac8874 Display deployment output in real time
This reverts commit 485eee4bdd.
2015-05-06 20:02:22 +10:00
Rohan Mitchell
50d2ddc05f Add progress comments 2015-05-06 20:00:50 +10:00
Rohan Mitchell
10b7a86745 Add debugging to merge script 2015-05-06 19:50:06 +10:00
Rohan Mitchell
6d33dc5070 Add script to merge master into the current branch if required before running specs 2015-05-06 19:41:36 +10:00
Rohan Mitchell
d109e898d2 Preserve newlines when displaying deploy script output 2015-05-06 19:38:20 +10:00
Rohan Mitchell
3dee29cd12 Remove build badge - master branch is always green 2015-05-06 19:37:21 +10:00
Rohan Mitchell
0921cd2dfa Merge branch 'master' into single-order-patches 2015-05-06 18:13:55 +10:00
Rohan Mitchell
7b4130972b Fix first feature spec sometimes timing out 2015-05-06 18:12:17 +10:00
Rohan Mitchell
485eee4bdd Deploy scripts display their output 2015-05-06 18:07:50 +10:00
Rohan Mitchell
f84e704d99 Retry simple push-to-master script 2015-05-06 17:59:36 +10:00
Rohan Mitchell
ad7e5a45bb Add updated merge script 2015-05-06 17:58:36 +10:00
Rohan Mitchell
d9404d3332 Merge branch 'master' into single-order-patches 2015-05-06 17:29:23 +10:00
Rohan Mitchell
f024f62970 Content-manage footer fields 2015-05-06 16:36:10 +10:00
Rohan Mitchell
bf435a8f3d Make home page what's happening text and about URL configurable 2015-05-06 15:17:28 +10:00
Rohan Mitchell
01d1e84f85 Update global links 2015-05-06 15:15:09 +10:00
Rohan Mitchell
e43d726b97 Merge branch 'master' into payments-report-fix 2015-05-06 14:55:10 +10:00
Rohan Mitchell
b5a6f9c1bc Add infrastructure so admin can configure content. Make homepage tagline CTA configurable. 2015-05-06 14:54:16 +10:00
Rohan Mitchell
1ffba674b3 Show real stats on home page 2015-05-06 14:54:16 +10:00
Rohan Mitchell
e662aab004 Brand story can be expanded and contracted 2015-05-06 14:54:16 +10:00
Rohan Mitchell
abee9c8198 Update security text and licensing 2015-05-06 14:54:15 +10:00
summerscope
3bca1f2070 Tweaks to homepage styling 2015-05-06 11:32:47 +10:00
Rob Harrington
8788322492 Alllowing payments in payment reports to access soft-deleted payment methods 2015-05-06 11:10:50 +10:00
summerscope
808979a8e0 Add a to do note for Rohan in css 2015-05-06 09:44:45 +10:00
summerscope
b0f76330b7 Changing order of events on homepage to make shopping the most obvious thing on homepage. 2015-05-06 09:38:49 +10:00
summerscope
216f99d1c7 New link for footer - updated URL 2015-05-05 16:14:18 +10:00
summerscope
31c4af154e Applying Jay's copy to homepage 2015-05-05 15:44:36 +10:00
summerscope
e7d09f1b55 Change copy as supplied by Jay 2015-05-05 15:32:04 +10:00
summerscope
62a39af975 Make assets for home even smaller 2015-05-05 15:11:52 +10:00
summerscope
c0b12e39a8 Tweaking styling on shopfront header 2015-05-05 14:59:37 +10:00
summerscope
75055300e3 Adding comments into Footer for CMS implementation stuff with Rohan 2015-05-05 14:56:11 +10:00
summerscope
af4fe27f31 Adding comments for CMS implementation stuff with Rohan 2015-05-05 14:53:25 +10:00
summerscope
faa490b093 Reslice to optimise for web & reduce file size 2015-05-05 14:53:07 +10:00
summerscope
4da6bef639 Removing unused assets. Adding some todo notes. Optimising PNG assets to reduce file size. 2015-05-05 13:35:51 +10:00
Rohan Mitchell
63ec0d7dcf Merge branch 'master' into folklabs-producer-emails 2015-05-05 11:48:31 +10:00
summerscope
ae221f0416 Remove clashing padding classes 2015-05-04 23:02:33 +10:00
summerscope
924efec49c Add animation class to make consistent with Hubs and Producers.
Remove class .animate-repeat
2015-05-04 22:59:48 +10:00
summerscope
9082da6d5e Remove animation from search field, add to group nodes 2015-05-04 22:57:07 +10:00
summerscope
eabe0e43e2 Fix the big input styling to work better with new typography 2015-05-04 22:55:57 +10:00
summerscope
91afbaca4b Fixing name-space clash in footer 2015-05-04 22:49:10 +10:00
summerscope
2736421460 First cut at Groups landing page for sign up. 2015-05-04 22:42:14 +10:00
summerscope
84c2faddd5 Adding new link to footer 2015-05-04 22:19:33 +10:00
Rob Harrington
9ebbdd8dc7 Adding route for groups/signup
Conflicts:
	config/routes.rb
2015-05-04 22:14:43 +10:00
summerscope
0510fa27e6 More design tweaks for homepage and conversion pages 2015-05-04 18:23:04 +10:00
summerscope
b483afe7f7 Styling Producers page - simpler and to be more in-line with Shops page 2015-05-04 14:36:12 +10:00
summerscope
41fb44c19b More styling on pricing table
Remove middle column
2015-05-04 14:33:03 +10:00
summerscope
938358007a > More styling for landing pages for signup
> Add signup page for groups / food systems partners
> Change link in footer
2015-05-04 13:44:35 +10:00
summerscope
503c483acd Tweak language 2015-05-04 13:16:18 +10:00
summerscope
3091b365ec Adding in logos for case studies
More styling on signup pages
2015-05-04 13:15:18 +10:00
Rick Giner
368402f115 Changed selectors' ng-repeat. Using existing variable instead of method call 2015-05-03 15:24:16 +10:00
Rick Giner
9e70c80d1d bind-once in product modal 2015-05-03 14:48:27 +10:00
Rick Giner
8fb11defdb bind-once in groups home page 2015-05-03 14:41:34 +10:00
Rick Giner
9c26b3ebb2 bind-once in partials 2015-05-03 14:34:42 +10:00
Rick Giner
3fc616cdff bind-once on hubs 2015-05-03 14:11:09 +10:00
Rick Giner
16e9f0545b bind-once in products 2015-05-03 14:02:33 +10:00
Rick Giner
a3664d4448 Added bindonce and ng-if improvements to Producers templates 2015-05-03 12:51:59 +10:00
summerscope
36838ed457 Hubs signup page WIP styling 2015-05-02 21:49:01 +10:00
summerscope
9a0e9145ef Adding more logic to force padding for shopfront page whether populated with products or not. 2015-05-02 20:25:23 +10:00
summerscope
572ab14c0b Removing BG image from producers page. This isn't part of changing design per instance (for the moment at least) 2015-05-02 20:18:07 +10:00
summerscope
1090328a3c Adding padding class and apply to templates to have required padding for new footer. 2015-05-02 20:12:33 +10:00
summerscope
89a537c3f7 Image assets - removing old brand. Adding new versions for new look & feel. 2015-05-02 18:25:46 +10:00
summerscope
e6d00e00c4 WIP button tweaks for new look & feel 2015-05-02 18:25:38 +10:00
summerscope
ddde4e9dcb WIP producers signup page markup 2015-05-02 18:25:23 +10:00
summerscope
3dbe45172d Registration markup tweak with new icons 2015-05-02 18:24:55 +10:00
summerscope
2db6d5fe65 Registration styling tweak for new look & feel 2015-05-02 18:24:40 +10:00
summerscope
6d904b4700 Adding in styling for signup panes for Producers and Hubs 2015-05-02 18:24:18 +10:00
summerscope
4cb0158b21 Add in link for Regional founders user types - to send back to global site 2015-05-02 18:23:42 +10:00
summerscope
4f145104d2 Update mailer to new logo - should be instance specific (e.g. UK, AUS, etc.) 2015-05-02 17:58:35 +10:00
summerscope
fd90da6868 Shops landing page - adding info pane and copy with Jay. 2015-05-02 16:02:18 +10:00
summerscope
330d23c606 Move alert for 'join now' off global template onto homepage template only. 2015-05-02 15:23:12 +10:00
summerscope
5f193bc9ae More styling for homepage panes. 2015-05-02 15:20:51 +10:00
summerscope
0086066ea5 WIP on How does it work pane on homepage 2015-05-02 13:58:57 +10:00
summerscope
5198d52f0d Design assets for new UI 2015-05-02 13:58:47 +10:00
summerscope
7b8b53854e More WIP on homepage layout etc. 2015-05-01 18:46:39 +10:00
summerscope
03508f98d8 Homepage tagline styling for mobile / responsive 2015-05-01 18:24:07 +10:00
summerscope
53e2bc823d WIP styling and content for homepage
> footer
> alert @ top
> call to action buttons
2015-05-01 18:19:51 +10:00
Maikel Linke
11acb3ba59 Allow to remove adjustments
Managers of an order cycle and the distributor of an order are allowed
to remove an adjustment from the order.
2015-05-01 15:59:46 +10:00
Maikel Linke
2edf5aeccd Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into bulk-product-edit 2015-05-01 15:05:14 +10:00
Maikel Linke
993183f2f5 updating js spec: cloning product calls insertProductAfter now 2015-05-01 15:04:12 +10:00
Rohan Mitchell
e91de69d5a Merge branch 'master' into pin-refunds 2015-05-01 14:58:19 +10:00
Rohan Mitchell
03ae740cd6 Revert "Display header for Xero invoices report"
This reverts commit a6cecdcc25.
2015-05-01 14:55:26 +10:00
summerscope
d9fd0b284d WIP on home panes and layout 2015-05-01 14:52:17 +10:00
Maikel Linke
7c55285708 Merge branch 'master' of github.com:openfoodfoundation/openfoodnetwork into single-order-patches 2015-05-01 14:50:51 +10:00
Maikel Linke
e6e063670c Allow managers to remove line items from order
Managers of an order cycle and the distributor of an order are allowed to
remove a line item from the order.
2015-05-01 14:49:34 +10:00
summerscope
e1beae98ab WIP on redesign / layout job
> adding in new design assets
> copy and layout for homepage partials
> more global styling updates
2015-05-01 14:41:48 +10:00
Rohan Mitchell
153604dd64 Merge branch 'single-order-patches' 2015-05-01 14:39:17 +10:00
Maikel Linke
b7bac326bd admin order edit: re-label update button to "update and recalculate fees" 2015-05-01 12:05:43 +10:00
Rohan Mitchell
a6cecdcc25 Display header for Xero invoices report 2015-05-01 11:59:52 +10:00
Maikel Linke
baabb5c07f fixing BPE feature spec 2015-05-01 11:30:26 +10:00
Rohan Mitchell
91ca5f0213 Fix specs for receival_time / instructions 2015-05-01 10:08:24 +10:00
Rohan Mitchell
f5b45fa0ba Merge branch 'master' into folklabs-producer-emails 2015-05-01 09:51:01 +10:00
summerscope
427f535026 Redesign big chunk of work:
> setting up pages for Shops, and shops signup, producers signup
> setting up routes for new pages
> changing fonts to Google Oswald & Roboto
> setting up homepage partials and removing partials no longer required
> changing menu links and labels
2015-04-30 18:20:17 +10:00
summerscope
ae16589717 New version of logo sliced for OFN Australia 2015-04-30 17:55:18 +10:00
Maikel Linke
66f847f673 showing save button at the bottom as well 2015-04-30 17:22:54 +10:00
Maikel Linke
af78859db6 Merge remote-tracking branch 'origin/master' into single-order-patches 2015-04-30 17:18:02 +10:00
Maikel Linke
295da25dd2 insert clone after cloned product 2015-04-30 17:17:28 +10:00
Maikel Linke
5efc0a5110 quick fix: update fees after updating order 2015-04-30 16:29:51 +10:00
Rohan Mitchell
2c7a5c0656 Update Spree - fixes bug where Payment#method_missing depends on #provider already called. 2015-04-30 15:49:48 +10:00
Rohan Mitchell
0b652a2113 Add refund icon 2015-04-30 15:49:48 +10:00
Rohan Mitchell
b498c28632 Payments can be refunded 2015-04-30 15:49:48 +10:00
Rohan Mitchell
8184a7c7b2 Pin payments can't void or credit, but they can refund 2015-04-30 15:49:48 +10:00
Rohan Mitchell
b09ae550c8 Add spec for payment actions 2015-04-30 15:49:48 +10:00
Rohan Mitchell
f4df227ef0 Buildkite should now support Fuubar 2015-04-30 13:54:27 +10:00
Rohan Mitchell
a207f50aeb Merge branch 'master' into delay-devise-emails
Conflicts:
	script/run_tests.sh
2015-04-30 12:29:06 +10:00
Rohan Mitchell
73376b30e2 Convention 2015-04-29 15:56:27 +10:00
Rohan Mitchell
3565548e91 Extract data preparation into private methods 2015-04-29 15:50:42 +10:00
Rohan Mitchell
6999bcfd4e Only include complete orders in producer mailer report 2015-04-29 15:43:50 +10:00
Rohan Mitchell
2fe5d7c73f Remove commented code, use neater syntax for accessing Spree config var 2015-04-29 15:33:39 +10:00
Rohan Mitchell
3a3bf19cf8 Clean up duplication 2015-04-29 15:31:42 +10:00
Rohan Mitchell
30e04b509d Clean up routes 2015-04-29 15:31:13 +10:00
Rohan Mitchell
4279742de5 Avoid serialising entire order cycle when enqueuing OrderCycleNotificationJob 2015-04-29 15:21:05 +10:00
Rohan Mitchell
713c93a570 Fix OrderCycleFormApplicator specs 2015-04-29 15:00:22 +10:00
Rohan Mitchell
36584f0177 Remove puts from specs, fix failing controller spec 2015-04-29 14:46:20 +10:00
Rohan Mitchell
6b1c125b03 Merge branch 'producer-emails' of https://github.com/folklabs/openfoodnetwork into folklabs-producer-emails
Conflicts:
	Gemfile.lock
	app/controllers/admin/order_cycles_controller.rb
	app/views/admin/order_cycles/edit.html.haml
	app/views/admin/order_cycles/show.rep
	db/schema.rb
	spec/controllers/admin/order_cycles_controller_spec.rb
2015-04-29 14:42:17 +10:00
Maikel Linke
ecf635e080 handle missing bill_address on admin order page 2015-04-29 14:32:13 +10:00
Maikel Linke
2e66a082eb add customer notes to admin order index page 2015-04-29 14:31:59 +10:00
Rob Harrington
992fb2347d Merging master branch into require_standard_variant 2015-04-29 14:30:49 +10:00
Rohan Mitchell
3b61d7a1e0 Add ref for country ISO codoes 2015-04-29 14:12:08 +10:00
Rohan Mitchell
c3f99d7540 Merge branch '441-default-country' of https://github.com/folklabs/openfoodnetwork into folklabs-441-default-country 2015-04-29 14:07:58 +10:00
Maikel Linke
f6d87eee87 Merge remote-tracking branch 'origin/master' into single-order-patches 2015-04-29 13:20:44 +10:00
Maikel Linke
e82a3a9d82 add ship button to admin order index page 2015-04-29 12:30:05 +10:00
Maikel Linke
8511bd19ce add ship button to order edit page 2015-04-29 12:03:49 +10:00
Maikel Linke
1268108877 handle ship event on order 2015-04-29 12:03:11 +10:00
Maikel Linke
2b0f867ed8 new order method ready_to_ship? 2015-04-29 11:42:35 +10:00
Rob Harrington
a253b88525 Fixing line item controller spec 2015-04-29 10:42:38 +10:00
Paul Mackay
0f1ec17698 #275: Use better path variable in test. 2015-04-28 16:08:26 +01:00
Lynne Davis
9e61a7d083 Adding report type drop down to order_cycle_management_report 2015-04-26 11:03:32 +01:00
Lynne Davis
6bbd3f7c13 Added auth for order_cycle_management_report. This report was breaking supplier enterprises reports due to incorrect authorization. 2015-04-26 11:02:06 +01:00
Lynne Davis
d344c3dec8 Updating the spec based on @Robs suggestions, hoping for his insights. Still doesn't work. 2015-04-24 16:22:17 +01:00
Lynne Davis
6045283549 Populate the line item unit value, when line_item created and update old data in migration 2015-04-24 16:17:00 +01:00
Lynne Davis
162a565140 Removing notes to myself from this file 2015-04-24 16:14:24 +01:00
Rob Harrington
6a4de7c7e2 Hiding filters on list views because styling is broken 2015-04-24 19:35:18 +10:00
Rob Harrington
505fd8ff96 Merge branch 'properties' of github.com:openfoodfoundation/openfoodnetwork into properties 2015-04-24 17:20:41 +10:00
Rob Harrington
b1b1bfd8f6 Resolve conflict for overflow dropdown between multiple single-line-selectors on the one page 2015-04-24 16:05:39 +10:00
Maikel Linke
f94a5a975a Edit Order: resend button uses new pretty template. 2015-04-24 15:31:45 +10:00
Rohan Mitchell
29faa5f3c6 Merge branch 'master' into properties 2015-04-24 15:14:52 +10:00
Rohan Mitchell
8e2c224d4d cd before sourcing includes 2015-04-24 15:00:49 +10:00
Rohan Mitchell
bb2f2a6f54 Also stop delayed job before loading staging baseline 2015-04-24 15:00:38 +10:00
Rob Harrington
dab3b59f6a Merge branch 'master' into properties 2015-04-24 14:00:08 +10:00
Rob Harrington
bdf462926d Ensure that producer properties have a position 2015-04-24 13:05:01 +10:00
Maikel Linke
355221a273 Adding customer name to order edit page heading 2015-04-24 12:33:25 +10:00
Rob Harrington
ad2df56bf1 Merge branch 'require_standard_variant' of github.com:openfoodfoundation/openfoodnetwork into require_standard_variant 2015-04-24 12:19:27 +10:00
Rohan Mitchell
9149276048 Kill any postgres connections before dropping and recreating database 2015-04-24 12:17:39 +10:00
Rob Harrington
ed7b763ecf UnitsCtrl can interpret unit_value_with_description without a separating space 2015-04-24 12:15:35 +10:00
Rob Harrington
05c350b5ff Refactoring unitsCtrl 2015-04-24 11:27:47 +10:00
Rob Harrington
c66a7e44b6 Updating product model specs to reflect changes to properties 2015-04-23 15:37:41 +10:00
Rob Harrington
9eb99d1c4a Merge branch 'master' into properties 2015-04-23 14:18:30 +10:00
Rob Harrington
57be445bd4 Merge branch 'master' into require_standard_variant 2015-04-23 14:18:11 +10:00
Rob Harrington
6cde1f7732 Add tooltip with value for selectors 2015-04-23 14:11:50 +10:00
Rob Harrington
7b83438b5e Pulling property values into the shopfront 2015-04-23 13:51:49 +10:00
Rob Harrington
e6a98747b4 correction in read only logic for filter selectors 2015-04-23 13:32:56 +10:00
Rob Harrington
ed15b95de0 Adding properties and taxons to producer modal 2015-04-23 12:31:20 +10:00
Rob Harrington
3df2720b31 Making filter selectors more flexible, allowing no active-selectors to be passed in, ie. read-only 2015-04-23 12:31:06 +10:00
Maikel Linke
eff8681d9b Merge branch 'master' into single-order-patches 2015-04-23 12:11:44 +10:00
Maikel Linke
a937fd3c61 Using variant overrides in variant seach on order edit page 2015-04-23 11:37:10 +10:00
Maikel Linke
3412bc25bf Edit Orders: more variant info in variant search
Displaying variant's full name and the producer's name.
2015-04-23 10:17:01 +10:00
Maikel Linke
f1a8011e13 Documentation of Variant.full_name
The code was confusing for all developers here. Maybe a bit of doco
helps.
2015-04-23 10:02:32 +10:00
Rohan Mitchell
f70bfee481 Merge branch 'master' into require_standard_variant 2015-04-23 09:56:41 +10:00
Rohan Mitchell
92e03e208f Extract load_environment method 2015-04-23 07:23:34 +10:00
Rob Harrington
76d6345ab5 Merge remote-tracking branch 'origin/master' into require_standard_variant 2015-04-22 21:02:47 +10:00
Rob Harrington
0251d8962d Adding sku to BPE 2015-04-22 21:02:07 +10:00
Rob Harrington
1c617994fc User can toggle property inheritence from product property page, and checking the box shows a list of producer properties that will be inherited from 2015-04-22 21:02:07 +10:00
Rob Harrington
4a4b3da551 Using properties_including_inherited for product properties on the shop page 2015-04-22 21:02:07 +10:00
Rob Harrington
e546388784 Rename properties_h to properties_including_inherited 2015-04-22 21:02:07 +10:00
Rob Harrington
976c24cf4c properties_h uses inherit_properties flag, and returns property id rather than presentation 2015-04-22 21:02:07 +10:00
Rob Harrington
f610a709e1 Adding inherits_properties to BPE 2015-04-22 21:02:06 +10:00
Rob Harrington
5d6f265c0a Moving spree namespaced serializers into admin 2015-04-22 21:02:06 +10:00
Rob Harrington
1f293bb787 Adding inherits properties flag to products 2015-04-22 21:02:06 +10:00
Rob Harrington
a4a41ae26a Refactor properties_h 2015-04-22 21:02:06 +10:00
Rohan Mitchell
7aeeb6d18f Add script to run JS specs in CI 2015-04-22 16:36:31 +10:00
Rohan Mitchell
7a78f4870a Use phantomjs for js specs, so we can run them in CI 2015-04-22 16:33:44 +10:00
Rohan Mitchell
28c79cdb50 Use db:test:load instead of db:test:prepare in CI to avoid conflicts between branches 2015-04-22 15:01:22 +10:00
Rohan Mitchell
b9e3ff54b8 Add build script to merge to master 2015-04-22 14:47:54 +10:00
Rohan Mitchell
0c0be0112e Update paths to include ci 2015-04-22 14:31:30 +10:00
Rohan Mitchell
883a2e0a0e WIP: Move CI scripts to their own folder 2015-04-22 14:29:59 +10:00
Rohan Mitchell
6c81109b17 Local branch isn't checked out, so we need to test remote branch 2015-04-22 14:17:07 +10:00
Rohan Mitchell
1c9a95b3d6 Set execute bit 2015-04-22 13:19:17 +10:00
Rohan Mitchell
53c4c8b5b7 Push to staging fails unless master has been merged into current branch 2015-04-22 13:16:39 +10:00
Rohan Mitchell
d406f9ccdf Tests fail unless master has been merged into current branch 2015-04-22 13:14:51 +10:00
Rohan Mitchell
7d4a4f8f9d Pushing to staging first loads staging baseline data 2015-04-22 12:55:36 +10:00
Rohan Mitchell
35536a629c Set execute bit 2015-04-22 12:55:36 +10:00
Rob Harrington
699a28e14c Merge branch 'master' into require_standard_variant 2015-04-22 10:58:43 +10:00
Rohan Mitchell
7b8938b5f6 Run password reset job for spec that requires it 2015-04-22 07:32:22 +10:00
Rohan Mitchell
b2717ffca0 Use db:test:load instead of db:test:prepare in CI to avoid conflicts between branches 2015-04-21 16:40:45 +10:00
Rohan Mitchell
700cb73b8f Send enterprise confirmation emails asynchronously 2015-04-21 16:19:02 +10:00
Rohan Mitchell
9d225142c8 Send password reset instructions asynchronously 2015-04-21 16:10:40 +10:00
Rohan Mitchell
998288e21f Keep failed jobs around for debugging. Limit max runtime to 15 mins (we're only sending emails at present). Notify bugsnag of errors in jobs. 2015-04-21 15:37:36 +10:00
Rohan Mitchell
9f93c9f221 Swap Jenkins build badge out for Buildkite 2015-04-21 15:17:34 +10:00
Rohan Mitchell
22127b2d18 Use progress formatter for less verbose CI output. I miss Fuubar formatter, though. 2015-04-21 15:17:34 +10:00
Rohan Mitchell
692e58e8f7 Output spec-by-spec results to track specs-hanging-at-90-percent issue 2015-04-21 10:52:14 +10:00
Rohan Mitchell
4158663e9a Pushing to production saves staging baseline data 2015-04-21 10:47:36 +10:00
Rob Harrington
a75a76840d Merging master into require_standard_variant 2015-04-17 21:18:24 +10:00
Rob Harrington
ff2e6d9ca4 Test deletion rather than destruction on variant model spec 2015-04-17 17:25:13 +10:00
Maikel Linke
893b743973 tidy (rm comment) 2015-04-17 17:00:18 +10:00
Maikel Linke
03fd148f41 showing profile modals on groups/hubs 2015-04-17 16:58:49 +10:00
Rob Harrington
72d553ef0c Test actual deletion of variants 2015-04-17 16:51:02 +10:00
Rob Harrington
63353ebace Don't try and delete the only variant, that will never work! 2015-04-17 16:49:14 +10:00
Rohan Mitchell
a1673afff0 Allow more time for phantomjs, required by first admin spec where assets are compiled 2015-04-17 15:46:51 +10:00
Rohan Mitchell
0d4dbd23fd Remove redundant spec line, test that sells is not changed 2015-04-17 15:42:42 +10:00
Rohan Mitchell
0d9ba4257d Merge branch 'properties' 2015-04-17 15:25:51 +10:00
Rob Harrington
c43eb9ef72 Merge branch 'email_user' into properties 2015-04-17 15:17:37 +10:00
Rob Harrington
46690faffb Fixing Darkswarm Angular Product Controller spec 2015-04-17 15:14:19 +10:00
Rob Harrington
32f14bca00 Preventing fitting of selectors when there are none 2015-04-17 15:10:41 +10:00
Rohan Mitchell
042e076b58 Fix tax-related spec failures 2015-04-17 14:46:32 +10:00
Rob Harrington
6d96a7a60b Specifiy that allSelectors attribute on filterSelectors directive is optional 2015-04-17 14:43:09 +10:00
Rob Harrington
c8bf207187 Fixing trial expiry test 2015-04-17 14:33:47 +10:00
Rohan Mitchell
9e8483348f Fix spec - enterprise needs to charge sales tax for tax to be charged 2015-04-17 13:41:38 +10:00
Rohan Mitchell
81324f3cc4 Do not charge tax on shipments when distributor does not charge sales tax 2015-04-17 13:41:38 +10:00
Rohan Mitchell
0b8a619274 When the order does not have a hub, all tax rates apply 2015-04-17 13:41:38 +10:00
Rohan Mitchell
048c6a8ee8 Include only the bare minimum of helpers into JS template context to avoid intermittent SASS @include issues 2015-04-17 13:41:38 +10:00
Rohan Mitchell
3e8801b12b Do not charge sales tax on items or on enterprise fees when the distributor of the order does not charge sales tax 2015-04-17 13:41:38 +10:00
Rohan Mitchell
a6a5fdfb3b Require that the user selects whether their enterprise charges sales tax 2015-04-17 13:41:38 +10:00
Rohan Mitchell
0bdb8f7241 User can set whether an enterprise charges sales tax when registering 2015-04-17 13:41:38 +10:00
Rohan Mitchell
05551aa2a9 Make helpers available to javascript templates 2015-04-17 13:41:38 +10:00
Rohan Mitchell
9bbc151cae Admin can set enterprises to charge or not charge sales tax 2015-04-17 13:41:38 +10:00
Rohan Mitchell
08fef890ec Do not show tax lines if there is no tax on the order 2015-04-17 13:41:14 +10:00
Rohan Mitchell
a93633a626 Show tax on order confirmation emails 2015-04-17 13:41:14 +10:00
Rohan Mitchell
4bd1ff2011 Extract the bulk of the confirmation emails into partials, eliminating a lot of duplication 2015-04-17 13:40:08 +10:00
Rohan Mitchell
2914990444 Add save_and_open spec helper method to open HTML emails in the browser 2015-04-17 13:40:08 +10:00
Rohan Mitchell
3ce2c5b84f Show tax on order confirmation page 2015-04-17 13:40:08 +10:00
Rohan Mitchell
77d7255243 Use short syntax for rendering partials 2015-04-17 13:39:10 +10:00
Rohan Mitchell
6bb926f811 Do not show tax in checkout 2015-04-17 13:39:09 +10:00
Rohan Mitchell
829d11d4b2 Deliver a warning if attempting to create an invalid taxed_product from factory 2015-04-17 13:39:09 +10:00
Rohan Mitchell
beec910445 Display tax in cart 2015-04-17 13:39:09 +10:00
Rohan Mitchell
68f0e51c02 Change add_product_to_cart spec helper to use OrderPopulator, reducing inconsistencies in order adjustments, tax etc. 2015-04-17 13:39:09 +10:00
Rohan Mitchell
210c76eddc Checkout won't load without payment and shipping methods; move spec to context where it can test the checkout 2015-04-17 13:39:09 +10:00
Rohan Mitchell
e75c6a8e1d Add helper to display total tax on an order 2015-04-17 13:39:09 +10:00
Rob Harrington
b44f2bcdf5 Fixing trial expiry test 2015-04-17 13:30:36 +10:00
Rob Harrington
f13b52411d Merge branch master into properties 2015-04-17 13:23:33 +10:00
Rob Harrington
0cf8b017b9 Pulling out taxons and properties placeholders from producer and product modals 2015-04-17 13:20:01 +10:00
Rob Harrington
b9f19d5777 Fixing broken specs 2015-04-17 13:00:20 +10:00
Rob Harrington
9ee25c4e42 Making spec better 2015-04-17 11:25:18 +10:00
Rob Harrington
2d7fb3fd67 Updating name of spec 2015-04-17 11:25:18 +10:00
Rob Harrington
7596270154 A few more changes to tidy up standard variant migration 2015-04-17 11:25:18 +10:00
Rob Harrington
5d9e861ee4 Working migration to complete deprecation of master variants 2015-04-17 11:25:18 +10:00
Rob Harrington
447a5481a3 WIP: Building migration to duplicate master variants 2015-04-17 11:25:18 +10:00
Rob Harrington
8248e382f3 Greying out disabled action button 2015-04-17 11:25:18 +10:00
Rob Harrington
4b182f9248 Can't delete final variant on a product from BPE 2015-04-17 11:25:18 +10:00
Rob Harrington
2b47c9145a Cannot delete last variant of product 2015-04-17 11:25:17 +10:00
Rob Harrington
fcb3bc894b Cleanup 2015-04-17 11:25:17 +10:00
Rob Harrington
a223a2d662 Cannot remove all variants from a product 2015-04-17 11:25:17 +10:00
Rob Harrington
5e2fe56c22 Cleanup 2015-04-17 11:25:17 +10:00
Rob Harrington
89afbc80a6 Set initial on_hand to 0 2015-04-17 11:25:17 +10:00
Rob Harrington
971723964e Update outdated spec 2015-04-17 11:25:17 +10:00
Rob Harrington
28486f9e76 Only adds standard variant on create 2015-04-17 11:25:17 +10:00
Rob Harrington
869551a17c Adding a standard variant again 2015-04-17 11:25:17 +10:00
Rob Harrington
13a910c372 Replace validates_associated on master with current spree method for error reporting master saves 2015-04-17 11:25:17 +10:00
Rob Harrington
0a7b01ff07 Product requires variant_unit and master requires unit_value and/or unit_desc 2015-04-17 11:25:16 +10:00
Rob Harrington
dfb513cce7 Use after_create callback to duplicate master variant 2015-04-17 11:25:16 +10:00
Rob Harrington
3f01a459ac Adding a standard variant upon initialisation of a new instance of Spree::Product 2015-04-17 11:25:16 +10:00
Rohan Mitchell
2b5fc656fe Configure delayed job logging, add startup script for monit 2015-04-17 10:40:25 +10:00
Rob Harrington
524f02717b Don't redirect to root when closing login window on checkout page 2015-04-17 10:25:38 +10:00
Rob Harrington
456a6f94f5 On enterprise confirmation: create a new user based on enterprise contact email if one does not already exist, and add it as a manager 2015-04-17 10:24:37 +10:00
Rob Harrington
afe77925ba Allow request to specify a return value when calling user_passwords#edit 2015-04-17 10:21:25 +10:00
Rob Harrington
5940ff2b2c Don't override devise's after_sign_in_path_for, use specific before filters for user sessions and registrations controllers instead 2015-04-16 16:56:27 +10:00
Rohan Mitchell
d1ab2d9dac Add daemons gem for Delayed::Job 2015-04-16 16:54:43 +10:00
Rohan Mitchell
ccc1f3df40 Feature specs test email sending through delayed jobs 2015-04-16 16:54:43 +10:00
Rohan Mitchell
e9fbd74e88 Send emails via jobs instead of synchronously 2015-04-16 16:54:43 +10:00
Rohan Mitchell
bb3bdf37cd Add jobs for user, order and enterprise emails 2015-04-16 16:54:43 +10:00
Rohan Mitchell
af4baabb50 Include DelayedJobHelper for specs 2015-04-16 16:54:43 +10:00
Rohan Mitchell
3bbf42c3e7 WIP: Rename delayed job support to delayed job helper 2015-04-16 16:54:43 +10:00
Rohan Mitchell
530740158c Tolerate no jobs previously in queue 2015-04-16 16:54:43 +10:00
Rohan Mitchell
771b9e0df5 Improve syntax: take job class as a separate argument 2015-04-16 16:54:43 +10:00
Rohan Mitchell
1d5a4c93e4 Add delayed job testing support, original credit Mat Holroyd and Rohan Mitchell, from CERES Fairfood project 2015-04-16 16:54:43 +10:00
Rohan Mitchell
61cb2514cd Add Delayed::Job 2015-04-16 16:54:43 +10:00
Rohan Mitchell
aef3fdf4b4 Merge branch 'group-pages' 2015-04-16 16:53:49 +10:00
Rohan Mitchell
a384f5e3d4 Merge branch 'buildkite' into customer-totals-report-and-perms-fix 2015-04-16 14:08:39 +10:00
Rohan Mitchell
318957551f Freeze time to make spec repeatable 2015-04-16 14:07:38 +10:00
Rohan Mitchell
e017c30ab7 Do not double-run db:test:prepare 2015-04-16 14:07:37 +10:00
Rohan Mitchell
23888b7576 chmod +x 2015-04-16 14:07:37 +10:00
Rohan Mitchell
ff07707af7 Symlink it right 2015-04-16 14:07:37 +10:00
Rohan Mitchell
78bf87614a Buildkite: Symlink config/application.yml if not present 2015-04-16 14:07:37 +10:00
Rohan Mitchell
2b50f993de Load environment before attempting build 2015-04-16 14:07:37 +10:00
Rohan Mitchell
4672cc4863 Add buildkite scripts 2015-04-16 14:07:37 +10:00
Rohan Mitchell
768cfab591 Change field text at checkout 2015-04-16 10:59:15 +10:00
Rohan Mitchell
7f973604e5 Add columns to customer totals report: order cycle, payment method, customer code, tags, billing address 2015-04-16 10:59:15 +10:00
Rohan Mitchell
7f6c02ca29 Add User#customer_of to look up customers 2015-04-16 10:59:15 +10:00
Rohan Mitchell
34d1841d22 Make Variant#full_name resilient to regex chars 2015-04-16 10:59:15 +10:00
Rohan Mitchell
e570352a1b Grant fewer permissions on enterprise creation 2015-04-16 10:59:15 +10:00
Rohan Mitchell
2e021941d1 Fix bug where new enterprises should be created as hubs, but aren't 2015-04-16 10:59:15 +10:00
Rohan Mitchell
48bf87ec73 Perpetually updating copyright year 2015-04-16 10:59:15 +10:00
Maikel Linke
548e3576b9 textAngular editor for group description 2015-04-15 17:13:10 +10:00
Maikel Linke
201bcb133a show profiles checkbox on groups hubs page 2015-04-15 16:15:21 +10:00
Rob Harrington
0c155e6e3a Display message when email has not been confirmed for new enterprise 2015-04-15 15:32:17 +10:00
Lynne Davis
83981fbb15 Adding additional logic for if the line_item unit_value is nil 2015-04-14 17:29:56 +01:00
Rob Harrington
2072744870 User can enter the number of months back to search for order cycles from which to build relationships 2015-04-12 11:38:18 +10:00
Rob Harrington
0f9fbe6e8c Preventing relationships from being created with self 2015-04-12 10:53:22 +10:00
Paul Mackay
9103e83ce2 #275: spec test for controller method. Other small fixes. 2015-04-11 18:28:31 +01:00
Rob Harrington
b24cad7aeb Providing access to order_cycle_permissions in order cycles controller 2015-04-11 23:25:30 +10:00
Rob Harrington
bc89018ee1 Refer to the right variable doofus 2015-04-11 23:24:50 +10:00
Rob Harrington
88bae32971 Adding method: user_manages_coordinator_or(enterprise) to make code a bit more terse 2015-04-11 23:00:34 +10:00
Rob Harrington
6f81a9ba18 Save common permission method results as instance variables 2015-04-11 22:53:57 +10:00
Rob Harrington
22a37cdc8a Rename managed_producers_in as managed_participating_producers 2015-04-11 22:44:32 +10:00
Rob Harrington
9c376f0b00 Rename managed_hubs_in as managed_participating_hubs 2015-04-11 22:32:15 +10:00
Rob Harrington
59a2c84857 Rename managed_enterprises_in as managed_participating_enterprises 2015-04-11 22:30:21 +10:00
Rob Harrington
6ac45f3dc8 Renaming order_cycle_exchanges as visible_exchanges 2015-04-11 22:26:55 +10:00
Rob Harrington
e3138c3cd2 Renaming order_cycle_enterprises_for as visible_enterprises 2015-04-11 22:25:23 +10:00
Paul Mackay
99709b53ed Change controller action to 'notify_producers'.
Add flash message on completion.
Simplify job variables.
Improve mailer query.
Spec for job.
2015-04-11 13:19:48 +01:00
Rob Harrington
26d55baa35 Moving order cycle permissions to their own permissions class 2015-04-11 21:11:10 +10:00
Rob Harrington
02f8f293da Only allow managers or coordinator to add/remove fees from exchanges 2015-04-11 18:32:04 +10:00
Maikel Linke
2fd25f6cc4 Injecting all enterprises into group page
The enterprises have related producers and hubs that need to be
dereferenced. Therefore, we need a bigger set of enterprises to be
loaded. Injecting all enterprises is simple and doesn't require changes
if the set of needed enterprise data is growing in future.
2015-04-10 17:42:54 +10:00
Rob Harrington
24e3c9a9e1 Adding bugsnag notify block for catching naughty phantom fees 2015-04-10 16:41:10 +10:00
Rob Harrington
8b7d321dfe Changing delete time to ensure not_deleted scope works 2015-04-10 16:40:33 +10:00
Rob Harrington
72403fd021 Fixing broken enterprise controller spec 2015-04-10 13:16:21 +10:00
Maikel Linke
1e168afd71 giving the enterprise serializer the active_distributors 2015-04-10 12:55:20 +10:00
Rob Harrington
1e6fd94663 Adding rake task to create E2E relationships with P-OC based on past order_cycles 2015-04-10 12:51:15 +10:00
Rob Harrington
96c173414b Adding has_permission method to enterprise_relationship 2015-04-10 12:48:27 +10:00
Rob Harrington
226e2f0e2c Fixing error caused by order show template doing a lookup based on current distributor rather than order distributor 2015-04-10 09:26:20 +10:00
Rob Harrington
2280a71b23 Replace for_order_cycle rabl template with a serializer 2015-04-10 09:25:40 +10:00
Rob Harrington
6f24e969ce Removing stupid unusable spec 2015-04-09 17:20:31 +10:00
Maikel Linke
e26ebf4239 Serialize only activated hubs and producers of an enterprise 2015-04-09 17:15:57 +10:00
Rob Harrington
81a745420e Only check editable status of variants when actually selecting 2015-04-09 15:24:45 +10:00
Rob Harrington
c28ebf63ab As participating Hub, I cannot edit incoming exchanges despite being granted P-OC by the producer 2015-04-09 13:41:43 +10:00
Rob Harrington
69004ac477 Select all box only selects variants I have permission to edit 2015-04-09 13:29:25 +10:00
Rob Harrington
430320e3f9 Oopsie! 2015-04-09 13:28:41 +10:00
Rob Harrington
60a3d8e0d1 Restrict bulk updating order cycles at controller level 2015-04-09 12:27:43 +10:00
Rob Harrington
8a3126f117 Using helper to disable form elements on order cycle index page 2015-04-09 11:11:46 +10:00
Rob Harrington
c7157ce7bd Applying new helper to order cycle name and timing partial 2015-04-09 11:11:06 +10:00
Rob Harrington
133f7e4ec7 Add viewing_as_coodinator_of? helper method 2015-04-09 11:10:56 +10:00
Rob Harrington
fbcfe9b2a4 Add viewing_as_coordiantor flag to serialized order cycles and a managed flag to serialized enterprises for_order_cycle(s) 2015-04-09 10:31:17 +10:00
Rob Harrington
adc1b639bc Merge remote-tracking branch 'origin/master' into complex_oc 2015-04-08 14:38:27 +10:00
Rob Harrington
61a9e2f7cc Add a referer for all admin enterprise controller specs 2015-04-08 14:36:56 +10:00
Rob Harrington
f6e635466b Rearranging elements on the order cycle form a little bit 2015-04-08 14:31:18 +10:00
Rob Harrington
32cc17745a Non-coordinating user cannot alter important attributes of order cycle 2015-04-08 14:12:49 +10:00
Rob Harrington
b1624a733e Editable variants for incoming exchanges for hubs include those for producers that have granted my hub P-OC 2015-04-08 13:38:37 +10:00
Rob Harrington
b8ce6ed0fc Coordinator can see any enterprises that are already in the order cycle 2015-04-08 13:28:49 +10:00
Rob Harrington
104a8ddecf Refactor order_cycle_enterpises_for permission method, now requires an order cycle 2015-04-08 13:00:17 +10:00
Rob Harrington
4dcfec1de9 make enterprises_for_order_cycle permissions more correct 2015-04-08 12:12:02 +10:00
Rob Harrington
8859aa27ee Slight refactor of order cycle enterprises 2015-04-08 10:33:32 +10:00
Rob Harrington
24062e5585 Adding permissions for outgoing hubs to see producers whose variants they are distributing, despite P-OC not existing 2015-04-08 10:15:50 +10:00
Rob Harrington
4a87798bb4 Variants belonging to a producer I manager that are already in an outgoing an exchange need not be editable 2015-04-06 23:30:43 +10:00
Rob Harrington
ae1681b790 Not 1! Zero! 2015-04-06 23:29:15 +10:00
Rob Harrington
36c5cdf556 Only show enterprises with fees in order cycle edit page 2015-04-06 14:08:10 +10:00
Rob Harrington
d516795774 Fetching Enterprise Fees for order cycle, using new enterprisefee serializer 2015-04-06 13:06:21 +10:00
Rob Harrington
7eb735f87e Adding for_enterprises scope on enterprise fee 2015-04-06 10:24:40 +10:00
Rob Harrington
7448d41b27 Adding abilities for new for_order_cycle action 2015-04-06 10:23:39 +10:00
Rob Harrington
7ebea23fda Adding route for now for_order_cycle action on enterprise fees 2015-04-06 10:23:08 +10:00
Rob Harrington
b7de8353bc Renaming existing enterprise fee serializer as basic... 2015-04-06 09:47:37 +10:00
Rob Harrington
52dc313e70 Implementing editable variant scopes in order_cycle_applicator 2015-04-06 09:20:39 +10:00
Rob Harrington
a4b80b1f33 Implement editable scope for variants on order cycles page 2015-04-06 09:15:14 +10:00
Rob Harrington
f20844c2a0 Adding editable scope for variants in outgoing exchanges 2015-04-05 15:25:44 +10:00
Rob Harrington
136d361134 Fixing comment 2015-04-05 14:14:47 +10:00
Rob Harrington
009b25a491 Adding an editable variants scope for incoming exchanges 2015-04-05 13:59:00 +10:00
Rob Harrington
bf87394a76 Fixing order cycle feature spec 2015-04-05 10:58:06 +10:00
Lynne Davis
ff935af18b Variable Weights: Adding ability to update the weight/volume of a line_item after checkout. The price of the line_item is automatically updated to reflect the value of the new weight. 2015-04-04 19:20:56 +01:00
Lynne Davis
ffd850c761 Adding specs for variable weight adjustment via builk order management 2015-04-04 19:20:41 +01:00
Lynne Davis
bf44a1c862 Update DB schema to store updatable weight on items sold 2015-04-04 19:20:27 +01:00
Rob Harrington
d28fc7e42d Hubs can see incoming exchanges of producers who have given them P-OC or whose variants they are actively distributing 2015-04-03 14:58:01 +11:00
Rob Harrington
a10de68430 only load permissions once in serializer 2015-04-02 15:55:03 +11:00
Rob Harrington
3b9824171a Adding with_order_cycles_as_supplier_outer scope to Enterprise 2015-04-02 15:53:32 +11:00
Rob Harrington
5d7659aa3c Fixing product spec, using have_select2 instead of have_field 2015-04-02 14:36:19 +11:00
Rob Harrington
1e1d52cc47 Adding 'selected' option to have_select2 matcher 2015-04-02 14:35:39 +11:00
Rob Harrington
76648b97b0 Update spec, properties must exist for enterprise users before they can be assigned 2015-04-02 14:15:00 +11:00
Rob Harrington
5020eb4e32 And again: override redirect to index page when editing properties from edit page 2015-04-02 14:14:16 +11:00
Rob Harrington
cb376602f2 Override redirect to index page when editing properties from edit page 2015-04-02 14:03:51 +11:00
Rob Harrington
3aa5f6e023 Adding properties tab to admin enterprise edit form 2015-04-02 11:30:32 +11:00
Rob Harrington
8926e3765e Replace free text with with select dropdown for product property names when not super admin 2015-04-02 08:57:15 +11:00
Rob Harrington
5b235f356e Replace free text with with select dropdown for property names when not super admin 2015-04-02 08:56:36 +11:00
Rob Harrington
8ed6653dc4 Ignoring any new product properties submitted by a non-admin user 2015-04-02 08:55:20 +11:00
Rob Harrington
ca1a5b5f8d Ignoring any new producer properties submitted by the user 2015-04-02 08:54:35 +11:00
Rob Harrington
8d95ba2c69 Display full name of variant on order cycle edit form 2015-04-01 15:46:19 +11:00
Rob Harrington
94a88278a9 Ignore the unit_to_display when it is wholly contained within display_name or vice versa 2015-04-01 15:46:11 +11:00
Rob Harrington
588e036c1d Adding SKU to customer totals report 2015-04-01 14:45:23 +11:00
Rob Harrington
aa7ddbcba4 Renaming Dist. column to Admin & Handling 2015-04-01 14:38:15 +11:00
Rob Harrington
54af6886c2 Line items with a quantity of zero return price_with_adjustments of 0.0 2015-04-01 12:34:22 +11:00
Rob Harrington
d49dd62124 Replace unused bugsnag notification with one to test for line items with a quantity of zero 2015-04-01 11:38:06 +11:00
Paul Mackay
d4cf44a6dd Use COUNTRY_CODE instead of COUNTRY in application.yml. 2015-03-29 17:06:05 +01:00
Rob Harrington
6e77a5eebc Using the correct method name duh 2015-03-27 16:47:12 +11:00
Rob Harrington
2d5118290b Fixing broken order cycle feature specs 2015-03-27 16:19:52 +11:00
Rob Harrington
74b7feda53 coordinator of a simple order cycle has permission to add their own variants to outgoing exchanges 2015-03-27 16:16:13 +11:00
Rob Harrington
f5bacf71b7 Permissions for OrderCycleFormApplicator are determined internally 2015-03-27 16:16:13 +11:00
Rob Harrington
3817ef202c Enterprises in simple OC create controller only load after OC initialises 2015-03-27 16:16:12 +11:00
Rob Harrington
aa170ef5f6 Order cycle simple create controller uses 'new' method on OC service to initialise 2015-03-27 16:16:12 +11:00
Rob Harrington
4d14acb64d Don't send non-attributes of js order_cycle object to server 2015-03-27 16:16:12 +11:00
Rob Harrington
43d2eb4d22 Adding 'new' method to admin order cycle service, for loading data from serializer for new OCs 2015-03-27 16:16:12 +11:00
Rob Harrington
887579ecb8 Use managed_by scope on Enterprise instead of user.enterprises 2015-03-27 16:16:12 +11:00
Rob Harrington
9430999540 Filtering exchange variants, for outgoing exchange variant count 2015-03-27 16:16:12 +11:00
Rob Harrington
193a061c44 Order cycle form applicator only updates visible variants, should add an 'editable variants' scope to permissions 2015-03-27 16:16:11 +11:00
Rob Harrington
540ac845da Fixing broken js spec 2015-03-27 16:16:11 +11:00
Rob Harrington
5e015f0611 Rename visibleVariants filter to visibleProductVariants 2015-03-27 16:16:11 +11:00
Rob Harrington
681dada5df Simple OC form loads coordinator into JS 2015-03-27 16:16:11 +11:00
Rob Harrington
99bd6244ed Filtering the list of variants visible within each exchange based on permissions 2015-03-27 16:16:11 +11:00
Rob Harrington
63e345f819 Exchange serializer cuts down list of variants visible to the current user, based on permissions 2015-03-27 16:16:11 +11:00
Rob Harrington
524645aff4 Replacing visible_variants_for(exchange) with more general methods for determining visbility based on the enterprises involced and the current order cyclegs 2015-03-27 16:16:11 +11:00
Rob Harrington
d115ef5f7e Scoping old generalised order cycle helper methods to a specific order cycle 2015-03-27 16:16:10 +11:00
Rob Harrington
35b27fcfd2 Delegating responsibility for returning an empty scope when no options are passed to order_cycle_enterprises_for 2015-03-27 16:16:10 +11:00
Rob Harrington
b747f61eb1 P-OC permissions don't apply when determining which enterprises are loaded for order cycle interface 2015-03-27 16:16:10 +11:00
Rob Harrington
45f6042d3d Enterprises etched by for_order_cycle action now use permissions scoped using an order cycle or coordinator 2015-03-27 16:16:10 +11:00
Rob Harrington
a1aa9512a8 Fixing angular order_cycle controller spec 2015-03-27 16:16:10 +11:00
Rob Harrington
7e24e6743e enterprises_for is now order_cycle_enterprises_for, and can be passed an order_cycle or a coordinator (for new order_cycles) 2015-03-27 16:16:09 +11:00
Rob Harrington
c9f343f680 Swapping over scoping method for displayed enterprises in OC index page from order_cycle_enterprises to enterprises_for(order_cycle) 2015-03-27 16:15:28 +11:00
Rob Harrington
d8c4e292c8 Adding method for determining variant override hubs 2015-03-27 16:09:45 +11:00
Rob Harrington
81765de7a7 Building a permission method to determine which enterprises are visible to the user for a given OC 2015-03-27 16:07:38 +11:00
Rob Harrington
4dff3fe79c Removing unused distributable action from products api 2015-03-27 16:07:38 +11:00
Rob Harrington
1927bc55d0 Load actual variants in the exchange, wrong behaviour was implemented in previous two commits 2015-03-27 16:07:38 +11:00
Rob Harrington
e9f2e743ce Replacing old representative template for OCs with active model serializers 2015-03-27 16:07:38 +11:00
Rob Harrington
1c09b8b76f Limiting variants loaded into representative template to those a visible to the current user 2015-03-27 16:07:38 +11:00
Rob Harrington
00821a60cc More specific references to enterprise id in permissions querying methods 2015-03-27 16:07:37 +11:00
Rob Harrington
252ddf9beb Adding method to permissions library for scoping the list of visible variants in a given exchange to a particular user 2015-03-27 16:07:37 +11:00
Rob Harrington
22161bfd6e rewriting permissions query functions in permissions library, to make scoping easier 2015-03-27 16:07:37 +11:00
Rob Harrington
6c4db7fc22 Adding permission to view outgoing exchanges to producers who have granted P-OC to the relevant outgoing hub 2015-03-27 16:07:37 +11:00
Rob Harrington
df4437ecfe Altering permissions for exchanges, so the exchange is visible to managers of at least one of the enterprises invloved 2015-03-27 16:07:37 +11:00
Rob Harrington
2310a6a7db Splitting out order cycle abilities from general order management abilities 2015-03-27 16:07:37 +11:00
Rob Harrington
85e4b3970c Adding an 'involved' scope to exchanges 2015-03-27 15:56:07 +11:00
Rob Harrington
75a37e16e3 Remove elements of order cycle form that coordinators cannot edit 2015-03-27 15:56:07 +11:00
Rob Harrington
f8a9652333 Moving SASS comments to thier own lines 2015-03-27 15:56:07 +11:00
Rob Harrington
75ed259554 Conditionally show input for coordinator
Conflicts:
	app/views/admin/order_cycles/_form.html.haml
2015-03-27 15:56:07 +11:00
Rob Harrington
a9c7e4b716 Order cycles index shows all OrderCycles I am involved in 2015-03-27 15:56:06 +11:00
Rob Harrington
0b082c964b Restricting which enterprises can coordinate an order cycle 2015-03-27 15:51:27 +11:00
Rohan Mitchell
8037811735 Only make new enterprises as hubs when current user *owns*, not just manages a hub. 2015-03-27 14:38:21 +11:00
Rohan Mitchell
0ed1eeffd6 When registering a new enterprise, if user is signed in, owns a hub and is not making a producer, the new enterprise becomes a hub 2015-03-27 14:05:58 +11:00
Rohan Mitchell
d471368412 Spacing 2015-03-27 13:09:25 +11:00
Rohan Mitchell
09a102bd8b When an enterprise user with a hub creates a new producer, it does not default to sells any #453 2015-03-27 12:02:20 +11:00
Rohan Mitchell
d8656a36c6 Consistency in tax calculations, remove some unneeded local vars 2015-03-25 16:31:15 +11:00
Rohan Mitchell
89d4a59e9d Extract order total tax calculations to model 2015-03-25 16:27:29 +11:00
Rohan Mitchell
84f3097217 Calculate total tax from the tax included in all the adjustments on the order 2015-03-25 16:27:29 +11:00
Rohan Mitchell
333a4ecf2f Include enterprise fee tax on sales tax report 2015-03-25 16:27:29 +11:00
Rohan Mitchell
40b4edeca1 Replace zoned_order factory with zone_with_member. In practice, former had issues with circular dependencies. 2015-03-25 16:27:29 +11:00
Rohan Mitchell
9650692699 Calculate total tax on enterprise fees for an order 2015-03-25 16:27:29 +11:00
Rohan Mitchell
69dc92dec1 Create factories zoned_order and taxed_product 2015-03-25 16:27:29 +11:00
Rohan Mitchell
d489e06009 Retrieve line item sales tax from included_tax rather than tax amount 2015-03-25 16:27:29 +11:00
Rohan Mitchell
daa30ed518 Retrieve the shipping tax on the order instead of calculating it from scratch 2015-03-25 16:27:29 +11:00
Rohan Mitchell
7fb8370c36 Look up shipping tax on an order 2015-03-25 16:27:29 +11:00
Rohan Mitchell
e2a4b9a898 Fix specs that relied on the old login page which we now redirect to the new page 2015-03-25 12:11:06 +11:00
Rohan Mitchell
2a7a106ad8 Merge branch 'folklabs-currency-config' 2015-03-25 11:54:06 +11:00
Rohan Mitchell
1005a06583 Merge branch 'currency-config' of https://github.com/folklabs/openfoodnetwork into folklabs-currency-config 2015-03-25 11:39:43 +11:00
Rohan Mitchell
c36272ead6 Switch to update_column, which will not run geocoding callback of Enterprise 2015-03-25 11:37:10 +11:00
Rohan Mitchell
c6ddf36856 Make migration reversible 2015-03-25 11:35:59 +11:00
Rohan Mitchell
ebb3688add Merge branch 'migrations' of https://github.com/folklabs/openfoodnetwork into folklabs-migrations 2015-03-25 11:30:00 +11:00
Rohan Mitchell
5da9bdc614 Merge branch 'victornava-legacy-login-fix' 2015-03-25 10:37:14 +11:00
Paul Mackay
af9a7a2ed4 #443: Support currency configuration. Fix LOCALE variable name. 2015-03-24 15:34:45 +00:00
Paul Mackay
fcfb1aeb87 #440: Try removing validation from update (to prevent geocoding). 2015-03-23 14:24:16 +00:00
Paul Mackay
e39d2eb113 #440: Reset Enterprise columns before querying them. 2015-03-23 13:47:44 +00:00
summerscope
7090bb518b Tweaking logic for alert bar to make messages more human readable for all use cases. 2015-03-20 14:24:59 +11:00
summerscope
0b1857771e Finally got this slide animation working. stupid angular documentation!
ref: http://www.yearofmoo.com/2013/08/remastered-animation-in-angularjs-1-2.html
2015-03-20 13:09:45 +11:00
summerscope
938eff8482 More layout tweaks to enterprise modal template 2015-03-19 16:13:47 +11:00
summerscope
b99e94cecf WIP on producer and product modals 2015-03-19 16:02:52 +11:00
summerscope
1f97052954 Add a min height to modals so they are not quite so stupidly small when not enough content suppied by users 2015-03-19 15:05:14 +11:00
summerscope
c76aa1d1c2 WIP on product modal 2015-03-19 14:52:09 +11:00
summerscope
cdd41ad651 change animation class 2015-03-19 14:52:00 +11:00
summerscope
3c61bf9cc4 Styling for no image available on product modal overlay 2015-03-19 14:51:41 +11:00
summerscope
8a0bbb374c Animation WIP 2015-03-19 14:51:23 +11:00
summerscope
4e54a3c48e Updating no image all grey, large version larger 2015-03-19 14:50:50 +11:00
Rob Harrington
bfe7f49033 Show and hide search box 2015-03-18 12:01:53 +11:00
Rohan Mitchell
a6f0d8f69a Show a nice error message instead of 500 error when deleting a referenced order cycle 2015-03-16 12:42:35 +11:00
Rohan Mitchell
95c09315f5 Change class delete-product -> delete-order-cycle 2015-03-16 12:42:05 +11:00
Rohan Mitchell
e38772ada0 Enterprise user can delete unreferenced order cycles 2015-03-16 12:41:06 +11:00
Rohan Mitchell
e125bcf451 Add column header for extra action column 2015-03-16 12:15:43 +11:00
Rohan Mitchell
4491d3cc73 Merge branch 'legacy-login-fix' of https://github.com/victornava/openfoodnetwork into victornava-legacy-login-fix
Conflicts:
	app/views/admin/order_cycles/_row.html.haml
	spec/features/admin/order_cycles_spec.rb
2015-03-16 12:14:54 +11:00
Rob Harrington
2b32252aff Filtering between selector lists 2015-03-15 13:25:04 +11:00
Rob Harrington
29c9f70a1c Rename single line selectors 2015-03-15 12:29:05 +11:00
Rob Harrington
2c1ef4c8c1 Refactoring single line selectors to remove flicker 2015-03-15 12:27:40 +11:00
summerscope
7b1901253c More work on filters for shopfront rewriting as compared to the rest of filter button styles 2015-03-13 17:32:33 +11:00
summerscope
dc1dd2e243 Changing the class .filter-box for shopfront to .filter-shopfront
This prevents the issue with inheritance / styling crossover
2015-03-13 16:06:46 +11:00
summerscope
e3bc7cf894 Styling for search alert on shopfront page 2015-03-13 15:36:06 +11:00
summerscope
e5cc9063e8 Changing the medium input styling to make it same height as taxon filters, and no animation to get big as we want the next row space for tags eventually 2015-03-13 15:35:45 +11:00
summerscope
88edaceee0 Adding a new color to brand colors - yellow light 2015-03-13 15:34:38 +11:00
summerscope
bce64a1ead WIP product modals for shopfront 2015-03-13 15:34:11 +11:00
summerscope
c8c07ed700 Adding position fixed to modals - got lost somehow with upgrading foundation zurb 2015-03-13 12:59:26 +11:00
summerscope
0258fc24f3 Moving comments to own line. New version of SASS does not like comments on same line as declarations. 2015-03-13 12:58:45 +11:00
Rob Harrington
274a7a3c73 Fixing up the one liner filter styling a bit 2015-03-12 09:56:06 +11:00
Victor Nava
f90f7565fb Allow admins to delete Order Cycles 2015-03-11 18:08:09 +11:00
Victor Nava
208fa02ec0 Create a 'Show More' button at the top of the page, next to New Order on on admin order cycles index page 2015-03-11 13:14:45 +11:00
Victor Nava
2c89573441 Shave off a few seconds when showing order_cycles#index by loading order_cycle_enterprises only once. 2015-03-11 11:59:25 +11:00
Paul Mackay
717b3b6494 #275: Fixes for testing aggregated orders. 2015-03-10 19:19:57 +00:00
Rob Harrington
0a300d1802 Rewriting small cart, so that it doesn't break all of the dropdowns on the page (can't use .row within li elements it seems...) 2015-03-06 19:03:46 +11:00
Rob Harrington
12c6878cbe Using vanilla foundation 2015-03-06 19:02:15 +11:00
Rob Harrington
4c4490a9b7 Upgrading foundation-rails and sass 2015-03-06 19:01:39 +11:00
Rob Harrington
578475a403 Filter products list on shop by active properties 2015-03-06 16:14:11 +11:00
Victor Nava
3e2142c3cf Remove the hover / pop-up over the # variants on admin order cycles index page 2015-03-06 11:33:03 +11:00
Rob Harrington
e948bf1591 Only render selector icons if the icon exists 2015-03-06 11:32:01 +11:00
Rob Harrington
06f10398da Adding product property filter to shop page 2015-03-06 11:22:52 +11:00
Rob Harrington
55b8918ea1 Updating comment 2015-03-05 18:38:01 +11:00
Rob Harrington
067b814daa Making legacy filters work properly with filter-selector directive 2015-03-05 18:29:12 +11:00
Rob Harrington
c992937608 Moving taxon-selector directive to correct location 2015-03-05 18:28:49 +11:00
Rob Harrington
cb623b75c1 Generalising taxons-selector -> filter-selector 2015-03-05 18:15:14 +11:00
Victor Nava
3fe1fc3f67 Use dates way into the future so that test that depend on OrderSycles#recently_closed don't break. 2015-03-05 17:32:55 +11:00
Victor Nava
d6c30ae1ef OrderCycle#recently_closed doesn't return orders that are open 2015-03-05 17:28:24 +11:00
Rob Harrington
e7854bcd8e Moving single line selectors to template, making sure other users of taxons-selector still work 2015-03-05 16:38:21 +11:00
Victor Nava
a21bfc909a Remove the suppliers column on admin order cycles index page 2015-03-05 16:12:31 +11:00
Victor Nava
1b709a3e03 Do not load Order Cycles that closed more than a month a go 2015-03-05 16:04:36 +11:00
Rob Harrington
0142f9467a Improve display of overflow selectors 2015-03-05 16:00:53 +11:00
Rob Harrington
24b40182b5 clearAll for product page also clears any text search filter 2015-03-05 15:34:27 +11:00
Rob Harrington
ed94cf57d3 Adding the 'more' box for single-line-selectors 2015-03-05 15:10:42 +11:00
Rob Harrington
5bddada013 Removing unnecessary setter 2015-03-05 12:18:34 +11:00
Rob Harrington
4afef8215a Basic implementation of single line selectors 2015-03-05 12:12:36 +11:00
Victor Nava
4e1eb33ff5 Redirect users to proper login page when they type /login 2015-03-05 11:25:35 +11:00
Paul Mackay
ca665dc6bc Merge master into producer-emails. 2015-03-04 19:09:43 +00:00
summerscope
fc7abd5d02 Changing order of tabs at top of shopfront, leaving more room for long shopfront names in about tab 2015-02-25 16:20:10 +11:00
summerscope
469b383781 Properties and shopfront filters with taxons WIP. 2015-02-25 16:04:32 +11:00
summerscope
15144bdddd WIP search input on shopfront page. 2015-02-25 13:18:45 +11:00
summerscope
d43f367f30 Shopfront Properties - WIP layout work 2015-02-25 11:11:09 +11:00
summerscope
304bde3b9e Working on the filters for shopfront properties and updates. 2015-02-25 10:46:51 +11:00
summerscope
e9fca885db WIP layout changes for shopfront top 2015-02-25 10:46:43 +11:00
Paul Mackay
67b17de695 #275: Add receival time and instructions to order cycle for incoming exchanges. Fix issues from feedback. 2014-12-30 11:33:13 +00:00
Paul Mackay
8d5a0aea9f Setup daemon and delayed job table. 2014-11-24 21:25:58 +00:00
Paul Mackay
803d790b7a Remove nokigiri warning.
Tweak email subject.
2014-11-24 21:00:36 +00:00
Paul Mackay
375bdc0586 #275: Change report format. Improved mailer. 2014-11-16 07:14:29 +00:00
Paul Mackay
9b7fd1c16b #275: small tweaks. 2014-11-09 11:19:26 +00:00
Paul Mackay
05437e2a56 #275: start on producer email. 2014-11-09 11:17:46 +00:00
980 changed files with 28737 additions and 26221 deletions

1
.gitignore vendored
View File

@@ -34,6 +34,7 @@ config/abr.yml
config/heroku_env.rb
config/newrelic.yml
config/initializers/feature_toggle.rb
config/initializers/db2fog.rb
NERD_tree*
coverage
libpeerconnection.log

4
.rspec_parallel Normal file
View File

@@ -0,0 +1,4 @@
--format Fuubar
--format ParallelTests::RSpec::SummaryLogger --out tmp/spec_summary.log
--format ParallelTests::RSpec::RuntimeLogger --out tmp/parallel_runtime_rspec.log
--tag ~performance

View File

@@ -1 +1 @@
1.9.3-p392
2.1.5

View File

@@ -1,15 +1,56 @@
language: ruby
sudo: false
cache: bundler
bundler_args: --without development
rvm:
- "1.9.3"
services: postgresql
before_install:
- "2.1.5"
# Set the timezone for phantomjs with TZ
# Set the timezone for karma with TIMEZONE
#
# The test cases are roughly split according to their test times.
# It would be better to use https://github.com/ArturT/knapsack.
env:
global:
- TZ="Australia/Melbourne"
- TIMEZONE="Australia/Melbourne"
matrix:
- TEST_CASES="./spec/features/admin" GITHUB_DEPLOY="true"
- TEST_CASES="./spec/features/consumer ./spec/serializers ./spec/performance"
- TEST_CASES="./spec/models"
- TEST_CASES="./spec/controllers ./spec/views ./spec/jobs"
- TEST_CASES="./spec/requests ./spec/helpers ./spec/mailers ./spec/lib" KARMA="true"
before_script:
- cp config/database.travis.yml config/database.yml
- psql -c 'create database open_food_network_test;' -U postgres
- cp config/application.yml.example config/application.yml
- RAILS_ENV=test bundle exec rake db:create db:schema:load
- >
if [ "$KARMA" = "true" ]; then
npm install karma@0.12.31
npm install karma-jasmine@0.1.5
npm install karma-phantomjs-launcher@0.1.4
npm install karma-coffee-preprocessor@0.2.1
npm install -g karma-cli@0.0.4
fi
script:
- RAILS_ENV=test bundle exec rake db:migrate --trace
- bundle exec rake spec
- '[ "$KARMA" = "true" ] && bundle exec rake karma:run || echo "Skipping karma run"'
- "bundle exec rspec $TEST_CASES"
after_success:
- >
if [ "$GITHUB_DEPLOY" = "true" -a "$TRAVIS_PULL_REQUEST" = "false" -a -n "$TRAVIS_BRANCH" -a -n "$GITHUB_API_SECRET" ]; then
description="`git show "$TRAVIS_BRANCH" -s --oneline --no-color`"
data="{
\"ref\":\"$TRAVIS_BRANCH\",
\"description\":\"$description\",
\"environment\":\"staging\",
\"required_contexts\":[]}"
curl -u "$GITHUB_API_SECRET" -d "$data" "https://api.github.com/repos/$TRAVIS_REPO_SLUG/deployments"
else
echo "Not deploying on this build."
fi
notifications:
email: false

33
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,33 @@
# Contributing
We love pull requests from everyone. Here are some instructions for
contributing code to Open Food Network.
Fork, then clone the repo:
git clone git@github.com:your-username/openfoodnetwork.git
Follow the instructions in README.markdown to set up your machine.
Make sure the tests pass:
rspec spec
Make your change. Add tests for your change. Make the tests pass:
rspec spec
Push to your fork and [submit a pull request][pr].
[pr]: https://github.com/openfoodfoundation/openfoodnetwork/compare/
At this point you're waiting on us. We may suggest some changes or
improvements or alternatives.
To increase the chance that your pull request is swiftly accepted:
* Write tests
* Use a style consistent with the rest of the codebase
* Before submitting, [rebase your work][rebase] on the current master branch
[rebase]: https://www.atlassian.com/git/tutorials/merging-vs-rebasing/workflow-walkthrough

26
Gemfile
View File

@@ -1,10 +1,12 @@
source 'https://rubygems.org'
ruby "1.9.3"
ruby "2.1.5"
gem 'rails', '3.2.21'
gem 'rails-i18n', '~> 3.0.0'
gem 'i18n', '~> 0.6.11'
gem 'nokogiri'
gem 'pg'
gem 'spree', :github => 'openfoodfoundation/spree', :branch => '1-3-stable'
gem 'spree_i18n', :github => 'spree/spree_i18n', :branch => '1-3-stable'
@@ -15,6 +17,8 @@ gem 'spree_auth_devise', :github => 'spree/spree_auth_devise', :branch => '1-3-s
gem 'spree_paypal_express', :github => "openfoodfoundation/better_spree_paypal_express", :branch => "1-3-stable"
#gem 'spree_paypal_express', :github => "spree-contrib/better_spree_paypal_express", :branch => "1-3-stable"
gem 'delayed_job_active_record'
gem 'daemons'
gem 'comfortable_mexican_sofa'
# Fix bug in simple_form preventing collection_check_boxes usage within form_for block
@@ -26,8 +30,9 @@ gem 'angularjs-rails', '1.2.13'
gem 'bugsnag'
gem 'newrelic_rpm'
gem 'haml'
gem 'sass', "~> 3.2"
gem 'sass', "~> 3.3"
gem 'sass-rails', '~> 3.2.3', groups: [:default, :assets]
gem 'redcarpet'
gem 'aws-sdk'
gem 'db2fog'
gem 'andand'
@@ -47,6 +52,12 @@ gem 'custom_error_message', :github => 'jeremydurham/custom-err-msg'
gem 'angularjs-file-upload-rails', '~> 1.1.0'
gem 'roadie-rails', '~> 1.0.3'
gem 'figaro'
gem 'blockenspiel'
gem 'acts-as-taggable-on', '~> 3.4'
gem 'paper_trail', '~> 3.0.8'
gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'
gem 'foreigner'
gem 'immigrant'
@@ -67,13 +78,14 @@ group :assets do
gem 'turbo-sprockets-rails3'
gem 'foundation-icons-sass-rails'
gem 'momentjs-rails'
gem 'angular-rails-templates'
gem 'angular-rails-templates', '~> 0.2.0'
end
gem "foundation-rails"
gem 'foundation_rails_helper', github: 'willrjmarshall/foundation_rails_helper', branch: "rails3"
gem 'jquery-rails'
gem 'css_splitter'
group :test, :development do
@@ -85,13 +97,14 @@ group :test, :development do
gem 'factory_girl_rails', :require => false
gem 'capybara'
gem 'database_cleaner', '0.7.1', :require => false
gem 'simplecov', :require => false
gem 'awesome_print'
gem 'letter_opener'
gem 'timecop'
gem 'poltergeist'
gem 'rspec-retry'
gem 'json_spec'
gem 'unicorn-rails'
gem 'atomic'
end
group :test do
@@ -102,7 +115,7 @@ group :test do
end
group :development do
gem 'pry-debugger'
gem 'pry-byebug'
gem 'debugger-linecache'
gem 'guard'
gem 'guard-livereload'
@@ -110,4 +123,5 @@ group :development do
gem 'guard-rails'
gem 'guard-zeus'
gem 'guard-rspec'
gem 'parallel_tests'
end

View File

@@ -23,7 +23,7 @@ GIT
GIT
remote: git://github.com/openfoodfoundation/spree.git
revision: 4e0075b07acb56864aca89eee3d9670136176c23
revision: afcc23e489eb604a3e2651598a7c8364e2acc7b3
branch: 1-3-stable
specs:
spree (1.3.6.beta)
@@ -107,6 +107,7 @@ GIT
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (2.3.2)
actionmailer (3.2.21)
actionpack (= 3.2.21)
mail (~> 2.5.4)
@@ -123,7 +124,7 @@ GEM
active_link_to (1.0.0)
active_model_serializers (0.8.1)
activemodel (>= 3.0)
activemerchant (1.46.0)
activemerchant (1.48.0)
activesupport (>= 3.2.14, < 5.0.0)
builder (>= 2.1.2, < 4.0.0)
i18n (>= 0.6.9)
@@ -142,17 +143,20 @@ GEM
activesupport (3.2.21)
i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
acts-as-taggable-on (3.5.0)
activerecord (>= 3.2, < 5)
acts_as_list (0.1.4)
addressable (2.3.3)
andand (1.3.3)
angular-rails-templates (0.1.1)
angular-rails-templates (0.2.0)
railties (>= 3.1)
sprockets
sprockets (~> 2)
tilt
angularjs-file-upload-rails (1.1.0)
angularjs-rails (1.2.13)
ansi (1.4.2)
arel (3.0.3)
atomic (1.1.99)
awesome_nested_set (2.1.5)
activerecord (>= 3.0.0)
awesome_print (1.0.2)
@@ -163,12 +167,16 @@ GEM
bcrypt (3.1.7)
bcrypt-ruby (3.1.5)
bcrypt (>= 3.1.3)
blockenspiel (0.4.5)
bugsnag (1.5.2)
httparty (>= 0.6, < 1.0)
multi_json (~> 1.0)
builder (3.0.4)
byebug (2.7.0)
columnize (~> 0.3)
debugger-linecache (~> 1.2)
cancan (1.6.8)
capybara (2.2.1)
capybara (2.5.0)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
@@ -177,48 +185,61 @@ GEM
celluloid (0.15.2)
timers (~> 1.1.0)
chronic (0.10.2)
chunky_png (1.3.0)
chunky_png (1.3.4)
climate_control (0.0.3)
activesupport (>= 3.0)
cliver (0.3.2)
cocaine (0.5.5)
cocaine (0.5.7)
climate_control (>= 0.0.3, < 1.0)
coderay (1.0.9)
coffee-rails (3.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
coffee-script (2.2.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.3.3)
colorize (0.7.5)
columnize (0.3.6)
coffee-script-source (1.10.0)
colorize (0.7.7)
columnize (0.9.0)
comfortable_mexican_sofa (1.6.24)
active_link_to (~> 1.0.0)
paperclip (>= 2.3.0)
rails (>= 3.0.0)
compass (0.12.4)
compass (1.0.3)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.2.17)
compass-rails (1.0.3)
compass (>= 0.12.2, < 0.14)
compass-core (~> 1.0.2)
compass-import-once (~> 1.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
sass (>= 3.3.13, < 3.5)
compass-core (1.0.3)
multi_json (~> 1.0)
sass (>= 3.3.0, < 3.5)
compass-import-once (1.0.5)
sass (>= 3.2, < 3.5)
compass-rails (2.0.4)
compass (~> 1.0.0)
sass-rails (<= 5.0.1)
sprockets (< 2.13)
crack (0.4.1)
safe_yaml (~> 0.9.0)
css_parser (1.3.5)
addressable
css_splitter (0.4.1)
sprockets (>= 2.0.0)
daemons (1.2.2)
dalli (2.7.2)
database_cleaner (0.7.1)
db2fog (0.8.0)
activerecord (~> 3.0)
fog (~> 1.0)
rails (~> 3.0)
debugger (1.6.1)
columnize (>= 0.3.1)
debugger-linecache (~> 1.2.0)
debugger-ruby_core_source (~> 1.2.3)
debugger-linecache (1.2.0)
debugger-ruby_core_source (1.2.3)
delayed_job (4.0.4)
activesupport (>= 3.0, < 4.2)
delayed_job_active_record (4.0.2)
activerecord (>= 3.0, < 4.2)
delayed_job (>= 3.0, < 4.1)
devise (2.2.8)
bcrypt-ruby (~> 3.0)
orm_adapter (~> 0.1)
@@ -231,10 +252,9 @@ GEM
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.5.3)
erubis (2.7.0)
eventmachine (1.0.3)
excon (0.25.3)
execjs (1.4.0)
multi_json (~> 1.0)
eventmachine (1.0.8)
excon (0.45.4)
execjs (2.6.0)
factory_girl (3.3.0)
activesupport (>= 3.0.0)
factory_girl_rails (3.3.0)
@@ -245,26 +265,123 @@ GEM
figaro (0.7.0)
bundler (~> 1.0)
rails (>= 3, < 5)
fog (1.14.0)
fission (0.5.0)
CFPropertyList (~> 2.2)
fog (1.36.0)
fog-aliyun (>= 0.1.0)
fog-atmos
fog-aws (>= 0.6.0)
fog-brightbox (~> 0.4)
fog-core (~> 1.32)
fog-dynect (~> 0.0.2)
fog-ecloud (~> 0.1)
fog-google (<= 0.1.0)
fog-json
fog-local
fog-powerdns (>= 0.1.1)
fog-profitbricks
fog-radosgw (>= 0.0.2)
fog-riakcs
fog-sakuracloud (>= 0.0.4)
fog-serverlove
fog-softlayer
fog-storm_on_demand
fog-terremark
fog-vmfusion
fog-voxel
fog-xenserver
fog-xml (~> 0.1.1)
ipaddress (~> 0.5)
nokogiri (~> 1.5, >= 1.5.11)
fog-aliyun (0.1.0)
fog-core (~> 1.27)
fog-json (~> 1.0)
ipaddress (~> 0.8)
xml-simple (~> 1.1)
fog-atmos (0.1.0)
fog-core
fog-xml
fog-aws (0.7.6)
fog-core (~> 1.27)
fog-json (~> 1.0)
fog-xml (~> 0.1)
ipaddress (~> 0.8)
fog-brightbox (0.9.0)
fog-core (~> 1.22)
fog-json
inflecto (~> 0.0.2)
fog-core (1.35.0)
builder
excon (~> 0.25.0)
formatador (~> 0.2.0)
mime-types
multi_json (~> 1.0)
net-scp (~> 1.1)
net-ssh (>= 2.1.3)
nokogiri (~> 1.5)
ruby-hmac
excon (~> 0.45)
formatador (~> 0.2)
fog-dynect (0.0.2)
fog-core
fog-json
fog-xml
fog-ecloud (0.3.0)
fog-core
fog-xml
fog-google (0.1.0)
fog-core
fog-json
fog-xml
fog-json (1.0.2)
fog-core (~> 1.0)
multi_json (~> 1.10)
fog-local (0.2.1)
fog-core (~> 1.27)
fog-powerdns (0.1.1)
fog-core (~> 1.27)
fog-json (~> 1.0)
fog-xml (~> 0.1)
fog-profitbricks (0.0.5)
fog-core
fog-xml
nokogiri
fog-radosgw (0.0.4)
fog-core (>= 1.21.0)
fog-json
fog-xml (>= 0.0.1)
fog-riakcs (0.1.0)
fog-core
fog-json
fog-xml
fog-sakuracloud (1.4.0)
fog-core
fog-json
fog-serverlove (0.1.2)
fog-core
fog-json
fog-softlayer (1.0.2)
fog-core
fog-json
fog-storm_on_demand (0.1.1)
fog-core
fog-json
fog-terremark (0.1.0)
fog-core
fog-xml
fog-vmfusion (0.1.0)
fission
fog-core
fog-voxel (0.1.0)
fog-core
fog-xml
fog-xenserver (0.2.2)
fog-core
fog-xml
fog-xml (0.1.2)
fog-core
nokogiri (~> 1.5, >= 1.5.11)
foreigner (1.6.1)
activerecord (>= 3.0.0)
formatador (0.2.4)
formatador (0.2.5)
foundation-icons-sass-rails (3.0.0)
railties (>= 3.1.1)
sass-rails (>= 3.1.1)
foundation-rails (5.2.2.0)
foundation-rails (5.5.0.0)
railties (>= 3.1.0)
sass (>= 3.2.0)
fssm (0.2.10)
sass (>= 3.2.0, < 3.4)
fuubar (1.3.3)
rspec (>= 2.14.0, < 3.1.0)
ruby-progressbar (~> 1.4)
@@ -300,23 +417,25 @@ GEM
immigrant (0.1.6)
activerecord (>= 3.0)
foreigner (>= 1.2.1)
inflecto (0.0.2)
ipaddress (0.8.0)
journey (1.0.4)
jquery-rails (2.2.2)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.2)
json (1.8.3)
json_spec (1.1.1)
multi_json (~> 1.0)
rspec (~> 2.0)
kaminari (0.14.1)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.7.4)
kgio (2.9.3)
launchy (2.1.2)
addressable (~> 2.3)
letter_opener (1.0.0)
launchy (>= 2.0.4)
libv8 (3.16.14.3)
libv8 (3.16.14.11)
listen (2.2.0)
celluloid (>= 0.15.2)
rb-fsevent (>= 0.9.3)
@@ -332,28 +451,31 @@ GEM
railties (>= 3.1)
money (5.1.1)
i18n (~> 0.6.0)
multi_json (1.10.1)
multi_json (1.11.2)
multi_xml (0.5.5)
net-scp (1.1.2)
net-ssh (>= 2.6.5)
net-ssh (2.6.8)
newrelic_rpm (3.6.7.152)
nokogiri (1.6.6.2)
newrelic_rpm (3.12.0.288)
nokogiri (1.6.6.4)
mini_portile (~> 0.6.0)
oj (2.1.2)
orm_adapter (0.5.0)
paper_trail (3.0.8)
activerecord (>= 3.0, < 5.0)
activesupport (>= 3.0, < 5.0)
paperclip (3.5.4)
activemodel (>= 3.0.0)
activesupport (>= 3.0.0)
cocaine (~> 0.5.3)
mime-types
parallel (1.4.1)
parallel_tests (1.3.7)
parallel
paypal-sdk-core (0.2.10)
multi_json (~> 1.0)
xml-simple
paypal-sdk-merchant (1.106.1)
paypal-sdk-core (~> 0.2.3)
pg (0.13.2)
poltergeist (1.5.0)
poltergeist (1.7.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
@@ -365,13 +487,13 @@ GEM
coderay (~> 1.0.5)
method_source (~> 0.8)
slop (~> 3.4)
pry-debugger (0.2.2)
debugger (~> 1.3)
pry (~> 0.9.10)
pry-byebug (1.3.2)
byebug (~> 2.7)
pry (~> 0.9.12)
rabl (0.7.2)
activesupport (>= 2.3.14)
multi_json (~> 1.0)
rack (1.4.5)
rack (1.4.7)
rack-cache (1.2)
rack (>= 0.4)
rack-livereload (0.3.15)
@@ -398,7 +520,7 @@ GEM
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
raindrops (0.9.0)
raindrops (0.13.0)
rake (10.4.2)
ransack (0.7.2)
actionpack (~> 3.0)
@@ -409,6 +531,7 @@ GEM
ffi (>= 0.5.0)
rdoc (3.12.2)
json (~> 1.4)
redcarpet (3.2.3)
ref (1.0.5)
representative (1.0.5)
activesupport (>= 2.2.2)
@@ -439,10 +562,11 @@ GEM
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0)
ruby-hmac (0.4.0)
rspec-retry (0.4.2)
rspec-core
ruby-progressbar (1.7.1)
safe_yaml (0.9.5)
sass (3.2.19)
sass (3.3.14)
sass-rails (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
@@ -451,10 +575,6 @@ GEM
thor (~> 0.14)
shoulda-matchers (1.1.0)
activesupport (>= 3.0.0)
simplecov (0.7.1)
multi_json (~> 1.0)
simplecov-html (~> 0.7.1)
simplecov-html (0.7.1)
slop (3.4.5)
spinjs-rails (1.3)
rails (>= 3.1)
@@ -481,11 +601,11 @@ GEM
sprockets (>= 2.0.0)
turn (0.8.3)
ansi
tzinfo (0.3.43)
uglifier (1.2.4)
tzinfo (0.3.44)
uglifier (2.7.1)
execjs (>= 0.3.0)
multi_json (>= 1.0.2)
unicorn (4.3.1)
json (>= 1.8.0)
unicorn (4.9.0)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
@@ -502,10 +622,15 @@ GEM
webmock (1.13.0)
addressable (>= 2.2.7)
crack (>= 0.3.2)
websocket-driver (0.3.2)
websocket-driver (0.6.2)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
whenever (0.9.2)
activesupport (>= 2.3.4)
chronic (>= 0.6.3)
wicked_pdf (0.11.0)
rails
wkhtmltopdf-binary (0.9.9.3)
xml-simple (1.1.4)
xpath (2.0.0)
nokogiri (~> 1.3)
@@ -517,23 +642,29 @@ PLATFORMS
DEPENDENCIES
active_model_serializers
acts-as-taggable-on (~> 3.4)
andand
angular-rails-templates
angular-rails-templates (~> 0.2.0)
angularjs-file-upload-rails (~> 1.1.0)
angularjs-rails (= 1.2.13)
atomic
awesome_print
aws-sdk
blockenspiel
bugsnag
capybara
coffee-rails (~> 3.2.1)
comfortable_mexican_sofa
compass-rails
css_splitter
custom_error_message!
daemons
dalli
database_cleaner (= 0.7.1)
db2fog
debugger-linecache
deface!
delayed_job_active_record
factory_girl_rails
figaro
foreigner
@@ -556,24 +687,28 @@ DEPENDENCIES
letter_opener
momentjs-rails
newrelic_rpm
nokogiri
oj
paper_trail (~> 3.0.8)
paperclip
parallel_tests
pg
poltergeist
pry-debugger
pry-byebug
rabl
rack-livereload
rack-ssl
rails (= 3.2.21)
rails-i18n (~> 3.0.0)
redcarpet
representative_view
roadie-rails (~> 1.0.3)
rspec-rails
sass (~> 3.2)
rspec-retry
sass (~> 3.3)
sass-rails (~> 3.2.3)
shoulda-matchers
simple_form!
simplecov
spinjs-rails
spree!
spree_auth_devise!
@@ -589,3 +724,5 @@ DEPENDENCIES
unicorn-rails
webmock
whenever
wicked_pdf
wkhtmltopdf-binary

View File

@@ -1,4 +1,3 @@
[![Build Status](http://ci.openfood.com.au:8080/buildStatus/icon?job=openfoodweb - tests)](http://ci.openfood.com.au:8080/job/openfoodweb%20-%20tests/)
[![Code Climate](https://codeclimate.com/github/openfoodfoundation/openfoodnetwork.png)](https://codeclimate.com/github/openfoodfoundation/openfoodnetwork)
# Open Food Network
@@ -13,10 +12,15 @@ We're part of global movement - get involved!
* Find out more and join in the conversation - http://openfoodnetwork.org
## Getting started
Below are instructions for setting up a development environment for Open Food Network. If you're interested in provisioning a server, see [the project's Ansible playbooks](https://github.com/openfoodfoundation/ofn_deployment).
## Dependencies
* Rails 3.2.x
* Ruby >= 1.9.3
* Ruby 2.1.5
* PostgreSQL database
* PhantomJS (for testing)
* See Gemfile for a list of gems required
@@ -33,19 +37,20 @@ You can view the code at:
You can download the source with the command:
git clone git@github.com:openfoodfoundation/openfoodnetwork
git clone https://github.com/openfoodfoundation/openfoodnetwork.git
## Get it running
For those new to Rails, the following tutorial will help get you up to speed with configuring a Rails environment: http://guides.rubyonrails.org/getting_started.html .
First, check your dependencies: Ensure that you have Ruby 1.9.x installed:
First, check your dependencies: Ensure that you have Ruby 2.1.5 installed:
ruby --version
Install the project's gem dependencies:
cd openfoodnetwork
bundle install
Configure the site:

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 153 KiB

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1003 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 662 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 162 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

@@ -0,0 +1,82 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
viewBox="0 0 300 104"
enable-background="new 0 0 300 104"
id="svg2"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="logo-black.svg">
<metadata
id="metadata24">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs22" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1084"
inkscape:window-height="641"
id="namedview20"
showgrid="false"
inkscape:zoom="1.8101934"
inkscape:cx="126.57728"
inkscape:cy="62.030566"
inkscape:window-x="0"
inkscape:window-y="27"
inkscape:window-maximized="0"
inkscape:current-layer="g4" />
<g
id="g4"
fill="#fff">
<path
d="M142.7 15.6c.4 3.2.4 7.5 0 10.7-.5 4.6-3.8 8.4-9.1 8.4s-8.5-3.8-9.1-8.4c-.4-3.2-.4-7.5 0-10.7.5-4.6 3.8-8.4 9.1-8.4s8.6 3.8 9.1 8.4m-5.3 10.7c.4-3.2.4-7.5 0-10.7-.2-1.7-1.4-3-3.7-3-2.3 0-3.5 1.4-3.7 3-.4 3.2-.4 7.5 0 10.7.2 1.7 1.4 3 3.7 3 2.3 0 3.5-1.3 3.7-3"
id="path6"
style="fill:#000000" />
<path
d="M156.4 7.6c4.4 0 8 3.6 8 8s-3.6 8-8 8H153c-.2 0-.4.2-.4.4v9.5c0 .4-.3.8-.8.8H148c-.4 0-.8-.3-.8-.8V8.4c0-.4.3-.8.8-.8h8.4zm-3.5 5.3c-.2 0-.4.2-.4.4v4.6c0 .2.2.4.4.4h3.4c1.4 0 2.7-1.2 2.7-2.7 0-1.4-1.2-2.7-2.7-2.7h-3.4zM172.9 28.6c0 .2.2.4.4.4h9c.4 0 .8.3.8.8v3.8c0 .4-.3.8-.8.8h-14c-.4 0-.8-.3-.8-.8V8.4c0-.4.3-.8.8-.8h13.8c.4 0 .8.3.8.8v3.8c0 .4-.3.8-.8.8h-8.9c-.2 0-.4.2-.4.4V18c0 .2.2.4.4.4h8.6c.4 0 .8.3.8.8V23c0 .4-.3.8-.8.8h-8.6c-.2 0-.4.2-.4.4v4.4zM199.4 34.3c-.6 0-.9-.3-1-.6l-5.2-13.4c-.1-.2-.3-.2-.3.1v13.2c0 .4-.3.8-.8.8h-3.8c-.4 0-.8-.3-.8-.8V8.4c0-.4.3-.8.8-.8h4.5c.6 0 .8.3 1 .7l5.2 14.5c.1.2.3.2.3-.1V8.4c0-.4.3-.8.8-.8h3.8c.4 0 .8.3.8.8v25.1c0 .4-.3.8-.8.8h-4.5zM224.4 24v9.5c0 .4-.3.8-.8.8h-3.8c-.4 0-.8-.3-.8-.8V8.4c0-.4.3-.8.8-.8h13.3c.4 0 .8.3.8.8v3.8c0 .4-.3.8-.8.8h-8.4c-.2 0-.4.2-.4.4V18c0 .2.2.4.4.4h8c.4 0 .8.3.8.8V23c0 .4-.3.8-.8.8h-8c-.1-.2-.3 0-.3.2M255.6 15.6c.4 3.2.4 7.5 0 10.7-.5 4.6-3.8 8.4-9.1 8.4s-8.5-3.8-9.1-8.4c-.4-3.2-.4-7.5 0-10.7.5-4.6 3.8-8.4 9.1-8.4s8.6 3.8 9.1 8.4m-5.3 10.7c.4-3.2.4-7.5 0-10.7-.2-1.7-1.4-3-3.7-3-2.3 0-3.5 1.4-3.7 3-.4 3.2-.4 7.5 0 10.7.2 1.7 1.4 3 3.7 3 2.3 0 3.5-1.3 3.7-3M278 15.6c.4 3.2.4 7.5 0 10.7-.5 4.6-3.8 8.4-9.1 8.4s-8.5-3.8-9.1-8.4c-.4-3.2-.4-7.5 0-10.7.5-4.6 3.8-8.4 9.1-8.4s8.5 3.8 9.1 8.4m-5.4 10.7c.4-3.2.4-7.5 0-10.7-.2-1.7-1.4-3-3.7-3-2.3 0-3.5 1.4-3.7 3-.4 3.2-.4 7.5 0 10.7.2 1.7 1.4 3 3.7 3 2.3 0 3.5-1.3 3.7-3"
id="path8"
style="fill:#000000" />
<path
d="M291.2 7.6c4.7 0 8 3.8 8.5 8.4.4 3.2.4 6.6 0 9.8-.5 4.6-3.8 8.4-8.5 8.4h-8c-.4 0-.8-.3-.8-.8v-25c0-.4.3-.8.8-.8h8zm-3 5.3c-.2 0-.4.2-.4.4v15.2c0 .2.2.4.4.4h3c1.8 0 2.9-1.4 3.1-3.1.4-3.2.4-6.6 0-9.8-.2-1.7-1.4-3.1-3.1-3.1h-3zM137.5 67.9c-.4 0-.6-.1-.8-.6l-9.1-20.8c-.1-.1-.3-.1-.3.1v20.6c0 .4-.3.7-.8.7h-.8c-.4 0-.8-.3-.8-.7V43.3c0-.4.3-.7.8-.7h2c.4 0 .6.1.8.6l9.1 20.6c.1.1.3.1.3-.1V43.3c0-.4.3-.7.8-.7h.8c.4 0 .8.3.8.7v23.9c0 .4-.3.7-.8.7h-2zM146.7 65.3c0 .2.2.4.4.4h9.9c.4 0 .8.3.8.7v.9c0 .4-.3.7-.8.7h-12c-.4 0-.8-.3-.8-.7v-24c0-.4.3-.7.8-.7h12c.4 0 .8.3.8.7v.9c0 .4-.3.7-.8.7h-9.9c-.2 0-.4.1-.4.4v8.2c0 .2.2.4.4.4h9.4c.4 0 .8.3.8.7v.8c0 .4-.3.7-.8.7h-9.4c-.2 0-.4.1-.4.4v8.8zM170 45.3v21.9c0 .4-.3.7-.8.7h-1c-.4 0-.8-.3-.8-.7V45.3c0-.2-.2-.4-.4-.4h-5.6c-.4 0-.8-.3-.8-.7v-.9c0-.4.3-.7.8-.7H176c.4 0 .8.3.8.7v.9c0 .4-.3.7-.8.7h-5.6c-.2 0-.4.2-.4.4M187 67.9h-2.1c-.3 0-.6-.2-.7-.5L179 43.3c-.1-.4.2-.7.8-.7h.9c.3 0 .6.1.7.5l4.3 20.7c0 .1.1.2.2.2h.1c.1 0 .2-.1.2-.2l4-20.7c.1-.4.4-.5.7-.5h1.3c.3 0 .6.2.7.5l4.3 20.7c0 .1.1.2.2.2h.1c.1 0 .2-.1.2-.2l4.6-20.7c.1-.4.4-.5.7-.5h.9c.6 0 .8.4.8.7l-5.5 24.1c-.1.4-.4.5-.7.5h-2.1c-.3 0-.6-.2-.7-.5l-4-19.3c0-.2-.3-.2-.3 0l-3.8 19.3c0 .4-.3.5-.6.5M223.9 49.8c.4 2.9.4 7.9 0 10.9-.6 4.7-3.9 7.5-8.5 7.5s-7.8-2.9-8.5-7.5c-.4-2.9-.4-8 0-10.9.6-3.9 3.5-7.5 8.5-7.5s7.9 3.6 8.5 7.5m-2.6 10.9c.5-3 .5-7.9 0-10.9-.4-2.6-2.3-5.2-5.9-5.2-3.6 0-5.5 2.6-5.9 5.2-.5 3-.5 7.9 0 10.9.3 2.1 1.8 5.2 5.9 5.2 4.1 0 5.6-3.1 5.9-5.2"
id="path10"
style="fill:#000000" />
<path
d="M230.9 57.8c-.2 0-.4.1-.4.4v9c0 .4-.3.7-.8.7h-.9c-.4 0-.8-.3-.8-.7V43.3c0-.4.3-.7.8-.7h6.5c4.4 0 8 3.4 8 7.6 0 3.3-1.8 5.2-4.5 6.9-.5.3-.6.6-.3 1.2l4.8 8.6c.3.5 0 1.1-.7 1.1h-.8c-.6 0-.9-.3-1.1-.7l-4.9-9c-.1-.2-.3-.4-.7-.4h-4.2zm0-12.9c-.2 0-.4.1-.4.4v9.8c0 .2.2.4.4.4h4.4c3 0 5.6-2.4 5.6-5.3s-2.5-5.3-5.6-5.3h-4.4zM249.3 57.1c-.1-.1-.3-.1-.3.1v10c0 .4-.3.7-.8.7h-.9c-.4 0-.8-.3-.8-.7V43.3c0-.4.3-.7.8-.7h.9c.4 0 .8.3.8.7v9.6c0 .2.2.2.3.1l8.8-10c.1-.1.4-.4 1-.4h.6c.9 0 1.1.8.6 1.3l-9.4 10.5c-.2.3-.3.5 0 .9L261 66.6c.4.5.3 1.3-.7 1.3h-.8c-.6 0-.8-.3-1-.5l-9.2-10.3zM133.1 91.2c-.1-.3-.3-.4-.6-.4h-6c-.3 0-.5.1-.6.4l-1.4 4.9c-.1.3-.3.4-.6.4h-.7c-.5 0-.7-.3-.6-.6l5.6-19.4c.1-.3.3-.4.6-.4h1.5c.3 0 .5.2.6.4l5.6 19.4c.1.3-.1.6-.6.6h-.7c-.3 0-.5-.2-.6-.4l-1.5-4.9zm-.7-2.6l-2.7-9.9c0-.1-.1-.2-.1-.2h-.1c-.1 0-.1.1-.1.2l-2.7 9.9c-.1.2.1.3.2.3h5.1c.3 0 .4 0 .4-.3"
id="path12"
style="fill:#000000" />
<path
d="M150.4 90.5c0 3.5-2.8 6.3-6.3 6.3s-6.3-2.8-6.3-6.3V76.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v13.8c0 2.3 1.9 4.4 4.4 4.4 2.5 0 4.4-2.1 4.4-4.4V76.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v13.8zM158.4 86.4c-2.1-.5-4.9-1.6-4.9-5 0-3.5 2.7-5.5 5.7-5.5 3.4 0 5.7 2.5 5.7 5.5v.4c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6v-.4c0-2.1-1.6-3.6-3.8-3.6-2.6 0-3.8 1.8-3.8 3.6 0 2.6 2.7 2.9 4.8 3.5 3.2 1 5.3 2.2 5.3 5.8 0 3.8-3 6.1-6.3 6.1-3.8 0-6.3-2.7-6.3-6.1v-.5c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v.5c0 2 1.5 4.2 4.4 4.2 2.7 0 4.4-1.7 4.4-4.2 0-2.7-1.9-3.5-5.2-4.3M173.5 78.3V96c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6V78.3c0-.2-.1-.3-.3-.3H167c-.3 0-.6-.3-.6-.6v-.7c0-.3.3-.6.6-.6h11.1c.3 0 .6.3.6.6v.7c0 .3-.3.6-.6.6h-4.3c-.2 0-.3.1-.3.3"
id="path14"
style="fill:#000000" />
<path
d="M182.9 88.4c-.2 0-.3.1-.3.3V96c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6V76.7c0-.3.3-.6.6-.6h5c3.4 0 6.1 2.7 6.1 6.1 0 2.6-1.4 4.2-3.5 5.6-.4.2-.4.5-.2.9l3.7 6.9c.2.4 0 .9-.6.9h-.6c-.5 0-.7-.2-.8-.6l-3.7-7.2c-.1-.2-.2-.4-.6-.4h-3.2zm0-10.4c-.2 0-.3.1-.3.3v7.9c0 .2.1.3.3.3h3.4c2.3 0 4.3-1.9 4.3-4.3 0-2.3-1.9-4.3-4.3-4.3h-3.4zM204.8 91.2c-.1-.3-.3-.4-.6-.4h-6c-.3 0-.5.1-.6.4l-1.4 4.9c-.1.3-.3.4-.6.4h-.6c-.5 0-.7-.3-.6-.6l5.6-19.4c.1-.3.3-.4.6-.4h1.5c.3 0 .5.2.6.4l5.6 19.4c.1.3-.1.6-.6.6h-.7c-.3 0-.5-.2-.6-.4l-1.6-4.9zm-.7-2.6l-2.7-9.9c0-.1-.1-.2-.1-.2h-.1c-.1 0-.1.1-.1.2l-2.7 9.9c-.1.2.1.3.2.3h5.1c.3 0 .4 0 .4-.3"
id="path16"
style="fill:#000000" />
<path
d="M212.2 94.4c0 .2.1.3.3.3h7.2c.3 0 .6.3.6.6v.7c0 .3-.3.6-.6.6H211c-.3 0-.6-.3-.6-.6V76.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v17.7zM224.5 95.9c0 .3-.3.6-.6.6h-.7c-.3 0-.6-.3-.6-.6V76.7c0-.3.3-.6.6-.6h.7c.3 0 .6.3.6.6v19.2zM237.1 91.2c-.1-.3-.3-.4-.6-.4h-6c-.3 0-.5.1-.6.4l-1.4 4.9c-.1.3-.3.4-.6.4h-.7c-.5 0-.7-.3-.6-.6l5.6-19.4c.1-.3.3-.4.6-.4h1.5c.3 0 .5.2.6.4l5.6 19.4c.1.3-.1.6-.6.6h-.7c-.3 0-.5-.2-.6-.4l-1.5-4.9zm-.7-2.6l-2.7-9.9c0-.1-.1-.2-.1-.2h-.1c-.1 0-.1.1-.1.2l-2.7 9.9c-.1.2.1.3.2.3h5.1c.3 0 .4 0 .4-.3M3 44.3h.5c1.2 0 2.2-.9 2.4-2 .5-2.4 1.1-4.7 2-7 6.6-18.2 23.5-30.4 42-30.4s35.4 12.2 42 30.3c.8 2.2 1.5 4.6 2 6.9.3 1.3 1.6 2.2 2.9 1.9 1.3-.3 2.2-1.6 1.9-2.9-.5-2.6-1.3-5.1-2.2-7.6C89.2 13.5 70.5 0 49.9 0S10.6 13.5 3.3 33.6c-.9 2.5-1.6 5.1-2.2 7.7v.2l2.4.5-2.4-.5c-.3 1.3.6 2.6 1.9 2.8M99.8 53c.1-1-.4-2-1.4-2.5-3.4-1.6-7.7-3.1-12.5-4.2-1.5-.4-3.1-.7-4.7-1-3.3-.6-6.9-1.2-10.7-1.6-.7-7.4-3.9-12.8-9.5-16.6-6.3-4.2-14.1-4.4-20.9-.6-6.6 3.6-10.8 10.1-11.1 17.3-11.1 1.4-20.8 3.8-27.6 7.1-.1 0-.1.1-.2.1s-.1.1-.2.1l-.1.1c-.1.1-.2.1-.2.2-.4.4-.6 1-.6 1.6 0 1.4.1 2.7.2 4.1 0 .4.1.7.1 1.1.3 2.6.8 5.2 1.5 7.7.2.7.3 1.4.5 2 .3.9.6 1.7.9 2.6.7 1.8 1.4 3.6 2.2 5.2.8 1.6 1.7 3.1 2.6 4.6.7 1.2 1.5 2.3 2.4 3.5 1 1.3 2 2.6 3.2 3.8 1.5 1.7 3.1 3.2 4.8 4.6 1.4 1.2 2.9 2.3 4.4 3.3 1.9 1.3 3.8 2.4 5.9 3.4 2 .9 4 1.8 6.1 2.4 2.1.7 4.3 1.2 6.5 1.6 2.8.5 5.7.8 8.7.8h.1c13.6 0 26.5-5.9 35.8-15.9 1.8-1.9 3.4-3.9 4.9-6.1.2-.2.3-.5.5-.7 1.5-2.4 2.9-4.8 4-7.4.9-2 1.6-4 2.2-6 1.3-4.5 2.1-9.5 2.2-14.6 0 .1 0 .1 0 0m-14.1-1.7c3.3.8 6.3 1.8 8.9 2.9-3.4 1.6-6.7 2.9-9.9 4.1-1.9.7-3.7 1.2-5.5 1.7-3.5 1-7.1 1.6-10.7 2 1.3-4.4 2-8.8 2.2-13.4 3.6.4 7 1 10.2 1.6 1.7.4 3.3.7 4.8 1.1m-13 23.1c-3.2.4-6.5.6-9.7.6 1.5-2.5 2.7-5.2 3.8-7.8 3.6-.2 7-.7 10.4-1.5-1.3 2.9-2.8 5.8-4.5 8.7m-9.8 12.5c-2.8 0-5.6-.1-8.4-.5 1.9-2.1 3.7-4.3 5.4-6.5 1.2.1 2.5.1 3.7.1 1.8 0 3.7-.1 5.5-.2-1.9 2.4-4 4.8-6.2 7.1m-22.7-4.5c1.6-1.7 3-3.4 4.4-5.2 3.2.9 6.4 1.6 9.5 2-1.7 2.1-3.5 4.1-5.4 6-2.8-.7-5.6-1.6-8.5-2.8M6.6 65c-.5-1.9-.9-3.8-1.2-5.8 7.2-1.8 16.6-1.4 26.2 1.3-.9 2-2 3.9-3.2 5.8C19.3 64 11.6 64.2 6.6 65m50.7 9.7c-3.2-.3-6.5-.9-9.8-1.7 1.4-2.2 2.6-4.5 3.7-6.9 3.5.6 6.8 1 10.1 1.1-1.1 2.5-2.4 5.1-4 7.5m-14.6-3.3c-1.5-.5-3-1.1-4.5-1.8-1.7-.7-3.3-1.3-4.9-1.9 1.1-1.9 2.2-3.8 3.1-5.8 3.5 1.2 6.8 2.2 10 3-1.1 2.3-2.4 4.5-3.7 6.5m-12.2.6c1.8.6 3.8 1.3 5.7 2.2 1.2.5 2.3 1 3.5 1.4-1.3 1.7-2.8 3.3-4.3 4.8-3.1-1.2-6.2-2.3-9.3-3 1.5-1.8 3-3.6 4.4-5.4m12-41.3c5.2-2.9 11.1-2.7 15.8.4 4.2 2.8 6.5 6.7 7.3 12-5-.4-10.2-.6-15.5-.6-5.5 0-10.9.3-16 .7.4-5.1 3.5-9.8 8.4-12.5M50 47.5h2.1c1 0 2 0 3.1.1 3.6.1 7.2.3 10.6.6-.2 4.8-1 9.5-2.5 14.1-3.2 0-6.5-.3-10-.9-1.6-.3-3.2-.6-4.9-1-3.2-.7-6.6-1.7-10.2-3-.1 0-.2-.1-.3-.1-1.5-.5-2.9-1-4.4-1.4-9.6-2.8-18.9-3.5-26.7-2 10.3-4.1 26.1-6.4 43.2-6.4M8.2 69.7c4.2-.5 10.1-.7 17.2.9-1.5 1.9-3.2 3.8-5 5.5-3.3-.5-6.5-.8-9.6-.7-1-1.8-1.9-3.7-2.6-5.7m9.5 15.2c-1.1-1.2-2.2-2.4-3.2-3.8-.2-.3-.4-.5-.6-.8.5 0 1 0 1.5.1 2 .2 4.2.4 6.5.9 2.8.6 6 1.5 9.3 2.7-2.5 2.1-5.3 4.1-8.2 5.8-1.8-1.4-3.6-3.1-5.3-4.9m9.9 8c3.2-2 6.1-4.3 8.8-6.8 2.7 1.2 5.3 2.2 8 2.9-3 2.6-6.3 5.1-10 7.1-2.4-.8-4.7-1.9-6.8-3.2m13.1 5.2c3.5-2.3 6.6-5 9.4-7.5 2.7.5 5.3.9 7.9 1.1-3.2 3-6.3 5.4-9.4 7.4-2.6-.2-5.3-.5-7.9-1m17.1.2c2.4-1.9 4.7-4.1 7.2-6.6 3.6-.1 7.2-.6 10.8-1.3-5.3 4-11.5 6.7-18 7.9m28.9-19.1c-1.1 1.6-2.3 3.1-3.5 4.5-4.4 1.2-8.8 2.2-13.2 2.7 2.1-2.4 3.9-4.9 5.6-7.5 4.4-.7 8.8-1.7 13.1-3-.7 1.2-1.3 2.2-2 3.3m-7.8-5.9c1.6-3.1 3-6.2 4.1-9.3 3.7-1.2 7.4-2.6 11.3-4.3-.5 3.5-1.5 6.9-2.7 10.2-4.2 1.4-8.4 2.5-12.7 3.4"
id="path18"
style="fill:#000000" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 971 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
app/assets/images/ofn-o.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300.8" enable-background="new 0 0 300 300.8"><path fill="#808285" d="M150 300.8c-78.3 0-144.2-61.1-150-139.1-.2-2.3 1.5-4.3 3.8-4.4 2.3-.2 4.3 1.5 4.4 3.8C13.7 234.8 76 292.6 150 292.6c74 0 136.3-57.7 141.8-131.4.2-2.3 2.1-4 4.4-3.8 2.3.2 4 2.1 3.8 4.4-5.8 77.9-71.7 139-150 139zm145.9-157.3c-2.1 0-4-1.7-4.1-3.8C286.3 66 224 8.3 150 8.3 76 8.3 13.7 66 8.2 139.7c-.2 2.3-2.1 4-4.4 3.8-2.3-.2-4-2.2-3.8-4.4C5.8 61.1 71.7 0 150 0s144.2 61.1 150 139.1c.2 2.3-1.5 4.3-3.8 4.4h-.3z"/></svg>

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,840 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="265 892.8 550 134.3" enable-background="new 265 892.8 550 134.3" xml:space="preserve">
<g id="Layer_1_1_" display="none">
<g display="inline">
<text transform="matrix(0.9994 3.560383e-02 -3.560383e-02 0.9994 1023.0334 999.8911)" font-family="'LondrinaSketch-Regular'" font-size="32.2299" letter-spacing="1">BETA</text>
<g>
<g>
<path fill="#444345" d="M156.5,1047.3v-20.9c0-2.3-2.1-4-4.4-4h-33.4c-2.4,0-4.6,1.6-4.6,4v20.9c0,2.3,2.4,4.2,4.6,4.2h33.4
C154.4,1051.4,156.5,1049.6,156.5,1047.3z M118.8,1026.3h33.8v21.3h-33.8V1026.3z"/>
<path fill="#444345" d="M197.5,895.5c-8.4,16.7-11.9,18.9-11.9,25.8c0,6.6,5.6,12.2,12.3,12.2c6.6,0,12.3-5.4,12.3-12.2
c0-7-3.1-10.9-11.9-25.8C198,895.1,197.7,895.1,197.5,895.5z M194.2,921.1c0,2.2-1.3,3-2.5,3c-1.5,0-2.5-1.1-2.5-2.6
c0-4.8,2.4-8,4.4-10.8c0.7-0.9,1.3-1.7,1.7-2.5C195.4,907.9,194.2,917.1,194.2,921.1z"/>
<path fill="#444345" d="M92.5,1032.2c-2.5-1.6-7.5-4.6-7.5-4.6s0,0,0,6.3c0,6.3,10.6,8.6,10.6,8.6
C95.4,1039.5,95.1,1033.8,92.5,1032.2z"/>
<path fill="#444345" d="M92.5,1043.5c-2.5-1.6-7.5-4.6-7.5-4.6s0,0,0,6.3c0,6.3,10.6,8.6,10.6,8.6
C95.4,1050.9,95.1,1045.2,92.5,1043.5z"/>
<path fill="#444345" d="M95.5,1065.2c-0.2-3-0.4-8.6-2.9-10.3c-2.5-1.6-7.7-4.6-7.7-4.6s0,0,0,6.3
C85,1062.9,95.5,1065.2,95.5,1065.2z"/>
<path fill="#444345" d="M99.1,1042.5c0,0,11-2.4,11-8.6c0-6.3,0-6.3,0-6.3s-6.2,3-8.7,4.6C98.8,1033.8,99.3,1039.5,99.1,1042.5z
"/>
<path fill="#444345" d="M99.1,1053.8c0,0,11-2.3,11-8.6c0-6.2,0-6.3,0-6.3s-6.2,3-8.7,4.6C98.8,1045.2,99.3,1050.9,99.1,1053.8z
"/>
<path fill="#444345" d="M110.1,1056.6c0-6.3,0-6.3,0-6.3s-6.1,2.9-8.6,4.6c-2.5,1.6-2.4,7.3-2.5,10.3
C99,1065.2,110.1,1062.9,110.1,1056.6z"/>
<path fill="#444345" d="M101.1,1025.9c0-2.9-0.7-6.6-4-10.3c0,0-3.9,4.8-3.9,9.5c0,3.1,1.7,5.7,3.9,8.4
C97.1,1033.7,101.1,1029,101.1,1025.9z"/>
<path fill="#444345" d="M84.3,851.2c0.8,0,1.5-0.1,2.2-0.4c1.6,1.5,3.7,2.2,5.8,2.2c2.1,0,4.2-0.8,5.8-2.2
c0.7,0.3,1.5,0.4,2.2,0.4c3.5,0,6.3-2.8,6.3-6.3s-2.8-6.3-6.3-6.3c-0.3,0-0.6,0-0.9,0.1c-1.6-2.4-4.2-3.7-7.1-3.7
c-2.9,0-5.5,1.3-7.1,3.7c-0.3,0-0.6-0.1-0.9-0.1c-3.5,0-6.3,2.8-6.3,6.3C78.2,848.4,81,851.2,84.3,851.2z"/>
<path fill="#444345" d="M94,862c0,0.9,0.8,1.7,1.8,1.7c0.9,0,1.7-0.8,1.7-1.7s-1.7-3.6-1.7-3.6S94,860.9,94,862z"/>
<path fill="#444345" d="M99.1,858.3c0.9,0,1.8-0.8,1.8-1.7s-1.8-3.6-1.8-3.6s-1.7,2.6-1.7,3.6C97.3,857.5,98.2,858.3,99.1,858.3
z"/>
<path fill="#444345" d="M92,859.2c0-0.9-1.7-3.6-1.7-3.6s-1.8,2.6-1.8,3.6s0.8,1.7,1.8,1.7C91.2,861,92,860.2,92,859.2z"/>
<path fill="#444345" d="M8.8,1010.5c0,6.4,5.2,11.7,11.7,11.7s11.7-5.2,11.7-11.7s-5.2-11.7-11.7-11.7S8.8,1004,8.8,1010.5z
M29.1,1010.5c0,4.8-4,8.8-8.7,8.8c-4.8,0-8.8-4-8.8-8.8c0-4.8,4-8.8,8.8-8.8S29.1,1005.7,29.1,1010.5z"/>
<polygon fill="#444345" points="16,1014.9 22,1012 24.8,1006.1 19,1009.1 "/>
<path fill="#444345" d="M113.9,866.3c0-0.1-0.1-0.2-0.1-0.3L113.9,866.3L113.9,866.3z"/>
<path fill="#444345" d="M110.6,876.1c7.1-2,14.4,3.1,15.4,10.5c0,0.3,0.1,0.6,0.1,0.9c0.3,0,0.6,0.1,0.9,0.1
c6-0.2,12.1-0.2,18.1-0.5c-2.5,0.7-4.4,3-4.4,5.7c0,3.3,2.7,6,6,6s6-2.7,6-6c0-3-2.2-5.4-5-5.9c4.4-0.3,3.6-0.2,4.4-4.2
c0.4-1.9,0.6-3.9,0.8-5.8c0.2-1.8-0.3-2.2-2.1-2.4c-2.7-0.1-5.1-0.2-7.9-0.3c-0.1,0-0.2-0.1-0.2-0.2c0-2,0.5-6.8,0.5-6.8
s-0.9-0.8-1.9-0.1c0,2.4,0,4.6,0,7.1c0,0-3.6-0.1-8.2-0.2c-0.2,0-0.9-0.4-1.3-1.1c-0.7-1.9-2.4-5.6-4.4-11.4
c0,0-1.1-2.4-3.8-2.4c-2.1,0-13.4,0-13.4,0v14.2c0,0-0.8,0.4-1.5,0.5C108.2,876.1,108.7,876.5,110.6,876.1z M149.8,892.9
c0,1.7-1.5,3.1-3.1,3.1c-1.7,0-3.1-1.5-3.1-3.1c0-1.7,1.5-3.1,3.1-3.1C148.4,889.8,149.8,891.1,149.8,892.9z M113.8,866v-2.7h11
l3.5,10.5l0.1,0.1c-4.7-0.1-10.1,0-14.6,0.2V866z"/>
<path fill="#444345" d="M113.3,877.3c-6,0-10.8,4.8-10.8,10.8c0,6,4.8,10.8,10.8,10.8c5.9,0,10.8-4.8,10.8-10.8
C124.1,882.1,119.3,877.3,113.3,877.3z M113.3,894.1c-3.3,0-6-2.7-6-6c0-3.3,2.7-6,6-6s6,2.7,6,6
C119.3,891.4,116.6,894.1,113.3,894.1z"/>
<path fill="#444345" d="M87.2,1074.3l-7.9-4.2c0.5-1.7,0.5-3.7,0-5.6c-1.6-5.5-7.9-8.9-13.4-7.3c-5.6,1.6-8.8,7.3-7.1,12.8
c1.6,5.5,7.9,8.9,13.4,7.3c1.8-0.6,3.5-1.5,4.6-2.8l7.9,4.4c0.8,0.4,1.7,0.1,2.2-0.7l1.1-1.9C88.4,1075.5,88,1074.8,87.2,1074.3
z M70.8,1073.2c-3.2,0.9-7-1.1-7.9-4.2c-0.9-3.2,0.9-6.6,4.2-7.5c3.2-0.9,7,1.1,7.9,4.2C75.9,1069,74.1,1072.3,70.8,1073.2z"/>
<path fill="#444345" d="M42.4,987.3c6-6.8,2.7-11.7,1.7-13.6c-0.9-1.9-1.3-4.7-1.3-4.7l0.2-0.9l0.2-1.1
c-1.3-0.4-2.7,0.3-2.7,0.3c0.3,2.1-0.3,4.4-0.6,5.3c-0.4,0.9-1.6,2.8-2.2,4c-0.6,1.1-2.1,4.7-9.9,8.1
c-7.9,3.4-18.3,0.3-18.3,0.3c-2.7-0.7-4.9,0.4-4.9,0.4L4,986.3l0.1,0.8l-0.3,0.5l0.1,0.6c7.7,11.9,23.6,7.9,23.6,7.9
S36.4,994,42.4,987.3z"/>
<path fill="#444345" d="M215.2,1059.3c3.5-0.1,6.8-0.7,10.1-2c1.1-0.5,1.5-1.3,1.6-2.5c0.1-0.7,0.1-1.3,0.1-1.9
c0-0.1,0-0.1,0-0.2c0-0.1-0.3-0.4-0.7-0.4c-1.6-0.1-1.9-0.5-2.4-2c-0.4-1.1-0.7-2.1-1.1-3.1c3.9-0.9,3.4-3.7,2-7.3
c-1.1,1.6-0.3,2.1-2.1,2.5c-1.7,0.4-3,1.3-3.8,3c-0.1,0.3-0.3,0.7-0.5,1.1c-0.2-2,0.7-3.2,2.4-4.7c-0.8-0.8-4-0.4-4.8-0.9
c-3.1-2.2-17.5-4.8-26.5,2c-0.5-0.5-0.9-0.9-1.5-1.3c2.1-0.9,2.9-2,2.5-3.7c-0.3-1.3-1.3-2-2.4-1.9c-1.9,0.1-2.6,0.9-2.9,4.2
c-0.7-0.7-1.1-1.1-1.9-1.9c0,0.6-0.2,1.1-0.1,1.5c0.3,0.9,1.1,1.5,1.9,1.8c0.7,0.1,1.1,0.5,1.3,1.1c0.2,0.4,0.4,0.9,0.8,1.1
c0.9,0.9,1.1,2.1,1.1,3.5c0,3,0.1,6,0.5,9c0.4,3.2,1.1,6.3,2.6,9.2c0.5,0.9,1.1,0.9,1.9,0.8c0.3-0.1,0.6-0.8,0.6-1.1
c0.2-2.4,1.3-4.4,2.4-6.4c4.2,1.3,8.3,1.5,12.5,1.3c0.2,0,0.6,0.4,0.8,0.7c0.8,1.5,1.5,3.2,2.2,4.8c0.4,0.9,1.3,0.9,2,0.8
c0.2-0.1,0.3-0.9,0.3-1.3c0-1.7,0-3.6,0-5.3c0.2-0.1,0.3-0.1,0.3-0.2C214.7,1059.3,215.1,1059.3,215.2,1059.3z M187.2,1039.8
c-0.5-1.1-0.2-1.9,0.6-2c0.5-0.1,1.1-0.1,1.1,0.6C189.1,1039.2,188.5,1039.7,187.2,1039.8z"/>
<path fill="#444345" d="M33.5,924.2c6.6-0.6,8.9-3.9,10.8-10.3c1.1-3.9,1.3-7.7,1.5-11.8c-0.3-3.3-0.3-6.6-0.7-9.9
c-0.7-4.6-1.8-9.3-4-13.4c-1.7-3.3-2.2-5.3-5.9-5.9c-4-0.5-8.4,1-10.1,5.6c-0.5,1.3-1.1,2.4-1.3,3.7c-0.7,2.8-2.4,5-4.4,7
c-5.8,5.3-7.7,12.1-6.4,19.6C14.5,918.6,23.5,925.1,33.5,924.2z M21.2,893.3c3.5-3.3,6-6.8,7.1-11.5c0.2-0.9,0.7-1.8,1.1-2.6
c1.3-2.3,4.2-2.7,6.1-0.8c0.8,0.9,1.3,1.9,1.7,2.9c2.8,6.6,4,13.7,4,19.9c0,4.7-0.3,8.4-1.5,11.9c-1.7,5-5.3,7.5-10.1,7
c-4-0.4-7.3-2.4-9.9-5.5C15.2,908.4,15.4,898.6,21.2,893.3z"/>
<path fill="#444345" d="M29.5,917.1c3.2,0.3,5.6-0.7,7.1-3.6c2.8-5.6,3-11.3,1.1-17.2c-0.4-1.3-1.3-2.2-2.5-2.7
c-3.5-1.5-7.1-1.5-10.5-0.1c-1.6,0.8-3.2,1.8-3.9,3.6c-0.4,0.9-0.3,1.6,0.7,2.1c1.5,0.8,3,1.5,4.6,2.4c0.5,0.3,0.9,0.7,1.3,0.9
c0,0.1-0.1,0.3-0.2,0.4c-0.4-0.1-0.8-0.1-1.1-0.2c-1.7-0.5-3.5-1.1-5.2-1.5c-0.9-0.3-1.5,0.1-1.7,0.9c-0.1,0.4-0.2,0.8-0.2,1.1
C17.9,910,22.8,916.4,29.5,917.1z"/>
<path fill="#444345" d="M30.6,889c0.9,0.3,1.9,0.5,2.9,0.7c1.9-0.1,2.7-0.6,2.7-2.5c0-1.3-0.3-2.8-0.7-4.2c-0.3-1.1-1.1-2-2.4-2
c-1.3-0.1-2.5,0.5-3,1.7c-0.5,1.1-0.9,2.4-1.1,3.8C28.7,887.8,29.1,888.5,30.6,889z"/>
<path fill="#444345" d="M56.9,983.4c-0.4,0.1-0.9-0.1-0.9-0.5c0,0-0.5-1.3-2-2.9c-0.4-0.4-0.8-0.7-1.1-0.9
c-0.6-0.5-1.3-0.9-1.8-1.6c0.9,8.1,4.4,14,8.3,14c4.7,0,8.6-8.4,8.6-18.9s-4-18.9-8.7-18.9c-3.1,0-5.8,3.7-7.3,9.1
c0.6,0.9,1.1,1.3,1.9,1.8c0.4,0.3,0.9,0.7,1.3,1.1c1.9,1.8,2.4,3.5,2.4,3.6s0,0.1,0,0.2c0,0.3-0.2,0.6-0.6,0.7s-0.9-0.1-0.9-0.5
c0,0-0.5-1.3-2-2.9c-0.4-0.4-0.8-0.7-1.1-0.9c-0.5-0.3-0.9-0.7-1.3-1.1c-0.2,0.9-0.4,1.8-0.5,2.8c0.7,2.4,1.6,3.1,2.8,4
c0.4,0.3,0.9,0.7,1.3,1.1c1.9,1.8,2.4,3.5,2.4,3.6s0,0.1,0,0.2c0,0.3-0.2,0.6-0.6,0.7s-0.9-0.1-0.9-0.5c0,0-0.5-1.3-2-2.9
c-0.4-0.4-0.8-0.7-1.1-0.9c-0.7-0.5-1.5-1.1-2-1.9c0,0.6,0,1.1,0,1.7c0.7,3.5,1.7,4.4,3.1,5.3c0.4,0.3,0.9,0.7,1.3,1.1
c1.9,1.8,2.4,3.5,2.4,3.6c0,0.1,0,0.1,0,0.2C57.5,983,57.3,983.3,56.9,983.4z"/>
<path fill="#444345" d="M196.9,877c1.6,1.8,3.6,3.6,6,3.8c1.7,0.3,3.9-0.9,5.2-0.9c2.8,0,2.2,0.7,5.2,0.7c2.9,0,8.5-7,9.9-14.2
c0.3-1.8,0-4.9-1.3-7.9c-1.6-3.5-6.4-4.8-9.5-4.2c-0.8,0.1-2.5,0.5-3.9,0.7c0.3-0.9,0.9-2.6,2.6-3.5c0.5-0.3,0.7-0.9,0.4-1.3
c-0.3-0.5-0.9-0.7-1.3-0.4c-2.7,1.5-3.6,4.2-3.8,5.4c-1.3-0.3-4.4-0.8-5.8-0.8c-1.7,0.1-3.4,0.6-4.9,1.7c-1.3,1.1-2,2.5-2.6,4
c-0.8,2.2-1.1,4.4-0.8,6.8C192.8,870.8,194.4,874.1,196.9,877z M202.8,858.9c1.5,0,2.7,1.1,2.7,2.5c0,1.8-1.3,3.3-2.8,3.3
c-1.1,0-2.1-1.5-2.1-3.2C200.8,860,201.5,858.9,202.8,858.9z"/>
<path fill="#444345" d="M204.7,852.3c1.1,0.1,2.4,0.2,2.9-0.9c0.6-1.1-0.3-2.2-1.1-3.1c-1.8-1.9-4.6-2.3-7.7-0.9
c0.4,0.7,0.8,1.3,1.1,1.8C200.9,851,202.6,852,204.7,852.3z"/>
<path fill="#444345" d="M133.7,858.3c1.9-4,4.6-7.1,4.6-7.1c4,1.5,10.8,3.2,15.6-0.2c6.4-4.6,5.8-14.6,15-19.5
c2.1-1.1-18.1-5.9-28.7,0.2c-7.9,4.5-7.3,12-7.1,14.6c10.1-12,25.2-11.4,25.2-11.4s-21.4,7.4-27.7,22.2
C130.2,858.1,133.1,859.6,133.7,858.3z"/>
<path fill="#444345" d="M212,1007c4.8-9.9-0.6-17-2.7-19.6c-2.1,18.9-17.9,28.5-17.9,28.5s16.7-21.8,13.2-41
c-0.3-1.5-4.2-1.1-3.9,0.7c0.8,5.4,0.2,10.3,0.2,10.3c-5,1.1-13,4-15.8,10.7c-3.5,8.9,4,18.7-2,29.9
C181.8,1029.2,205.5,1020.4,212,1007z"/>
<path fill="#444345" d="M37.2,932.9c-2,1.5-1.6,5.4-0.1,7.5c1.5,1.9,5.3,3.4,7.3,1.8c0.4-0.3,1.6-1.1,1.6-1.1
c2.2,1.7,3.6,0,4.6,1.3c1.1,1.5,3.8,4.7,4.6,5.8c0.9,1.1,2.4,1.9,3.2,1.3c0.8-0.6,3.5-2.5,4.6-3.3c1.1-0.8,1.1-1.8,0.5-2.6
c-0.6-0.8-2.2-0.6-3-1.5c-0.8-0.9-3.1-3.8-3.8-4.7c-0.9-1.3-0.1-2.7,1.6-3.4c11.8-4.6,16,2.3,19.7-0.5
c2.8-2.1-0.3-11.2-6.6-19.3s-14.6-13.4-17.4-11.1C49.5,906.8,61,914.9,37.2,932.9z M57.2,907.8c0.7-0.5,6.4,2.8,11.5,9.1
c4.9,6.3,6.3,12.1,5.6,12.6c-0.7,0.5-6.4-2-11.4-8.3C57.9,914.9,56.6,908.3,57.2,907.8z"/>
<path fill="#444345" d="M15,980.9c8.2,0,15-3.9,15-5.9c0,0,0-0.6,0-6.2c0-5.7-10.3-10.3-10.3-14.4c0-4,10.3-8.7,10.3-14.4
c0-5.7,0-6.2,0-6.2c0-2.1-6.8-5.9-15-5.9s-15,3.8-15,5.8c0,0,0,0.6,0,6.2c0,5.7,10.3,10.3,10.3,14.4c0,4-10.3,8.7-10.3,14.4
c0,5.7,0,6.2,0,6.2C0,977.1,6.8,980.9,15,980.9z M3.5,934.1c1.8-1.1,5.3-2.9,10.9-2.9s10.6,2.9,10.6,2.9
c0.4,0.2,1.8,1.1,0.9,1.6c-2.2,1.3-6.6,2.7-11.6,2.7s-9.3-1.5-11.5-2.8C1.8,935,3.5,934.1,3.5,934.1z M2.9,968.8
c0-1.7,2.7-4.4,4.7-6.4c2.8-2.7,5.4-4.7,5.4-7.9c0-3.2-2.7-5.2-5.5-7.9c-2-2-4.8-4.7-4.8-6.4l-0.1-2.6c2.7,1.5,7.1,2.9,11.7,2.9
c4.7,0,9.1-1.3,11.8-2.9l-0.1,2.6c0,1.7-2.8,4.4-4.8,6.4c-2.8,2.7-5.4,4.7-5.4,7.9c0,3.2,2.2,5.2,5,7.9c2,2,4.4,4.7,4.4,6.4v3.5
c-1.9-1.3-9.5-2-9.5-5.9c0-1.9-2.7-1.9-2.7,0c0,3.9-8.1,4.6-10.1,5.9v-3.5H2.9z"/>
<path fill="#444345" d="M210.9,900.8c0,11,8.9,19.9,19.9,19.9c11,0,19.9-8.9,19.9-19.9c0-10.9-8.9-19.9-19.9-19.9
C219.8,880.9,210.9,889.8,210.9,900.8z M236.2,884.7c6.7,2.2,11.5,8.6,11.5,16c0,3.9-1.3,7.5-3.5,10.3c-0.6-0.5-1.3-1.8-0.7-3.2
c0.6-1.3,0.8-4.6,0.7-5.8c-0.1-1.3-0.8-4.2-2.5-4.2c-1.7,0-2.9-0.6-4-2.7c-2.1-4.2,4-5.1,1.8-7.5c-0.6-0.7-3.7,2.7-4.2-1.8
C235.5,885.7,235.8,885.1,236.2,884.7z M240.2,914.9c-2.7,1.7-5.9,2.8-9.4,2.8c-1.8,0-3.7-0.3-5.3-0.9c0.9-0.6,1.1-1.3,2-1.3
c1.1,0,1.9-0.4,3.1-0.7c1.1-0.2,3-1.3,4.6-1.5C236.7,913.3,239.4,913.5,240.2,914.9z M228.4,884c-0.4,0.8-1.5,1.1-2.1,1.7
c-1.5,1.3-2,1.1-2.8,2.3c-0.8,1.3-3.3,3-3.3,3.9s1.3,1.9,1.8,1.7c0.7-0.2,2.4-0.2,3.3,0.2c0.9,0.4,8.1,0.7,5.8,6.8
c-0.7,1.9-3.9,1.5-4.7,4.7c-0.1,0.5-0.6,2.4-0.6,3.1c-0.1,0.9,0.7,4.8-0.3,4.8s-3.6-3.4-3.6-4c0-0.6-0.7-2.8-0.7-4.6
s-3.2-1.8-3.2-4.2c0-2.2,1.7-3.3,1.3-4.4c-0.4-1.1-3.4-1.1-4.6-1.3C217.1,889,222.2,884.9,228.4,884z"/>
<path fill="#444345" d="M135.7,1029.6c-4,0-7.3,3.3-7.3,7.3s3.3,7.3,7.3,7.3c4,0,7.3-3.3,7.3-7.3
C142.9,1032.9,139.7,1029.6,135.7,1029.6z M132.5,1040c0-0.2-0.3-0.9-0.3-1.6c0-0.7-1.1-0.7-1.1-1.5c0-0.8,0.7-1.3,0.5-1.6
c-0.1-0.4-1.3-0.4-1.6-0.5c0.8-2,2.7-3.6,4.9-4c-0.2,0.3-0.6,0.4-0.8,0.6c-0.5,0.5-0.8,0.4-1.1,0.9s-1.1,1.1-1.1,1.5
c0,0.3,0.5,0.7,0.7,0.7c0.2-0.1,0.9-0.1,1.1,0.1c0.4,0.1,3,0.3,2.1,2.4c-0.3,0.7-1.5,0.6-1.7,1.7c-0.1,0.2-0.2,0.9-0.2,1.1
c0,0.4,0.3,1.7-0.1,1.7C133.5,1041.4,132.5,1040.2,132.5,1040z M135.7,1043.1c-0.7,0-1.3-0.1-1.9-0.3c0.4-0.2,0.4-0.5,0.8-0.5
s0.7-0.2,1.1-0.3c0.4-0.1,1.1-0.5,1.6-0.5c0.5,0,1.5,0,1.8,0.5C138.1,1042.7,137,1043.1,135.7,1043.1z M140.7,1040.6
c-0.2-0.2-0.5-0.7-0.2-1.1c0.2-0.5,0.3-1.6,0.2-2.1c-0.1-0.5-0.3-1.5-0.9-1.5s-1.1-0.2-1.5-0.9c-0.8-1.5,1.5-1.8,0.7-2.7
c-0.2-0.3-1.3,0.9-1.5-0.7c0-0.1,0.1-0.3,0.3-0.5c2.4,0.9,4.2,3.2,4.2,5.9C141.9,1038.4,141.4,1039.6,140.7,1040.6z"/>
<path fill="#444345" d="M44.9,1061.1c0,0.3,0,0.5,0,0.8c0.1,1.7,1.5,3.2,3.4,3.2c1.7,0,3.2-1.3,3.4-3c0.1-0.3,0.1-0.6,0.1-0.9
c0-0.9,0.4-1.3,1.1-1.5c6.4-1.5,11.4-6.6,12.4-13c0.1-0.8,0.1-1.5,0.4-2.1c0.6-0.5,1.5-0.9,1.7-1.5c0.2-0.5-0.4-1.3-0.6-2.1
c1.1-1.1,1.1-1.6-0.2-2.9c1.3-1.3,1.3-1.9-0.1-3.2c0.9-0.4,1.3-1.1,0.9-2c-0.3-0.6-1.1-0.9-1.6-1.3c-0.1,0.1-0.1,0.2-0.2,0.2
c-0.1-0.6-0.1-1.1-0.4-1.5c-0.4-0.5-0.9-1.1-1.5-1.1c-0.3-0.1-0.9,0.6-1.1,0.9c-0.7,1.3-1.1,2.8-1.7,4.2s-1.3,2.7-2.2,3.9
c-2.7,3.4-6.3,4.4-10.4,3.6c-4-0.9-6.8-3.3-7.9-7.3c-0.2-0.8-0.2-1.5-0.4-2.3c0.9-0.6,2.1-0.9,1.6-2.2c-0.2-0.7-1.1-1.1-2-1.7
c0-0.5,0.2-1.5-0.9-1.9c-0.9-0.4-1.6,0.2-2.2,1.1c-0.7-0.8-1.3-1.6-2.4-1.1c-0.6,0.4-0.9,1.3-1.5,2.2c-0.7,0-1.8-0.1-2,1.3
c-0.1,0.9,0.6,1.5,2.4,2c-1.1,1.3-3,1.3-4.2,2.4c1.1,0.6,2,1.1,3.1,1.7c0.6,0.3,0.8,0.7,0.7,1.3c-0.2,2.1-0.3,4.4-0.5,6.4
c-0.8,9.2,5.5,14.3,11.5,15.9C44.7,1059.8,45,1060,44.9,1061.1z M35.7,1034.1c-0.3,0-0.7-0.4-1.3-0.8c0.7-0.4,0.9-0.9,1.3-0.9
c0.3,0,0.9,0.6,0.8,0.8C36.3,1033.6,35.9,1034.1,35.7,1034.1z"/>
<path fill="#444345" d="M211.6,940.4h-6.4c-1.1,0-2.7,0.7-3.4,1.6l-8.5,10.9c-0.7,0.9-0.3,0.9,0.9,0.9h34.6c1.1,0,1.6,0,0.9-0.9
l-7.4-11c-0.7-0.9-2.1-1.5-3.3-1.5h-1.6v-3.9h-5.8V940.4z"/>
<path fill="#444345" d="M219.2,930.1l0.5-0.1c1.1-0.2,2-1.1,2.7-2.2c0.7-1.1,0.8-3.6,0.6-4.9c-0.7,2-2.1,2.7-3.7,3.4
c-0.4,0.2-0.9,0.4-1.3,0.5c-0.5,0.2-0.9,0.4-1.5,0.6c-1.5,0.8-2.1,2-2.4,4c-0.2,0.8-0.3,1.6-0.3,2.8c0.8-2,1.6-3,3.3-3.6
C217.8,930.5,218.5,930.3,219.2,930.1z"/>
<path fill="#444345" d="M227,969.3h0.9v-11.9c0-1.1,0-1.6,0-1.6H227h-1.3h-15h-1.3h-11h-4v2.2v11.3h4h2.7v-8
c0,0,0.2,0.3,1.1,0.3h5.2c0,0,0.5-1.1,0.5-0.2v7.9h1.5h1.3h15L227,969.3L227,969.3z M222.2,965.5c0,0.2,0.7,0.9,0.5,0.9h-5.7
c-0.2,0-0.6-0.8-0.6-0.9v-5.7c0-0.2,0.4-0.1,0.6-0.1h5.7c0.2,0-0.5-0.1-0.5,0.1V965.5z"/>
<path fill="#444345" d="M143.1,1056.3c0-0.6-0.5-0.9-1.1-0.9h-13.4c-0.6,0-1.1,0.4-1.1,0.9c0,0.6,0.5,0.9,1.1,0.9h13.4
C142.7,1057.3,143.1,1056.9,143.1,1056.3z"/>
<rect x="131.4" y="1052.5" fill="#444345" width="9.7" height="2.9"/>
<path fill="#444345" d="M117.8,828.2c-4.6,0.8-7.9,4.6-8.2,9.1l8.7-0.5L117.8,828.2z"/>
<path fill="#444345" d="M119.7,839.3l-9.9,0.5c0.9,4.8,5.2,8.4,10.3,8.1c5.5-0.3,9.7-4.9,9.4-10.4c-0.3-5-4.2-9-9.1-9.4l0.5,9.9
C120.9,838.7,120.3,839.2,119.7,839.3z"/>
<path fill="#444345" d="M78.2,866c0.4,0,0.9-0.6,1.3-0.7s0.9-0.6,1.1-0.8l5.5-3.9c0.3-0.2,0.5-0.6,0.5-0.9
c0-0.3-0.2-0.6-0.5-0.8l-5.5-3.8c-0.3-0.2-0.8-0.9-1.1-1.1c-0.5-0.1-0.9-0.7-1.3-0.7H62.5l1.8,12.6H78.2L78.2,866z"/>
<path fill="#444345" d="M41,865.1l5.5,3.8c0.3,0.2,0.8,0.5,1.1,0.7c0.5,0.1,0.9,0.4,1.3,0.4h8.1V890c0,0.5,0.6,0.2,1.1,0.2h2
c0.5,0,0.7,0.3,0.7-0.2v-39.7c0-0.5-0.2-1.6-0.7-1.6h-2c-0.5,0-1.1,1.1-1.1,1.6v9h-8c-0.4,0-0.9,0-1.3,0.1s-0.9,0.3-1.1,0.5
l-5.5,3.8c-0.3,0.2-0.5,0.5-0.5,0.8C40.6,864.7,40.8,864.9,41,865.1z"/>
<path fill="#444345" d="M72.4,874.2v31.6c0,2.2,2.4,4.6,4.6,4.6h15.4c2.2,0,4.2-2.4,4.2-4.6v-31.6c0-2.2-2-3.4-4.2-3.4H77
C74.8,870.8,72.4,872,72.4,874.2z M84.7,908.2c-1.5,0-2.8-0.9-2.8-2s1.3-2,2.8-2s2.8,0.9,2.8,2
C87.5,907.2,86.3,908.2,84.7,908.2z M93.7,875.7v26.1H76.3v-26.1H93.7z"/>
<path fill="#444345" d="M162,850.1c0,13.2,13.8,30.4,13.8,30.4s13.8-17.2,13.8-30.4c0-7.7-6.2-13.8-13.8-13.8
C168.2,836.1,162,842.3,162,850.1z M175.8,842.7c4.2,0,7.5,3.4,7.5,7.5c0,4.2-3.4,7.5-7.5,7.5c-4.2,0-7.5-3.4-7.5-7.5
C168.3,846.1,171.8,842.7,175.8,842.7z"/>
<path fill="#444345" d="M88.9,887.4c0-2.4-1.8-4.2-4.2-4.2s-4.2,1.8-4.2,4.2c0,4,4.2,9.1,4.2,9.1S88.9,891.4,88.9,887.4z
M82.4,887.6c0-1.3,0.9-2.2,2.2-2.2c1.3,0,2.2,0.9,2.2,2.2c0,1.3-0.9,2.2-2.2,2.2C83.5,889.8,82.4,888.8,82.4,887.6z"/>
<path fill="#444345" d="M177.1,885.5l-2.4,2.1l-2.4-2.1c-3.4-3.1-9-3.1-12.4,0c-3.9,3.6-3.9,9.3,0,12.8l14.7,13.5l14.7-13.5
c3.9-3.6,3.9-9.3,0-12.8C186.1,882.4,180.4,882.4,177.1,885.5z"/>
<path fill="#444345" d="M237.1,987.3l-3.3,2.8c-0.3,0.2-0.3,0.7-0.1,0.9l18.9,21.4c0.4,0.5,1.1,0.6,1.7,0.1l2.2-1.8
c0.5-0.5,0.6-1.3,0.1-1.7l-18.7-21.6C237.8,986.9,237.4,986.9,237.1,987.3z"/>
<path fill="#444345" d="M236.1,973.1c-2.9,0.3-6.6,3-8.4,4.2c-2.4,1.6-3.3,2.6-3.5,2.7c-0.7,0.6-0.1,1.9-1.3,3.1
c-1.3,1.1-2.1,0.3-2.9,0.9c-0.4,0.3-1.5,1.1-1.7,1.3c-0.3,0.3-0.4,0.7-0.1,1.1c0,0,2.9,3.2,3.1,3.5c0.2,0.3,0.9,0.5,1.3,0.2
c0.4-0.4,1.5-1.3,1.6-1.5c0.2-0.2-0.1-1.9,0.8-2.7c2.1-1.6,3.9-0.5,6.2,2.2c0.3,0.3,0.7-0.1,0.9-0.2c0.2-0.2,3.3-3,3.5-3.1
c0.2-0.1,0.3-0.4,0.1-0.7c-0.2-0.3-1.1-1.5-1.6-2.1c-4.2-5.4,11.2-9,8.9-9.1C241.6,973,236.7,973,236.1,973.1z"/>
<path fill="#444345" d="M224.1,1010.9l2.1,2.1c0.5,0.5,1.3,0.3,1.7-0.2l11.1-10.9l-3.4-3.9l-11.6,11.2
C223.7,1009.6,223.7,1010.4,224.1,1010.9z"/>
<path fill="#444345" d="M247.9,985.9c-0.2,0.3-0.4,0.6-0.7,0.9l-3.1,3.2l3.1,3.6l3.8-3.6c0.2-0.2,0.6-0.5,0.9-0.7
c0.1,0,0.1,0,0.2-0.1c0.3-0.1,0.6,0,0.9,0.2c0.7,0.5,1.3,0.9,1.9,1.5c0.5,0.4,0.9,0.4,1.3-0.1c0.6-0.7,1.1-1.3,1.7-1.9
c0.9-1.1,1.9-2.1,2.9-3.2c1.6-1.7,2.4-3.7,2.4-5.8c0-0.8,0-1.5-0.2-2.4c-0.3-2-1.3-3-3.3-3.3c-0.5-0.1-1.1-0.2-1.5-0.1
c-0.6,0-1.3,0-1.8,0.1c-1.5,0.1-3,0.5-4.2,1.6c-0.9,0.9-1.9,1.8-2.9,2.7c-1.1,1.1-2.2,2-3.3,3.1c-0.3,0.3-0.4,0.6,0,0.9
c0.7,0.7,1.3,1.5,1.9,2.1c0.3,0.3,0.4,0.5,0.2,0.9C248,985.6,247.9,985.6,247.9,985.9z M250.3,985.4l4.7-4.4
c0.1-0.1,0.4-0.1,0.5,0c0.1,0.1,0.1,0.3,0,0.5l-4.2,5c-0.1,0.1-0.2-0.7-0.3,0.3l0,0c-0.1,0-0.2-0.2-0.2-0.2l-0.6-0.6
c-0.1-0.1-0.1-0.2-0.1-0.3C250.2,985.6,250.3,985.4,250.3,985.4z"/>
<path fill="#444345" d="M237.6,934c0,0.8-0.1,1.5,0.6,1.5h10.1v2.5c0,0.6-0.4,0.4,0.2,0.4h4c0.6,0,0.7,0.2,0.7-0.4v-2.5h9.5
c0.8,0,1.1-0.9,1.1-1.5v-5.2h-26.1L237.6,934L237.6,934z"/>
<path fill="#444345" d="M251.2,948.8V947c0-0.3-0.2-0.6-0.5-0.6s-0.5,0.3-0.5,0.6v1.7c-2.9,0.3-4.8,2.5-4.8,5.1
c0,2.9,2.2,5.2,5.1,5.2c2.9,0,5.2-2.4,5.2-5.2C255.7,951.3,254.1,949.1,251.2,948.8z"/>
<path fill="#444345" d="M261.5,939.4h-22c-1.1,0-2,1.1-2.2,2.2l-2.6,22.8c-0.1,0.6,0.1,1.5,0.6,2c0.4,0.5,1.1,0.9,1.6,0.9h27.3
c0.7,0,1.3-0.5,1.6-0.9c0.4-0.5,0.6-1.1,0.6-1.8l-2.6-23C263.5,940.6,262.5,939.4,261.5,939.4z M250.4,963c-5,0-9.1-4-9.1-9.1
s4-9.1,9.1-9.1c5,0,9.1,4,9.1,9.1S255.4,963,250.4,963z"/>
<path fill="#444345" d="M155,1069.4v0.4h11.3c0.6,0,1.1-0.9,1.1-1.5c0-0.6-0.5-1.5-1.1-1.5H155h-1.3h-2.4c-3,0-5.4,1.9-6.2,4.8
h-7.9v2.9h7.9c0.8,2.9,3.2,5.8,6.2,5.8h2.4l0,0h12.6c0.6,0,1.1-0.9,1.1-1.5s-0.5-1.5-1.1-1.5H155c-0.4,0-0.7-0.1-0.7-0.5
c0-0.4,0.3-0.5,0.7-0.5h11.3c0.6,0,1.1-0.4,1.1-0.9c0-0.6-0.5-0.9-1.1-0.9H155l0,0c-0.4,0-0.7-0.6-0.7-0.9
c0-0.4,0.3-0.9,0.7-0.9h11.3c0.6,0,1.1-0.4,1.1-0.9c0-0.6-0.5-0.9-1.1-0.9h-10.7v-0.4c-0.9,0-0.9-0.1-0.9-0.5
C154.6,1069.5,154.6,1069.4,155,1069.4z"/>
<path fill="#444345" d="M105.5,1076.6h27.3c1.3,0,3.3-0.7,3.3-1.6v-3.3c0-0.9-2.1-1.8-3.3-1.8h-27.3c-1.8,0-3.3,1.5-3.3,3.4
C102.4,1075,103.9,1076.6,105.5,1076.6z"/>
<path fill="#444345" d="M165.8,1086.7c0-1.8-1.5-3.4-3.4-3.4h-28.2c-1.3,0-1.9,0.6-2.9,1.6v3.4c0.9,0.9,1.6,1.7,2.9,1.7h28.2
C164.3,1090.1,165.8,1088.6,165.8,1086.7z"/>
<path fill="#444345" d="M131.4,1088.2v-2.9h-4h-5.8H96.6c0,0-2.5,1.1,1.3,2.8c5.7,2.4,10.3,2.8,14.7,3.4
c1.5,0.2,6.6,1.3,9.9-1.5c1.1-1.1,2.4-1.8,3.4-1.8H131.4z"/>
<path fill="#444345" d="M169.3,1059.4l8.2-0.8c-0.1-0.9-0.3-1.8-0.3-2.7c-0.1-2.3-0.2-4.6-0.3-7c-0.1-1.7,0-3.5,0-5.2
c0.1-2,0.2-4.2,0.3-6.2c0.1-1.6,0.2-3.4,0.4-5c0.2-2,0.5-4,0.8-6c0.2-1.5,0.5-3.2,0.7-4.7c0.1-0.5-0.2-0.9-0.7-0.9
c-0.3-0.1-0.6-0.1-0.9-0.1c-4.2,0-8.5,0-12.4,0c0,0,0,0,0,0.1c-0.9,0-1.9,0-2.9,0c-0.6,0-0.7,0-0.7,0.6
c-0.1,0.8-0.2,1.5-0.2,2.2c0,1.5,0,3.1,0.1,4.6c0,1.5,0.1,3.1,0.2,4.6c0.1,1.5,0.2,3.1,0.3,4.6c0.1,1.5,0.2,2.8,0.3,4.2
c0.1,1.9,0.3,3.9,0.5,5.8c0.1,1.6,0.3,3.2,0.4,4.8c0.2,1.5,0.3,3.2,0.5,4.8c0.1,0.8,0.2,1.5,0.3,2.2c0,0.2,0.1,0.4,0.4,0.4
c0.5,0,0.9-0.1,1.5-0.1c0.8-0.1,1.6-0.1,2.4-0.2C168.6,1059.5,168.9,1059.4,169.3,1059.4z M174.8,1023.7c0.7,0,1.1,0.4,1.1,1.1
c0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1C173.7,1024.1,174.2,1023.7,174.8,1023.7z"/>
<path fill="#444345" d="M175.7,1082.3c-0.5,1.5,0.9,3.3,2.6,3.3c1.3,0,2.5-0.9,2.9-2.4c0.3-1.3,0.3-2.5,0.1-3.8
c-0.5-2.6-1.1-5.2-1.5-7.7c-0.4-2-0.9-4-1.3-6.1c-0.3-1.5-0.6-3.1-0.7-4.6v-0.1l-5.2,0.5c0.2,0.9,0.4,2,0.6,3
c0.6,3.2,1.1,6.3,1.8,9.4c0.5,1.9,0.9,4,1.3,5.9c0.1,0.4,0,0.9-0.1,1.3C176,1081.3,175.8,1081.8,175.7,1082.3z"/>
<path fill="#444345" d="M85.5,1019.1c1.3,0.1,2.6-0.1,4-0.2c0.1,0,0.1-0.1,0.1-0.2c0.6-1.1-0.1-2.9-1.3-3.4c0-1.1,0.2-2.4,0-3.6
c-0.2-1.5-0.2-3.5-1.1-4.6c-2-2.9-5-6.3-7.5-8.9c-1.7-1.9-3.6-2.2-6.2-2.2c-10.1-0.1-20.1-0.2-30.1-0.3c-3.2,0-4.4,1.3-4.4,4.4
c-0.1,4.9-0.1,9.9-0.2,15c-1.1-0.1-1.3,0.5-1.3,1.3c0,0.4,0,0.8,0,1.3c0,0.7,0.3,1.1,0.9,1.1c0.9,0,1.7,0,2.7,0
c0.9,0.1,1.3-0.3,1.5-1.1c0.9-2.8,3.1-4.4,6-4.4c2.9,0,5.1,1.6,6,4.6c0.3,0.9,0.8,1.1,1.6,1.1c4.8,0,9.7,0.1,14.6,0.2
c0.9,0,1.5-0.4,1.7-1.3c0.9-2.7,3.2-4.4,6-4.4c2.8,0,4.9,1.6,5.9,4.4C84.6,1018.3,85.1,1019.1,85.5,1019.1z M82.8,1007
L82.8,1007l-9.5,0.4c-0.7,0-1.3-0.4-1.3-1.1l0.1-6.8c0-0.7,0.6-1.3,1.3-1.3l3,0.1c0.1,0,0.3,0,0.4,0.1c0.4,0.1,0.6,0.2,6.8,7.3
c0.2,0.2,0.4,0.1,0.4,0.5C84.1,1006.9,83.5,1007,82.8,1007z"/>
<path fill="#444345" d="M48.8,1014.1c-3,0-5.5,2.4-5.5,5.4s2.4,5.5,5.4,5.5s5.5-2.4,5.5-5.4
C54.2,1016.6,51.8,1014.2,48.8,1014.1z"/>
<path fill="#444345" d="M78.6,1014.5c-3,0-5.5,2.4-5.5,5.4c0,3,2.4,5.5,5.4,5.5s5.5-2.4,5.5-5.4
C84.1,1017,81.6,1014.5,78.6,1014.5z"/>
<path fill="#444345" d="M247.8,1026.3c0-0.9-2.4-1.7-10.3-0.7c0,0,1.9-1.6,2.7-1.9c0.8-0.3,4.2-2.4,3.6-5.1
c-0.6-2.7-1.6-1.1-2.9,1.1c-1.1,2.1-2.7,4-4.9,5.3c0,0-0.7-4.2-3.1-4.4c-0.8,0-4,0-7.7,0.4l-0.7,0.1c-0.4,0-0.9,0.1-1.3,0.2
c0,0.1-0.2,0.1-0.2,0.2v4.6c0,0.4-0.1,0.7-0.5,0.7s-0.5-0.3-0.5-0.7v-4.6l0,0c-0.9,0.1-1.3,0.2-1.8,0.3c0,0-7.1,1.1-11.8,2.5
h-0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.3,0.1-0.6,0.2-0.9,0.3c-0.2,0.1-0.4,0.1-0.6,0.2c-0.1,0-0.1,0.1-0.2,0.1
c-0.1,0-0.2,0.1-0.3,0.1l0,0c-0.9,0.4-1.6,0.6-2.4,1.1c0,0-0.8,0.4-0.3,1.5c0.3,0.7,4.2,2.4,12,3.6v-3.5c0-0.4,0.1-0.7,0.5-0.7
s0.5,0.3,0.5,0.7v3.7c0.9,0.1,1.3,0.1,1.7,0.2l0.9,0.1c2.6,0.3,5.1,0.5,9.9,0.6v-2.9c0-0.4,0.1-0.7,0.5-0.7s0.5,0.3,0.5,0.7v2.9
h0.8c1.1,0,1.6,0,2.6-0.1c0,0,2.5,0.2,2.7-4.4c0,0,4.4-0.8,4,4.2c-0.2,3.7,3,3.8,3,1.1c0-2.5-0.7-5.4-5.5-6.4c0,0,3.9,0.5,7,1.1
C247.5,1028.4,247.8,1027.3,247.8,1026.3z"/>
</g>
<g>
<polygon fill="#444345" points="678.1,1020.6 677.4,1020.6 650.5,985.8 642.4,985.8 642.4,1038 654,1038 654,1003.2
653.4,1003.2 680.4,1038 687.7,1038 687.7,987.7 678.1,987.7 "/>
<polygon fill="#444345" points="706.1,1038 731.3,1038 731.3,1028.3 714.8,1028.3 714.8,1015.7 731.3,1015.7 731.3,1007
714.8,1007 714.8,994.4 731.3,994.4 731.3,987.7 706.1,987.7 "/>
<polygon fill="#444345" points="744.8,994.4 755.4,994.4 755.4,1038 764.1,1038 764.1,994.4 776.6,994.4 776.6,987.7
744.8,987.7 "/>
<polygon fill="#444345" points="832.4,1022.5 832.3,1022.5 821.6,985.8 815.8,985.8 805.5,1022.5 805.5,1022.5 795.1,987.7
784.6,987.7 800.9,1038 808.2,1038 817.9,1007 818.1,1007 828.2,1038 835.6,1038 853,987.7 842.4,987.7 "/>
<path fill="#444345" d="M888.7,985.4c-15.2,0-25.3,11.7-25.3,26.9c0,15,9.7,27.1,25.3,27.1c15.6,0,25.3-12,25.3-27.1
C914.1,997.1,904,985.4,888.7,985.4z M888.7,1029.6c-11.1,0-15-9.7-15-17.6c0-8.3,5.6-16.6,15-16.6c9.5,0,15,8.4,15,16.6
C903.7,1019.8,899.8,1029.6,888.7,1029.6z"/>
<path fill="#444345" d="M959.8,1002.7c0-10.9-7.1-15-17.1-15h-14.4v50.2h11.6v-20.3h-0.7l12.5,20.3h12.1l-14.5-21.4
C956.3,1015.5,959.8,1009.1,959.8,1002.7z M940.4,1010.9h-0.5v-16.5h0.6c5.3,0,9.3,1.7,9.3,8
C949.9,1008.7,945.9,1010.9,940.4,1010.9z"/>
<polygon fill="#444345" points="1015.5,987.7 1003.2,987.7 987.4,1008 987.2,1008 987.2,987.7 976.6,987.7 976.6,1038
987.2,1038 987.2,1013.8 987.4,1013.8 1003.7,1038 1016.6,1038 996.1,1010.9 "/>
<path fill="#444345" d="M360.6,873.3c-25,0-41.6,19.1-41.6,44c0,24.7,15.9,44.3,41.6,44.3c25.6,0,41.6-19.6,41.6-44.3
C402.1,892.4,385.6,873.3,360.6,873.3z M360.6,945.5c-18.1,0-24.6-15.9-24.6-28.8c0-13.6,9.2-27.3,24.6-27.3
s24.6,13.7,24.6,27.3C385.2,929.6,378.8,945.5,360.6,945.5z"/>
<path fill="#444345" d="M443.5,876.6h-22.4v83.1h15.4v-31.9h9.3c17.2,0,26.9-8,26.9-25.8C472.6,883,461.1,876.6,443.5,876.6z
M441,915.3h-4.4v-26.1h4c9.2,0,15.4,1.9,15.4,12.8C456,912.9,450.7,915.3,441,915.3z"/>
<polygon fill="#444345" points="491.7,959.7 535.1,959.7 535.1,945.2 508.1,945.2 508.1,923 533.3,923 533.3,908.5 508.1,908.5
508.1,889.2 535.1,889.2 535.1,876.6 491.7,876.6 "/>
<polygon fill="#444345" points="612.4,932.7 612.7,932.7 568.6,872.8 556.4,872.8 556.4,959.7 573.8,959.7 573.8,901.7
573.3,901.7 617.6,961.6 629.8,961.6 629.8,876.6 612.4,876.6 "/>
<polygon fill="#444345" points="695.5,959.7 711.9,959.7 711.9,923 736.1,923 736.1,908.5 711.9,908.5 711.9,889.2 738,889.2
738,876.6 695.5,876.6 "/>
<path fill="#444345" d="M795.8,961.6c25.6,0,41.6-19.6,41.6-44.3c0-24.9-16.5-44-41.6-44s-41.6,19.1-41.6,44
C754.4,942,770.3,961.6,795.8,961.6z M795.8,889.4c15.4,0,24.6,13.7,24.6,27.3c0,13-6.4,28.8-24.6,28.8
c-18.1,0-24.6-15.9-24.6-28.8C771.3,903.1,780.4,889.4,795.8,889.4z"/>
<path fill="#444345" d="M894.1,873.3c-25,0-41.6,19.1-41.6,44c0,24.7,15.9,44.3,41.6,44.3c25.6,0,41.6-19.6,41.6-44.3
C935.6,892.4,919.3,873.3,894.1,873.3z M894.1,945.5c-18.1,0-24.6-15.9-24.6-28.8c0-13.6,9.2-27.3,24.6-27.3
c15.4,0,24.6,13.7,24.6,27.3C918.7,929.6,912.3,945.5,894.1,945.5z"/>
<path fill="#444345" d="M1018.7,918.2c0-24-16.2-41.6-40.6-41.6h-21.8v83.1h21.8C1002,959.7,1018.7,941.8,1018.7,918.2z
M971.8,945.2v-56.1h2.1c18.5,0,27.9,9.7,27.9,28c0,16.6-7.9,28-27.9,28L971.8,945.2L971.8,945.2z"/>
</g>
</g>
<g>
<path d="M1039.4,1045.1h-1.2c-0.1-0.4-0.2-0.6-0.3-0.7l-0.5-0.5l-0.2-0.3l-0.1-0.3c-0.1,0-0.2-0.1-0.3-0.3h-0.1l-0.3-0.5
l-0.3-0.3l-0.3-0.3c-0.6-0.5-1.3-1.1-2.1-2c-0.7-0.9-1.1-1.3-1.1-1.3l-0.3-0.3h-0.7l0.1-0.1l-0.3,0.3l0.1-0.1
c-0.1,0.1-0.3,0.3-0.5,0.5l-1.3,1.3v-0.1l-1.3,1.3l-0.9,0.9l0,0c-1.2,1.2-1.9,1.9-2.2,2.1v0.1c0,0.1-0.1,0.3-0.5,0.7l-0.6-0.3
l-0.4-0.1c0-0.3-0.1-0.4-0.1-0.5l-0.2-0.1c-0.1-0.3-0.3-0.5-0.4-0.5l-1.7-1.7c0,0,0.1,0.1,0.1,0.1s0,0.1,0,0.1s-0.1,0.1-0.3,0.1
l0.1-1.1l0.9-0.9c0.3-0.2,0.7-0.5,1.1-0.9l0.7-0.7c0.2-0.1,0.4-0.3,0.7-0.7l1.7-1.7v0.1l0.1-0.1h-0.1c0.8-0.7,1.2-1.1,1.3-1.1
l1.7-1.7c0.4-0.4,0.9-0.9,1.5-1.3l0.5-0.7l0.5-0.5l0.5,0.2c0.1,0.1,0.2,0.1,0.2,0.1l1,0.9c0.2,0.1,0.5,0.4,0.8,0.8
c0.3,0.3,0.5,0.6,0.6,0.7l0.7,0.7v0.1l5.8,6c0.3,0.3,0.5,0.5,0.7,0.7c0.2,0.2,0.5,0.4,0.7,0.7l-0.3,0.5l-0.5,0.5h0.1
c-0.4,0.1-0.6,0.3-0.7,0.7l-1.1,1.1c-0.1,0.1-0.3,0.3-0.3,0.3L1039.4,1045.1L1039.4,1045.1
C1039.4,1044.9,1039.4,1044.9,1039.4,1045.1z M1021.5,1041l-0.3,0.3v0.3h0.1c0.1,0,0.1,0.1,0.2,0.1l0.7,0.7
c0.1,0.1,0.3,0.3,0.7,0.6c0.7,0.6,0.9,0.9,0.9,1.1l0.1,0.3l0.1-0.1c0.1,0.1,0.1,0.1,0.2,0.3l0.1-0.1v0.1l0.1-0.1h-0.1l0.1-0.1
c0,0-0.1,0-0.1-0.1c0-0.1,0-0.1-0.1-0.1l1.1-1.1l0.1,0.1l2.2-2.1l0.1,0.1l2.7-2.7l0.1,0.1c0.3-0.2,0.7-0.6,1.1-1.1h0.1l0.1-0.1
c1.3,1.4,2.6,2.8,3.8,4c0.5,0.4,0.8,0.7,0.9,0.9l0.7,0.6l0.1,0.1c0.3,0.3,0.5,0.6,0.8,0.8l0.5,0.5l-0.1,0.1
c0.1,0.1,0.1,0.1,0.1,0.3v0.1h0.3l0.9-0.9c0.8-0.9,1.5-1.5,1.9-1.7c0-0.1,0.1-0.2,0.3-0.3l-0.1-0.1l-0.1,0.1c0,0,0-0.1-0.1-0.1
s-0.1,0-0.1,0.1l-1.1-1.1l0.1-0.1l-0.3-0.3c0,0-0.1,0-0.1-0.1l0.1-0.1l-1.9-1.9c-0.5-0.5-0.9-1-1.5-1.5c-0.5-0.5-0.9-0.9-1.1-1.2
l-0.7-0.7h0.1l-1.1-1.1c-0.1-0.1-0.3-0.3-0.5-0.5l-1.7-1.6c-0.1,0-0.1,0-0.1,0.1c-0.1-0.1-0.1-0.1-0.3-0.1l-0.2,0.1h0.1l-2.1,1.9
h0.1l-1.9,1.9c-0.4,0.3-0.8,0.7-1.3,1.1l-1.5,1.4l-0.2,0.1l-1.1,1.1l-0.3,0.3c-0.3,0.2-0.5,0.5-0.7,0.7s-0.5,0.5-0.9,0.9
L1021.5,1041z"/>
</g>
</g>
</g>
<g id="OFN_beta__x28_new_x29_" display="none">
<g display="inline">
<text transform="matrix(0.9994 3.560383e-02 -3.560383e-02 0.9994 1024.377 998.5481)" fill="#444345" font-family="'BubblegumSans-Regular'" font-size="26.8582">BETA</text>
<text transform="matrix(3.560383e-02 -0.9994 0.9994 3.560383e-02 1038.5093 1045.8531)" fill="#444345" font-family="'BubblegumSans-Regular'" font-size="29.5441">&gt;</text>
<g>
<g>
<path fill="#444345" d="M156.5,1047.3v-20.9c0-2.3-2.1-4-4.4-4h-33.4c-2.4,0-4.6,1.6-4.6,4v20.9c0,2.3,2.4,4.2,4.6,4.2h33.4
C154.4,1051.4,156.5,1049.6,156.5,1047.3z M118.8,1026.3h33.8v21.3h-33.8V1026.3z"/>
<path fill="#444345" d="M197.5,895.5c-8.4,16.7-11.9,18.9-11.9,25.8c0,6.6,5.6,12.2,12.3,12.2c6.6,0,12.3-5.4,12.3-12.2
c0-7-3.1-10.9-11.9-25.8C198,895.1,197.7,895.1,197.5,895.5z M194.2,921.1c0,2.2-1.3,3-2.5,3c-1.5,0-2.5-1.1-2.5-2.6
c0-4.8,2.4-8,4.4-10.8c0.7-0.9,1.3-1.7,1.7-2.5C195.4,907.9,194.2,917.1,194.2,921.1z"/>
<path fill="#444345" d="M92.5,1032.2c-2.5-1.6-7.5-4.6-7.5-4.6s0,0,0,6.3c0,6.3,10.6,8.6,10.6,8.6
C95.4,1039.5,95.1,1033.8,92.5,1032.2z"/>
<path fill="#444345" d="M92.5,1043.5c-2.5-1.6-7.5-4.6-7.5-4.6s0,0,0,6.3c0,6.3,10.6,8.6,10.6,8.6
C95.4,1050.9,95.1,1045.2,92.5,1043.5z"/>
<path fill="#444345" d="M95.5,1065.2c-0.2-3-0.4-8.6-2.9-10.3c-2.5-1.6-7.7-4.6-7.7-4.6s0,0,0,6.3
C85,1062.9,95.5,1065.2,95.5,1065.2z"/>
<path fill="#444345" d="M99.1,1042.5c0,0,11-2.4,11-8.6c0-6.3,0-6.3,0-6.3s-6.2,3-8.7,4.6C98.8,1033.8,99.3,1039.5,99.1,1042.5z
"/>
<path fill="#444345" d="M99.1,1053.8c0,0,11-2.3,11-8.6c0-6.2,0-6.3,0-6.3s-6.2,3-8.7,4.6C98.8,1045.2,99.3,1050.9,99.1,1053.8z
"/>
<path fill="#444345" d="M110.1,1056.6c0-6.3,0-6.3,0-6.3s-6.1,2.9-8.6,4.6c-2.5,1.6-2.4,7.3-2.5,10.3
C99,1065.2,110.1,1062.9,110.1,1056.6z"/>
<path fill="#444345" d="M101.1,1025.9c0-2.9-0.7-6.6-4-10.3c0,0-3.9,4.8-3.9,9.5c0,3.1,1.7,5.7,3.9,8.4
C97.1,1033.7,101.1,1029,101.1,1025.9z"/>
<path fill="#444345" d="M84.3,851.2c0.8,0,1.5-0.1,2.2-0.4c1.6,1.5,3.7,2.2,5.8,2.2c2.1,0,4.2-0.8,5.8-2.2
c0.7,0.3,1.5,0.4,2.2,0.4c3.5,0,6.3-2.8,6.3-6.3s-2.8-6.3-6.3-6.3c-0.3,0-0.6,0-0.9,0.1c-1.6-2.4-4.2-3.7-7.1-3.7
c-2.9,0-5.5,1.3-7.1,3.7c-0.3,0-0.6-0.1-0.9-0.1c-3.5,0-6.3,2.8-6.3,6.3C78.2,848.4,81,851.2,84.3,851.2z"/>
<path fill="#444345" d="M94,862c0,0.9,0.8,1.7,1.8,1.7c0.9,0,1.7-0.8,1.7-1.7s-1.7-3.6-1.7-3.6S94,860.9,94,862z"/>
<path fill="#444345" d="M99.1,858.3c0.9,0,1.8-0.8,1.8-1.7s-1.8-3.6-1.8-3.6s-1.7,2.6-1.7,3.6C97.3,857.5,98.2,858.3,99.1,858.3
z"/>
<path fill="#444345" d="M92,859.2c0-0.9-1.7-3.6-1.7-3.6s-1.8,2.6-1.8,3.6s0.8,1.7,1.8,1.7C91.2,861,92,860.2,92,859.2z"/>
<path fill="#444345" d="M8.8,1010.5c0,6.4,5.2,11.7,11.7,11.7s11.7-5.2,11.7-11.7s-5.2-11.7-11.7-11.7S8.8,1004,8.8,1010.5z
M29.1,1010.5c0,4.8-4,8.8-8.7,8.8c-4.8,0-8.8-4-8.8-8.8c0-4.8,4-8.8,8.8-8.8S29.1,1005.7,29.1,1010.5z"/>
<polygon fill="#444345" points="16,1014.9 22,1012 24.8,1006.1 19,1009.1 "/>
<path fill="#444345" d="M113.9,866.3c0-0.1-0.1-0.2-0.1-0.3L113.9,866.3L113.9,866.3z"/>
<path fill="#444345" d="M110.6,876.1c7.1-2,14.4,3.1,15.4,10.5c0,0.3,0.1,0.6,0.1,0.9c0.3,0,0.6,0.1,0.9,0.1
c6-0.2,12.1-0.2,18.1-0.5c-2.5,0.7-4.4,3-4.4,5.7c0,3.3,2.7,6,6,6s6-2.7,6-6c0-3-2.2-5.4-5-5.9c4.4-0.3,3.6-0.2,4.4-4.2
c0.4-1.9,0.6-3.9,0.8-5.8c0.2-1.8-0.3-2.2-2.1-2.4c-2.7-0.1-5.1-0.2-7.9-0.3c-0.1,0-0.2-0.1-0.2-0.2c0-2,0.5-6.8,0.5-6.8
s-0.9-0.8-1.9-0.1c0,2.4,0,4.6,0,7.1c0,0-3.6-0.1-8.2-0.2c-0.2,0-0.9-0.4-1.3-1.1c-0.7-1.9-2.4-5.6-4.4-11.4
c0,0-1.1-2.4-3.8-2.4c-2.1,0-13.4,0-13.4,0v14.2c0,0-0.8,0.4-1.5,0.5C108.2,876.1,108.7,876.5,110.6,876.1z M149.8,892.9
c0,1.7-1.5,3.1-3.1,3.1c-1.7,0-3.1-1.5-3.1-3.1c0-1.7,1.5-3.1,3.1-3.1C148.4,889.8,149.8,891.1,149.8,892.9z M113.8,866v-2.7h11
l3.5,10.5l0.1,0.1c-4.7-0.1-10.1,0-14.6,0.2V866z"/>
<path fill="#444345" d="M113.3,877.3c-6,0-10.8,4.8-10.8,10.8c0,6,4.8,10.8,10.8,10.8c5.9,0,10.8-4.8,10.8-10.8
C124.1,882.1,119.3,877.3,113.3,877.3z M113.3,894.1c-3.3,0-6-2.7-6-6c0-3.3,2.7-6,6-6s6,2.7,6,6
C119.3,891.4,116.6,894.1,113.3,894.1z"/>
<path fill="#444345" d="M87.2,1074.3l-7.9-4.2c0.5-1.7,0.5-3.7,0-5.6c-1.6-5.5-7.9-8.9-13.4-7.3c-5.6,1.6-8.8,7.3-7.1,12.8
c1.6,5.5,7.9,8.9,13.4,7.3c1.8-0.6,3.5-1.5,4.6-2.8l7.9,4.4c0.8,0.4,1.7,0.1,2.2-0.7l1.1-1.9C88.4,1075.5,88,1074.8,87.2,1074.3
z M70.8,1073.2c-3.2,0.9-7-1.1-7.9-4.2c-0.9-3.2,0.9-6.6,4.2-7.5c3.2-0.9,7,1.1,7.9,4.2C75.9,1069,74.1,1072.3,70.8,1073.2z"/>
<path fill="#444345" d="M42.4,987.3c6-6.8,2.7-11.7,1.7-13.6c-0.9-1.9-1.3-4.7-1.3-4.7l0.2-0.9l0.2-1.1
c-1.3-0.4-2.7,0.3-2.7,0.3c0.3,2.1-0.3,4.4-0.6,5.3c-0.4,0.9-1.6,2.8-2.2,4c-0.6,1.1-2.1,4.7-9.9,8.1
c-7.9,3.4-18.3,0.3-18.3,0.3c-2.7-0.7-4.9,0.4-4.9,0.4L4,986.3l0.1,0.8l-0.3,0.5l0.1,0.6c7.7,11.9,23.6,7.9,23.6,7.9
S36.4,994,42.4,987.3z"/>
<path fill="#444345" d="M215.2,1059.3c3.5-0.1,6.8-0.7,10.1-2c1.1-0.5,1.5-1.3,1.6-2.5c0.1-0.7,0.1-1.3,0.1-1.9
c0-0.1,0-0.1,0-0.2c0-0.1-0.3-0.4-0.7-0.4c-1.6-0.1-1.9-0.5-2.4-2c-0.4-1.1-0.7-2.1-1.1-3.1c3.9-0.9,3.4-3.7,2-7.3
c-1.1,1.6-0.3,2.1-2.1,2.5c-1.7,0.4-3,1.3-3.8,3c-0.1,0.3-0.3,0.7-0.5,1.1c-0.2-2,0.7-3.2,2.4-4.7c-0.8-0.8-4-0.4-4.8-0.9
c-3.1-2.2-17.5-4.8-26.5,2c-0.5-0.5-0.9-0.9-1.5-1.3c2.1-0.9,2.9-2,2.5-3.7c-0.3-1.3-1.3-2-2.4-1.9c-1.9,0.1-2.6,0.9-2.9,4.2
c-0.7-0.7-1.1-1.1-1.9-1.9c0,0.6-0.2,1.1-0.1,1.5c0.3,0.9,1.1,1.5,1.9,1.8c0.7,0.1,1.1,0.5,1.3,1.1c0.2,0.4,0.4,0.9,0.8,1.1
c0.9,0.9,1.1,2.1,1.1,3.5c0,3,0.1,6,0.5,9c0.4,3.2,1.1,6.3,2.6,9.2c0.5,0.9,1.1,0.9,1.9,0.8c0.3-0.1,0.6-0.8,0.6-1.1
c0.2-2.4,1.3-4.4,2.4-6.4c4.2,1.3,8.3,1.5,12.5,1.3c0.2,0,0.6,0.4,0.8,0.7c0.8,1.5,1.5,3.2,2.2,4.8c0.4,0.9,1.3,0.9,2,0.8
c0.2-0.1,0.3-0.9,0.3-1.3c0-1.7,0-3.6,0-5.3c0.2-0.1,0.3-0.1,0.3-0.2C214.7,1059.3,215.1,1059.3,215.2,1059.3z M187.2,1039.8
c-0.5-1.1-0.2-1.9,0.6-2c0.5-0.1,1.1-0.1,1.1,0.6C189.1,1039.2,188.5,1039.7,187.2,1039.8z"/>
<path fill="#444345" d="M33.5,924.2c6.6-0.6,8.9-3.9,10.8-10.3c1.1-3.9,1.3-7.7,1.5-11.8c-0.3-3.3-0.3-6.6-0.7-9.9
c-0.7-4.6-1.8-9.3-4-13.4c-1.7-3.3-2.2-5.3-5.9-5.9c-4-0.5-8.4,1-10.1,5.6c-0.5,1.3-1.1,2.4-1.3,3.7c-0.7,2.8-2.4,5-4.4,7
c-5.8,5.3-7.7,12.1-6.4,19.6C14.5,918.6,23.5,925.1,33.5,924.2z M21.2,893.3c3.5-3.3,6-6.8,7.1-11.5c0.2-0.9,0.7-1.8,1.1-2.6
c1.3-2.3,4.2-2.7,6.1-0.8c0.8,0.9,1.3,1.9,1.7,2.9c2.8,6.6,4,13.7,4,19.9c0,4.7-0.3,8.4-1.5,11.9c-1.7,5-5.3,7.5-10.1,7
c-4-0.4-7.3-2.4-9.9-5.5C15.2,908.4,15.4,898.6,21.2,893.3z"/>
<path fill="#444345" d="M29.5,917.1c3.2,0.3,5.6-0.7,7.1-3.6c2.8-5.6,3-11.3,1.1-17.2c-0.4-1.3-1.3-2.2-2.5-2.7
c-3.5-1.5-7.1-1.5-10.5-0.1c-1.6,0.8-3.2,1.8-3.9,3.6c-0.4,0.9-0.3,1.6,0.7,2.1c1.5,0.8,3,1.5,4.6,2.4c0.5,0.3,0.9,0.7,1.3,0.9
c0,0.1-0.1,0.3-0.2,0.4c-0.4-0.1-0.8-0.1-1.1-0.2c-1.7-0.5-3.5-1.1-5.2-1.5c-0.9-0.3-1.5,0.1-1.7,0.9c-0.1,0.4-0.2,0.8-0.2,1.1
C17.9,910,22.8,916.4,29.5,917.1z"/>
<path fill="#444345" d="M30.6,889c0.9,0.3,1.9,0.5,2.9,0.7c1.9-0.1,2.7-0.6,2.7-2.5c0-1.3-0.3-2.8-0.7-4.2c-0.3-1.1-1.1-2-2.4-2
c-1.3-0.1-2.5,0.5-3,1.7c-0.5,1.1-0.9,2.4-1.1,3.8C28.7,887.8,29.1,888.5,30.6,889z"/>
<path fill="#444345" d="M56.9,983.4c-0.4,0.1-0.9-0.1-0.9-0.5c0,0-0.5-1.3-2-2.9c-0.4-0.4-0.8-0.7-1.1-0.9
c-0.6-0.5-1.3-0.9-1.8-1.6c0.9,8.1,4.4,14,8.3,14c4.7,0,8.6-8.4,8.6-18.9s-4-18.9-8.7-18.9c-3.1,0-5.8,3.7-7.3,9.1
c0.6,0.9,1.1,1.3,1.9,1.8c0.4,0.3,0.9,0.7,1.3,1.1c1.9,1.8,2.4,3.5,2.4,3.6s0,0.1,0,0.2c0,0.3-0.2,0.6-0.6,0.7s-0.9-0.1-0.9-0.5
c0,0-0.5-1.3-2-2.9c-0.4-0.4-0.8-0.7-1.1-0.9c-0.5-0.3-0.9-0.7-1.3-1.1c-0.2,0.9-0.4,1.8-0.5,2.8c0.7,2.4,1.6,3.1,2.8,4
c0.4,0.3,0.9,0.7,1.3,1.1c1.9,1.8,2.4,3.5,2.4,3.6s0,0.1,0,0.2c0,0.3-0.2,0.6-0.6,0.7s-0.9-0.1-0.9-0.5c0,0-0.5-1.3-2-2.9
c-0.4-0.4-0.8-0.7-1.1-0.9c-0.7-0.5-1.5-1.1-2-1.9c0,0.6,0,1.1,0,1.7c0.7,3.5,1.7,4.4,3.1,5.3c0.4,0.3,0.9,0.7,1.3,1.1
c1.9,1.8,2.4,3.5,2.4,3.6c0,0.1,0,0.1,0,0.2C57.5,983,57.3,983.3,56.9,983.4z"/>
<path fill="#444345" d="M196.9,877c1.6,1.8,3.6,3.6,6,3.8c1.7,0.3,3.9-0.9,5.2-0.9c2.8,0,2.2,0.7,5.2,0.7c2.9,0,8.5-7,9.9-14.2
c0.3-1.8,0-4.9-1.3-7.9c-1.6-3.5-6.4-4.8-9.5-4.2c-0.8,0.1-2.5,0.5-3.9,0.7c0.3-0.9,0.9-2.6,2.6-3.5c0.5-0.3,0.7-0.9,0.4-1.3
c-0.3-0.5-0.9-0.7-1.3-0.4c-2.7,1.5-3.6,4.2-3.8,5.4c-1.3-0.3-4.4-0.8-5.8-0.8c-1.7,0.1-3.4,0.6-4.9,1.7c-1.3,1.1-2,2.5-2.6,4
c-0.8,2.2-1.1,4.4-0.8,6.8C192.8,870.8,194.4,874.1,196.9,877z M202.8,858.9c1.5,0,2.7,1.1,2.7,2.5c0,1.8-1.3,3.3-2.8,3.3
c-1.1,0-2.1-1.5-2.1-3.2C200.8,860,201.5,858.9,202.8,858.9z"/>
<path fill="#444345" d="M204.7,852.3c1.1,0.1,2.4,0.2,2.9-0.9c0.6-1.1-0.3-2.2-1.1-3.1c-1.8-1.9-4.6-2.3-7.7-0.9
c0.4,0.7,0.8,1.3,1.1,1.8C200.9,851,202.6,852,204.7,852.3z"/>
<path fill="#444345" d="M133.7,858.3c1.9-4,4.6-7.1,4.6-7.1c4,1.5,10.8,3.2,15.6-0.2c6.4-4.6,5.8-14.6,15-19.5
c2.1-1.1-18.1-5.9-28.7,0.2c-7.9,4.5-7.3,12-7.1,14.6c10.1-12,25.2-11.4,25.2-11.4s-21.4,7.4-27.7,22.2
C130.2,858.1,133.1,859.6,133.7,858.3z"/>
<path fill="#444345" d="M212,1007c4.8-9.9-0.6-17-2.7-19.6c-2.1,18.9-17.9,28.5-17.9,28.5s16.7-21.8,13.2-41
c-0.3-1.5-4.2-1.1-3.9,0.7c0.8,5.4,0.2,10.3,0.2,10.3c-5,1.1-13,4-15.8,10.7c-3.5,8.9,4,18.7-2,29.9
C181.8,1029.2,205.5,1020.4,212,1007z"/>
<path fill="#444345" d="M37.2,932.9c-2,1.5-1.6,5.4-0.1,7.5c1.5,1.9,5.3,3.4,7.3,1.8c0.4-0.3,1.6-1.1,1.6-1.1
c2.2,1.7,3.6,0,4.6,1.3c1.1,1.5,3.8,4.7,4.6,5.8c0.9,1.1,2.4,1.9,3.2,1.3c0.8-0.6,3.5-2.5,4.6-3.3c1.1-0.8,1.1-1.8,0.5-2.6
c-0.6-0.8-2.2-0.6-3-1.5c-0.8-0.9-3.1-3.8-3.8-4.7c-0.9-1.3-0.1-2.7,1.6-3.4c11.8-4.6,16,2.3,19.7-0.5
c2.8-2.1-0.3-11.2-6.6-19.3s-14.6-13.4-17.4-11.1C49.5,906.8,61,914.9,37.2,932.9z M57.2,907.8c0.7-0.5,6.4,2.8,11.5,9.1
c4.9,6.3,6.3,12.1,5.6,12.6c-0.7,0.5-6.4-2-11.4-8.3C57.9,914.9,56.6,908.3,57.2,907.8z"/>
<path fill="#444345" d="M15,980.9c8.2,0,15-3.9,15-5.9c0,0,0-0.6,0-6.2c0-5.7-10.3-10.3-10.3-14.4c0-4,10.3-8.7,10.3-14.4
c0-5.7,0-6.2,0-6.2c0-2.1-6.8-5.9-15-5.9s-15,3.8-15,5.8c0,0,0,0.6,0,6.2c0,5.7,10.3,10.3,10.3,14.4c0,4-10.3,8.7-10.3,14.4
c0,5.7,0,6.2,0,6.2C0,977.1,6.8,980.9,15,980.9z M3.5,934.1c1.8-1.1,5.3-2.9,10.9-2.9s10.6,2.9,10.6,2.9
c0.4,0.2,1.8,1.1,0.9,1.6c-2.2,1.3-6.6,2.7-11.6,2.7s-9.3-1.5-11.5-2.8C1.8,935,3.5,934.1,3.5,934.1z M2.9,968.8
c0-1.7,2.7-4.4,4.7-6.4c2.8-2.7,5.4-4.7,5.4-7.9c0-3.2-2.7-5.2-5.5-7.9c-2-2-4.8-4.7-4.8-6.4l-0.1-2.6c2.7,1.5,7.1,2.9,11.7,2.9
c4.7,0,9.1-1.3,11.8-2.9l-0.1,2.6c0,1.7-2.8,4.4-4.8,6.4c-2.8,2.7-5.4,4.7-5.4,7.9c0,3.2,2.2,5.2,5,7.9c2,2,4.4,4.7,4.4,6.4v3.5
c-1.9-1.3-9.5-2-9.5-5.9c0-1.9-2.7-1.9-2.7,0c0,3.9-8.1,4.6-10.1,5.9v-3.5H2.9z"/>
<path fill="#444345" d="M210.9,900.8c0,11,8.9,19.9,19.9,19.9c11,0,19.9-8.9,19.9-19.9c0-10.9-8.9-19.9-19.9-19.9
C219.8,880.9,210.9,889.8,210.9,900.8z M236.2,884.7c6.7,2.2,11.5,8.6,11.5,16c0,3.9-1.3,7.5-3.5,10.3c-0.6-0.5-1.3-1.8-0.7-3.2
c0.6-1.3,0.8-4.6,0.7-5.8c-0.1-1.3-0.8-4.2-2.5-4.2c-1.7,0-2.9-0.6-4-2.7c-2.1-4.2,4-5.1,1.8-7.5c-0.6-0.7-3.7,2.7-4.2-1.8
C235.5,885.7,235.8,885.1,236.2,884.7z M240.2,914.9c-2.7,1.7-5.9,2.8-9.4,2.8c-1.8,0-3.7-0.3-5.3-0.9c0.9-0.6,1.1-1.3,2-1.3
c1.1,0,1.9-0.4,3.1-0.7c1.1-0.2,3-1.3,4.6-1.5C236.7,913.3,239.4,913.5,240.2,914.9z M228.4,884c-0.4,0.8-1.5,1.1-2.1,1.7
c-1.5,1.3-2,1.1-2.8,2.3c-0.8,1.3-3.3,3-3.3,3.9s1.3,1.9,1.8,1.7c0.7-0.2,2.4-0.2,3.3,0.2c0.9,0.4,8.1,0.7,5.8,6.8
c-0.7,1.9-3.9,1.5-4.7,4.7c-0.1,0.5-0.6,2.4-0.6,3.1c-0.1,0.9,0.7,4.8-0.3,4.8s-3.6-3.4-3.6-4c0-0.6-0.7-2.8-0.7-4.6
s-3.2-1.8-3.2-4.2c0-2.2,1.7-3.3,1.3-4.4c-0.4-1.1-3.4-1.1-4.6-1.3C217.1,889,222.2,884.9,228.4,884z"/>
<path fill="#444345" d="M135.7,1029.6c-4,0-7.3,3.3-7.3,7.3s3.3,7.3,7.3,7.3c4,0,7.3-3.3,7.3-7.3
C142.9,1032.9,139.7,1029.6,135.7,1029.6z M132.5,1040c0-0.2-0.3-0.9-0.3-1.6c0-0.7-1.1-0.7-1.1-1.5c0-0.8,0.7-1.3,0.5-1.6
c-0.1-0.4-1.3-0.4-1.6-0.5c0.8-2,2.7-3.6,4.9-4c-0.2,0.3-0.6,0.4-0.8,0.6c-0.5,0.5-0.8,0.4-1.1,0.9s-1.1,1.1-1.1,1.5
c0,0.3,0.5,0.7,0.7,0.7c0.2-0.1,0.9-0.1,1.1,0.1c0.4,0.1,3,0.3,2.1,2.4c-0.3,0.7-1.5,0.6-1.7,1.7c-0.1,0.2-0.2,0.9-0.2,1.1
c0,0.4,0.3,1.7-0.1,1.7C133.5,1041.4,132.5,1040.2,132.5,1040z M135.7,1043.1c-0.7,0-1.3-0.1-1.9-0.3c0.4-0.2,0.4-0.5,0.8-0.5
s0.7-0.2,1.1-0.3c0.4-0.1,1.1-0.5,1.6-0.5c0.5,0,1.5,0,1.8,0.5C138.1,1042.7,137,1043.1,135.7,1043.1z M140.7,1040.6
c-0.2-0.2-0.5-0.7-0.2-1.1c0.2-0.5,0.3-1.6,0.2-2.1c-0.1-0.5-0.3-1.5-0.9-1.5s-1.1-0.2-1.5-0.9c-0.8-1.5,1.5-1.8,0.7-2.7
c-0.2-0.3-1.3,0.9-1.5-0.7c0-0.1,0.1-0.3,0.3-0.5c2.4,0.9,4.2,3.2,4.2,5.9C141.9,1038.4,141.4,1039.6,140.7,1040.6z"/>
<path fill="#444345" d="M44.9,1061.1c0,0.3,0,0.5,0,0.8c0.1,1.7,1.5,3.2,3.4,3.2c1.7,0,3.2-1.3,3.4-3c0.1-0.3,0.1-0.6,0.1-0.9
c0-0.9,0.4-1.3,1.1-1.5c6.4-1.5,11.4-6.6,12.4-13c0.1-0.8,0.1-1.5,0.4-2.1c0.6-0.5,1.5-0.9,1.7-1.5c0.2-0.5-0.4-1.3-0.6-2.1
c1.1-1.1,1.1-1.6-0.2-2.9c1.3-1.3,1.3-1.9-0.1-3.2c0.9-0.4,1.3-1.1,0.9-2c-0.3-0.6-1.1-0.9-1.6-1.3c-0.1,0.1-0.1,0.2-0.2,0.2
c-0.1-0.6-0.1-1.1-0.4-1.5c-0.4-0.5-0.9-1.1-1.5-1.1c-0.3-0.1-0.9,0.6-1.1,0.9c-0.7,1.3-1.1,2.8-1.7,4.2s-1.3,2.7-2.2,3.9
c-2.7,3.4-6.3,4.4-10.4,3.6c-4-0.9-6.8-3.3-7.9-7.3c-0.2-0.8-0.2-1.5-0.4-2.3c0.9-0.6,2.1-0.9,1.6-2.2c-0.2-0.7-1.1-1.1-2-1.7
c0-0.5,0.2-1.5-0.9-1.9c-0.9-0.4-1.6,0.2-2.2,1.1c-0.7-0.8-1.3-1.6-2.4-1.1c-0.6,0.4-0.9,1.3-1.5,2.2c-0.7,0-1.8-0.1-2,1.3
c-0.1,0.9,0.6,1.5,2.4,2c-1.1,1.3-3,1.3-4.2,2.4c1.1,0.6,2,1.1,3.1,1.7c0.6,0.3,0.8,0.7,0.7,1.3c-0.2,2.1-0.3,4.4-0.5,6.4
c-0.8,9.2,5.5,14.3,11.5,15.9C44.7,1059.8,45,1060,44.9,1061.1z M35.7,1034.1c-0.3,0-0.7-0.4-1.3-0.8c0.7-0.4,0.9-0.9,1.3-0.9
c0.3,0,0.9,0.6,0.8,0.8C36.3,1033.6,35.9,1034.1,35.7,1034.1z"/>
<path fill="#444345" d="M211.6,940.4h-6.4c-1.1,0-2.7,0.7-3.4,1.6l-8.5,10.9c-0.7,0.9-0.3,0.9,0.9,0.9h34.6c1.1,0,1.6,0,0.9-0.9
l-7.4-11c-0.7-0.9-2.1-1.5-3.3-1.5h-1.6v-3.9h-5.8V940.4z"/>
<path fill="#444345" d="M219.2,930.1l0.5-0.1c1.1-0.2,2-1.1,2.7-2.2c0.7-1.1,0.8-3.6,0.6-4.9c-0.7,2-2.1,2.7-3.7,3.4
c-0.4,0.2-0.9,0.4-1.3,0.5c-0.5,0.2-0.9,0.4-1.5,0.6c-1.5,0.8-2.1,2-2.4,4c-0.2,0.8-0.3,1.6-0.3,2.8c0.8-2,1.6-3,3.3-3.6
C217.8,930.5,218.5,930.3,219.2,930.1z"/>
<path fill="#444345" d="M227,969.3h0.9v-11.9c0-1.1,0-1.6,0-1.6H227h-1.3h-15h-1.3h-11h-4v2.2v11.3h4h2.7v-8
c0,0,0.2,0.3,1.1,0.3h5.2c0,0,0.5-1.1,0.5-0.2v7.9h1.5h1.3h15L227,969.3L227,969.3z M222.2,965.5c0,0.2,0.7,0.9,0.5,0.9h-5.7
c-0.2,0-0.6-0.8-0.6-0.9v-5.7c0-0.2,0.4-0.1,0.6-0.1h5.7c0.2,0-0.5-0.1-0.5,0.1V965.5z"/>
<path fill="#444345" d="M143.1,1056.3c0-0.6-0.5-0.9-1.1-0.9h-13.4c-0.6,0-1.1,0.4-1.1,0.9c0,0.6,0.5,0.9,1.1,0.9h13.4
C142.7,1057.3,143.1,1056.9,143.1,1056.3z"/>
<rect x="131.4" y="1052.5" fill="#444345" width="9.7" height="2.9"/>
<path fill="#444345" d="M117.8,828.2c-4.6,0.8-7.9,4.6-8.2,9.1l8.7-0.5L117.8,828.2z"/>
<path fill="#444345" d="M119.7,839.3l-9.9,0.5c0.9,4.8,5.2,8.4,10.3,8.1c5.5-0.3,9.7-4.9,9.4-10.4c-0.3-5-4.2-9-9.1-9.4l0.5,9.9
C120.9,838.7,120.3,839.2,119.7,839.3z"/>
<path fill="#444345" d="M78.2,866c0.4,0,0.9-0.6,1.3-0.7s0.9-0.6,1.1-0.8l5.5-3.9c0.3-0.2,0.5-0.6,0.5-0.9
c0-0.3-0.2-0.6-0.5-0.8l-5.5-3.8c-0.3-0.2-0.8-0.9-1.1-1.1c-0.5-0.1-0.9-0.7-1.3-0.7H62.5l1.8,12.6H78.2L78.2,866z"/>
<path fill="#444345" d="M41,865.1l5.5,3.8c0.3,0.2,0.8,0.5,1.1,0.7c0.5,0.1,0.9,0.4,1.3,0.4h8.1V890c0,0.5,0.6,0.2,1.1,0.2h2
c0.5,0,0.7,0.3,0.7-0.2v-39.7c0-0.5-0.2-1.6-0.7-1.6h-2c-0.5,0-1.1,1.1-1.1,1.6v9h-8c-0.4,0-0.9,0-1.3,0.1s-0.9,0.3-1.1,0.5
l-5.5,3.8c-0.3,0.2-0.5,0.5-0.5,0.8C40.6,864.7,40.8,864.9,41,865.1z"/>
<path fill="#444345" d="M72.4,874.2v31.6c0,2.2,2.4,4.6,4.6,4.6h15.4c2.2,0,4.2-2.4,4.2-4.6v-31.6c0-2.2-2-3.4-4.2-3.4H77
C74.8,870.8,72.4,872,72.4,874.2z M84.7,908.2c-1.5,0-2.8-0.9-2.8-2s1.3-2,2.8-2s2.8,0.9,2.8,2
C87.5,907.2,86.3,908.2,84.7,908.2z M93.7,875.7v26.1H76.3v-26.1H93.7z"/>
<path fill="#444345" d="M162,850.1c0,13.2,13.8,30.4,13.8,30.4s13.8-17.2,13.8-30.4c0-7.7-6.2-13.8-13.8-13.8
C168.2,836.1,162,842.3,162,850.1z M175.8,842.7c4.2,0,7.5,3.4,7.5,7.5c0,4.2-3.4,7.5-7.5,7.5c-4.2,0-7.5-3.4-7.5-7.5
C168.3,846.1,171.8,842.7,175.8,842.7z"/>
<path fill="#444345" d="M88.9,887.4c0-2.4-1.8-4.2-4.2-4.2s-4.2,1.8-4.2,4.2c0,4,4.2,9.1,4.2,9.1S88.9,891.4,88.9,887.4z
M82.4,887.6c0-1.3,0.9-2.2,2.2-2.2c1.3,0,2.2,0.9,2.2,2.2c0,1.3-0.9,2.2-2.2,2.2C83.5,889.8,82.4,888.8,82.4,887.6z"/>
<path fill="#444345" d="M177.1,885.5l-2.4,2.1l-2.4-2.1c-3.4-3.1-9-3.1-12.4,0c-3.9,3.6-3.9,9.3,0,12.8l14.7,13.5l14.7-13.5
c3.9-3.6,3.9-9.3,0-12.8C186.1,882.4,180.4,882.4,177.1,885.5z"/>
<path fill="#444345" d="M237.1,987.3l-3.3,2.8c-0.3,0.2-0.3,0.7-0.1,0.9l18.9,21.4c0.4,0.5,1.1,0.6,1.7,0.1l2.2-1.8
c0.5-0.5,0.6-1.3,0.1-1.7l-18.7-21.6C237.8,986.9,237.4,986.9,237.1,987.3z"/>
<path fill="#444345" d="M236.1,973.1c-2.9,0.3-6.6,3-8.4,4.2c-2.4,1.6-3.3,2.6-3.5,2.7c-0.7,0.6-0.1,1.9-1.3,3.1
c-1.3,1.1-2.1,0.3-2.9,0.9c-0.4,0.3-1.5,1.1-1.7,1.3c-0.3,0.3-0.4,0.7-0.1,1.1c0,0,2.9,3.2,3.1,3.5c0.2,0.3,0.9,0.5,1.3,0.2
c0.4-0.4,1.5-1.3,1.6-1.5c0.2-0.2-0.1-1.9,0.8-2.7c2.1-1.6,3.9-0.5,6.2,2.2c0.3,0.3,0.7-0.1,0.9-0.2c0.2-0.2,3.3-3,3.5-3.1
c0.2-0.1,0.3-0.4,0.1-0.7c-0.2-0.3-1.1-1.5-1.6-2.1c-4.2-5.4,11.2-9,8.9-9.1C241.6,973,236.7,973,236.1,973.1z"/>
<path fill="#444345" d="M224.1,1010.9l2.1,2.1c0.5,0.5,1.3,0.3,1.7-0.2l11.1-10.9l-3.4-3.9l-11.6,11.2
C223.7,1009.6,223.7,1010.4,224.1,1010.9z"/>
<path fill="#444345" d="M247.9,985.9c-0.2,0.3-0.4,0.6-0.7,0.9l-3.1,3.2l3.1,3.6l3.8-3.6c0.2-0.2,0.6-0.5,0.9-0.7
c0.1,0,0.1,0,0.2-0.1c0.3-0.1,0.6,0,0.9,0.2c0.7,0.5,1.3,0.9,1.9,1.5c0.5,0.4,0.9,0.4,1.3-0.1c0.6-0.7,1.1-1.3,1.7-1.9
c0.9-1.1,1.9-2.1,2.9-3.2c1.6-1.7,2.4-3.7,2.4-5.8c0-0.8,0-1.5-0.2-2.4c-0.3-2-1.3-3-3.3-3.3c-0.5-0.1-1.1-0.2-1.5-0.1
c-0.6,0-1.3,0-1.8,0.1c-1.5,0.1-3,0.5-4.2,1.6c-0.9,0.9-1.9,1.8-2.9,2.7c-1.1,1.1-2.2,2-3.3,3.1c-0.3,0.3-0.4,0.6,0,0.9
c0.7,0.7,1.3,1.5,1.9,2.1c0.3,0.3,0.4,0.5,0.2,0.9C248,985.6,247.9,985.6,247.9,985.9z M250.3,985.4l4.7-4.4
c0.1-0.1,0.4-0.1,0.5,0c0.1,0.1,0.1,0.3,0,0.5l-4.2,5c-0.1,0.1-0.2-0.7-0.3,0.3l0,0c-0.1,0-0.2-0.2-0.2-0.2l-0.6-0.6
c-0.1-0.1-0.1-0.2-0.1-0.3C250.2,985.6,250.3,985.4,250.3,985.4z"/>
<path fill="#444345" d="M237.6,934c0,0.8-0.1,1.5,0.6,1.5h10.1v2.5c0,0.6-0.4,0.4,0.2,0.4h4c0.6,0,0.7,0.2,0.7-0.4v-2.5h9.5
c0.8,0,1.1-0.9,1.1-1.5v-5.2h-26.1L237.6,934L237.6,934z"/>
<path fill="#444345" d="M251.2,948.8V947c0-0.3-0.2-0.6-0.5-0.6s-0.5,0.3-0.5,0.6v1.7c-2.9,0.3-4.8,2.5-4.8,5.1
c0,2.9,2.2,5.2,5.1,5.2c2.9,0,5.2-2.4,5.2-5.2C255.7,951.3,254.1,949.1,251.2,948.8z"/>
<path fill="#444345" d="M261.5,939.4h-22c-1.1,0-2,1.1-2.2,2.2l-2.6,22.8c-0.1,0.6,0.1,1.5,0.6,2c0.4,0.5,1.1,0.9,1.6,0.9h27.3
c0.7,0,1.3-0.5,1.6-0.9c0.4-0.5,0.6-1.1,0.6-1.8l-2.6-23C263.5,940.6,262.5,939.4,261.5,939.4z M250.4,963c-5,0-9.1-4-9.1-9.1
s4-9.1,9.1-9.1c5,0,9.1,4,9.1,9.1S255.4,963,250.4,963z"/>
<path fill="#444345" d="M155,1069.4v0.4h11.3c0.6,0,1.1-0.9,1.1-1.5c0-0.6-0.5-1.5-1.1-1.5H155h-1.3h-2.4c-3,0-5.4,1.9-6.2,4.8
h-7.9v2.9h7.9c0.8,2.9,3.2,5.8,6.2,5.8h2.4l0,0h12.6c0.6,0,1.1-0.9,1.1-1.5s-0.5-1.5-1.1-1.5H155c-0.4,0-0.7-0.1-0.7-0.5
c0-0.4,0.3-0.5,0.7-0.5h11.3c0.6,0,1.1-0.4,1.1-0.9c0-0.6-0.5-0.9-1.1-0.9H155l0,0c-0.4,0-0.7-0.6-0.7-0.9
c0-0.4,0.3-0.9,0.7-0.9h11.3c0.6,0,1.1-0.4,1.1-0.9c0-0.6-0.5-0.9-1.1-0.9h-10.7v-0.4c-0.9,0-0.9-0.1-0.9-0.5
C154.6,1069.5,154.6,1069.4,155,1069.4z"/>
<path fill="#444345" d="M105.5,1076.6h27.3c1.3,0,3.3-0.7,3.3-1.6v-3.3c0-0.9-2.1-1.8-3.3-1.8h-27.3c-1.8,0-3.3,1.5-3.3,3.4
C102.4,1075,103.9,1076.6,105.5,1076.6z"/>
<path fill="#444345" d="M165.8,1086.7c0-1.8-1.5-3.4-3.4-3.4h-28.2c-1.3,0-1.9,0.6-2.9,1.6v3.4c0.9,0.9,1.6,1.7,2.9,1.7h28.2
C164.3,1090.1,165.8,1088.6,165.8,1086.7z"/>
<path fill="#444345" d="M131.4,1088.2v-2.9h-4h-5.8H96.6c0,0-2.5,1.1,1.3,2.8c5.7,2.4,10.3,2.8,14.7,3.4
c1.5,0.2,6.6,1.3,9.9-1.5c1.1-1.1,2.4-1.8,3.4-1.8H131.4z"/>
<path fill="#444345" d="M169.3,1059.4l8.2-0.8c-0.1-0.9-0.3-1.8-0.3-2.7c-0.1-2.3-0.2-4.6-0.3-7c-0.1-1.7,0-3.5,0-5.2
c0.1-2,0.2-4.2,0.3-6.2c0.1-1.6,0.2-3.4,0.4-5c0.2-2,0.5-4,0.8-6c0.2-1.5,0.5-3.2,0.7-4.7c0.1-0.5-0.2-0.9-0.7-0.9
c-0.3-0.1-0.6-0.1-0.9-0.1c-4.2,0-8.5,0-12.4,0c0,0,0,0,0,0.1c-0.9,0-1.9,0-2.9,0c-0.6,0-0.7,0-0.7,0.6
c-0.1,0.8-0.2,1.5-0.2,2.2c0,1.5,0,3.1,0.1,4.6c0,1.5,0.1,3.1,0.2,4.6c0.1,1.5,0.2,3.1,0.3,4.6c0.1,1.5,0.2,2.8,0.3,4.2
c0.1,1.9,0.3,3.9,0.5,5.8c0.1,1.6,0.3,3.2,0.4,4.8c0.2,1.5,0.3,3.2,0.5,4.8c0.1,0.8,0.2,1.5,0.3,2.2c0,0.2,0.1,0.4,0.4,0.4
c0.5,0,0.9-0.1,1.5-0.1c0.8-0.1,1.6-0.1,2.4-0.2C168.6,1059.5,168.9,1059.4,169.3,1059.4z M174.8,1023.7c0.7,0,1.1,0.4,1.1,1.1
c0,0.6-0.5,1.1-1.1,1.1c-0.6,0-1.1-0.5-1.1-1.1C173.7,1024.1,174.2,1023.7,174.8,1023.7z"/>
<path fill="#444345" d="M175.7,1082.3c-0.5,1.5,0.9,3.3,2.6,3.3c1.3,0,2.5-0.9,2.9-2.4c0.3-1.3,0.3-2.5,0.1-3.8
c-0.5-2.6-1.1-5.2-1.5-7.7c-0.4-2-0.9-4-1.3-6.1c-0.3-1.5-0.6-3.1-0.7-4.6v-0.1l-5.2,0.5c0.2,0.9,0.4,2,0.6,3
c0.6,3.2,1.1,6.3,1.8,9.4c0.5,1.9,0.9,4,1.3,5.9c0.1,0.4,0,0.9-0.1,1.3C176,1081.3,175.8,1081.8,175.7,1082.3z"/>
<path fill="#444345" d="M85.5,1019.1c1.3,0.1,2.6-0.1,4-0.2c0.1,0,0.1-0.1,0.1-0.2c0.6-1.1-0.1-2.9-1.3-3.4c0-1.1,0.2-2.4,0-3.6
c-0.2-1.5-0.2-3.5-1.1-4.6c-2-2.9-5-6.3-7.5-8.9c-1.7-1.9-3.6-2.2-6.2-2.2c-10.1-0.1-20.1-0.2-30.1-0.3c-3.2,0-4.4,1.3-4.4,4.4
c-0.1,4.9-0.1,9.9-0.2,15c-1.1-0.1-1.3,0.5-1.3,1.3c0,0.4,0,0.8,0,1.3c0,0.7,0.3,1.1,0.9,1.1c0.9,0,1.7,0,2.7,0
c0.9,0.1,1.3-0.3,1.5-1.1c0.9-2.8,3.1-4.4,6-4.4c2.9,0,5.1,1.6,6,4.6c0.3,0.9,0.8,1.1,1.6,1.1c4.8,0,9.7,0.1,14.6,0.2
c0.9,0,1.5-0.4,1.7-1.3c0.9-2.7,3.2-4.4,6-4.4c2.8,0,4.9,1.6,5.9,4.4C84.6,1018.3,85.1,1019.1,85.5,1019.1z M82.8,1007
L82.8,1007l-9.5,0.4c-0.7,0-1.3-0.4-1.3-1.1l0.1-6.8c0-0.7,0.6-1.3,1.3-1.3l3,0.1c0.1,0,0.3,0,0.4,0.1c0.4,0.1,0.6,0.2,6.8,7.3
c0.2,0.2,0.4,0.1,0.4,0.5C84.1,1006.9,83.5,1007,82.8,1007z"/>
<path fill="#444345" d="M48.8,1014.1c-3,0-5.5,2.4-5.5,5.4s2.4,5.5,5.4,5.5s5.5-2.4,5.5-5.4
C54.2,1016.6,51.8,1014.2,48.8,1014.1z"/>
<path fill="#444345" d="M78.6,1014.5c-3,0-5.5,2.4-5.5,5.4c0,3,2.4,5.5,5.4,5.5s5.5-2.4,5.5-5.4
C84.1,1017,81.6,1014.5,78.6,1014.5z"/>
<path fill="#444345" d="M247.8,1026.3c0-0.9-2.4-1.7-10.3-0.7c0,0,1.9-1.6,2.7-1.9c0.8-0.3,4.2-2.4,3.6-5.1
c-0.6-2.7-1.6-1.1-2.9,1.1c-1.1,2.1-2.7,4-4.9,5.3c0,0-0.7-4.2-3.1-4.4c-0.8,0-4,0-7.7,0.4l-0.7,0.1c-0.4,0-0.9,0.1-1.3,0.2
c0,0.1-0.2,0.1-0.2,0.2v4.6c0,0.4-0.1,0.7-0.5,0.7s-0.5-0.3-0.5-0.7v-4.6l0,0c-0.9,0.1-1.3,0.2-1.8,0.3c0,0-7.1,1.1-11.8,2.5
h-0.1c-0.1,0-0.2,0.1-0.3,0.1c-0.3,0.1-0.6,0.2-0.9,0.3c-0.2,0.1-0.4,0.1-0.6,0.2c-0.1,0-0.1,0.1-0.2,0.1
c-0.1,0-0.2,0.1-0.3,0.1l0,0c-0.9,0.4-1.6,0.6-2.4,1.1c0,0-0.8,0.4-0.3,1.5c0.3,0.7,4.2,2.4,12,3.6v-3.5c0-0.4,0.1-0.7,0.5-0.7
s0.5,0.3,0.5,0.7v3.7c0.9,0.1,1.3,0.1,1.7,0.2l0.9,0.1c2.6,0.3,5.1,0.5,9.9,0.6v-2.9c0-0.4,0.1-0.7,0.5-0.7s0.5,0.3,0.5,0.7v2.9
h0.8c1.1,0,1.6,0,2.6-0.1c0,0,2.5,0.2,2.7-4.4c0,0,4.4-0.8,4,4.2c-0.2,3.7,3,3.8,3,1.1c0-2.5-0.7-5.4-5.5-6.4c0,0,3.9,0.5,7,1.1
C247.5,1028.4,247.8,1027.3,247.8,1026.3z"/>
</g>
<g>
<polygon fill="#444345" points="678.1,1020.6 677.4,1020.6 650.5,985.8 642.4,985.8 642.4,1038 654,1038 654,1003.2
653.4,1003.2 680.4,1038 687.7,1038 687.7,987.7 678.1,987.7 "/>
<polygon fill="#444345" points="706.1,1038 731.3,1038 731.3,1028.3 714.8,1028.3 714.8,1015.7 731.3,1015.7 731.3,1007
714.8,1007 714.8,994.4 731.3,994.4 731.3,987.7 706.1,987.7 "/>
<polygon fill="#444345" points="744.8,994.4 755.4,994.4 755.4,1038 764.1,1038 764.1,994.4 776.6,994.4 776.6,987.7
744.8,987.7 "/>
<polygon fill="#444345" points="832.4,1022.5 832.3,1022.5 821.6,985.8 815.8,985.8 805.5,1022.5 805.5,1022.5 795.1,987.7
784.6,987.7 800.9,1038 808.2,1038 817.9,1007 818.1,1007 828.2,1038 835.6,1038 853,987.7 842.4,987.7 "/>
<path fill="#444345" d="M888.7,985.4c-15.2,0-25.3,11.7-25.3,26.9c0,15,9.7,27.1,25.3,27.1c15.6,0,25.3-12,25.3-27.1
C914.1,997.1,904,985.4,888.7,985.4z M888.7,1029.6c-11.1,0-15-9.7-15-17.6c0-8.3,5.6-16.6,15-16.6c9.5,0,15,8.4,15,16.6
C903.7,1019.8,899.8,1029.6,888.7,1029.6z"/>
<path fill="#444345" d="M959.8,1002.7c0-10.9-7.1-15-17.1-15h-14.4v50.2h11.6v-20.3h-0.7l12.5,20.3h12.1l-14.5-21.4
C956.3,1015.5,959.8,1009.1,959.8,1002.7z M940.4,1010.9h-0.5v-16.5h0.6c5.3,0,9.3,1.7,9.3,8
C949.9,1008.7,945.9,1010.9,940.4,1010.9z"/>
<polygon fill="#444345" points="1015.5,987.7 1003.2,987.7 987.4,1008 987.2,1008 987.2,987.7 976.6,987.7 976.6,1038
987.2,1038 987.2,1013.8 987.4,1013.8 1003.7,1038 1016.6,1038 996.1,1010.9 "/>
<path fill="#444345" d="M360.6,873.3c-25,0-41.6,19.1-41.6,44c0,24.7,15.9,44.3,41.6,44.3c25.6,0,41.6-19.6,41.6-44.3
C402.1,892.4,385.6,873.3,360.6,873.3z M360.6,945.5c-18.1,0-24.6-15.9-24.6-28.8c0-13.6,9.2-27.3,24.6-27.3
s24.6,13.7,24.6,27.3C385.2,929.6,378.8,945.5,360.6,945.5z"/>
<path fill="#444345" d="M443.5,876.6h-22.4v83.1h15.4v-31.9h9.3c17.2,0,26.9-8,26.9-25.8C472.6,883,461.1,876.6,443.5,876.6z
M441,915.3h-4.4v-26.1h4c9.2,0,15.4,1.9,15.4,12.8C456,912.9,450.7,915.3,441,915.3z"/>
<polygon fill="#444345" points="491.7,959.7 535.1,959.7 535.1,945.2 508.1,945.2 508.1,923 533.3,923 533.3,908.5 508.1,908.5
508.1,889.2 535.1,889.2 535.1,876.6 491.7,876.6 "/>
<polygon fill="#444345" points="612.4,932.7 612.7,932.7 568.6,872.8 556.4,872.8 556.4,959.7 573.8,959.7 573.8,901.7
573.3,901.7 617.6,961.6 629.8,961.6 629.8,876.6 612.4,876.6 "/>
<polygon fill="#444345" points="695.5,959.7 711.9,959.7 711.9,923 736.1,923 736.1,908.5 711.9,908.5 711.9,889.2 738,889.2
738,876.6 695.5,876.6 "/>
<path fill="#444345" d="M795.8,961.6c25.6,0,41.6-19.6,41.6-44.3c0-24.9-16.5-44-41.6-44s-41.6,19.1-41.6,44
C754.4,942,770.3,961.6,795.8,961.6z M795.8,889.4c15.4,0,24.6,13.7,24.6,27.3c0,13-6.4,28.8-24.6,28.8
c-18.1,0-24.6-15.9-24.6-28.8C771.3,903.1,780.4,889.4,795.8,889.4z"/>
<path fill="#444345" d="M894.1,873.3c-25,0-41.6,19.1-41.6,44c0,24.7,15.9,44.3,41.6,44.3c25.6,0,41.6-19.6,41.6-44.3
C935.6,892.4,919.3,873.3,894.1,873.3z M894.1,945.5c-18.1,0-24.6-15.9-24.6-28.8c0-13.6,9.2-27.3,24.6-27.3
c15.4,0,24.6,13.7,24.6,27.3C918.7,929.6,912.3,945.5,894.1,945.5z"/>
<path fill="#444345" d="M1018.7,918.2c0-24-16.2-41.6-40.6-41.6h-21.8v83.1h21.8C1002,959.7,1018.7,941.8,1018.7,918.2z
M971.8,945.2v-56.1h2.1c18.5,0,27.9,9.7,27.9,28c0,16.6-7.9,28-27.9,28L971.8,945.2L971.8,945.2z"/>
</g>
</g>
</g>
</g>
<g id="OFN_beta__x28_outlined_x29_">
<g>
<g>
<path fill="#FFFFFF" d="M787.9,977.7l0.2-5.2c0-0.4,0-0.5,0-0.6c-0.1-0.1-0.2-0.3-0.4-0.7c-0.1-0.3-0.2-0.6-0.2-0.7v0
c0.1,0,0.3-0.1,0.9-0.1c0.5,0,1.1,0,1.6,0c0.5,0,1,0.1,1.4,0.1c0.4,0.1,0.9,0.2,1.2,0.3c0.4,0.1,0.7,0.4,1,0.6
c0.2,0.3,0.3,0.6,0.3,0.9s-0.1,0.6-0.2,0.9c-0.1,0.3-0.3,0.5-0.5,0.6c-0.3,0.3-0.6,0.4-1,0.6c0,0,0,0,0,0s0.1,0,0.2,0.1
s0.2,0.1,0.3,0.1c0.1,0,0.2,0.1,0.4,0.2c0.2,0.1,0.3,0.2,0.4,0.3s0.2,0.2,0.4,0.4c0.2,0.3,0.4,0.8,0.3,1.3c0,0.5-0.2,1-0.5,1.5
c-0.3,0.4-0.8,0.8-1.4,1.1c-1.1,0.5-2.4,0.7-3.8,0.6l-0.7-0.1c0,0,0-0.4,0-1C787.9,978.6,787.9,978.2,787.9,977.7z M789.8,978.8
c0.6,0,1.2-0.1,1.7-0.5c0.5-0.3,0.9-0.8,0.9-1.2c0-0.3-0.1-0.6-0.4-0.9c-0.4-0.4-1.1-0.6-1.9-0.6c-0.2,0-0.3,0-0.3,0
s0,0.4-0.1,1.3C789.6,977.7,789.6,978.3,789.8,978.8C789.7,978.8,789.7,978.8,789.8,978.8z M791,973.9c0.2-0.1,0.4-0.2,0.6-0.4
c0.2-0.2,0.3-0.4,0.3-0.6c0-0.2,0-0.4-0.2-0.5s-0.3-0.2-0.5-0.3c-0.2-0.1-0.4-0.1-0.5-0.2c-0.2,0-0.3-0.1-0.5-0.1s-0.2,0-0.3,0
c0,0,0,0.4-0.1,1.1c0,0.7-0.1,1.1-0.1,1.2c0,0,0.1,0,0.1,0c0.1,0,0.2,0,0.4-0.1C790.5,974.1,790.8,974.1,791,973.9z"/>
<path fill="#FFFFFF" d="M796.1,974.6l0.1-1.5c0-0.4,0-0.6,0-0.6c-0.1-0.1-0.2-0.3-0.4-0.8c-0.1-0.4-0.2-0.6-0.2-0.8
c0.1-0.1,1.7-0.1,4.8,0c0.8,0,1.2,0.1,1.2,0.1c0,0.2-0.1,0.4-0.1,0.6c-0.1,0.2-0.2,0.4-0.3,0.5s-0.2,0.2-0.2,0.2c0,0-0.2,0-0.5,0
c-0.3,0-0.8,0-1.4,0c-0.6,0-0.9,0.1-1,0.1c-0.1,0.1-0.1,0.5-0.1,1.5v0.6c0.4,0,0.9,0,1.6,0c0.7,0,1.1,0.1,1.1,0.1
c0,0.3-0.1,0.7-0.4,1.1c-0.1,0.1-0.1,0.2-0.2,0.2c-0.2,0-0.6,0-1.2,0c-0.6,0-0.9,0.1-1,0.1c0,0,0,0.4-0.1,1.2c0,0.8,0,1.2,0,1.2
c0.1,0.1,0.9,0.2,2.4,0.3c0.6,0,1,0,1.2,0s0.3,0,0.3,0c0,0.2-0.1,0.5-0.2,0.8c-0.2,0.3-0.3,0.5-0.5,0.7c-0.1,0.1-0.9,0.1-2.5,0
c-1.5-0.1-2.4-0.1-2.4-0.2c-0.1,0-0.1-0.5,0-1.3c0-0.9,0.1-1.7,0.1-2.6c-0.2-0.1-0.3-0.4-0.4-0.7s-0.2-0.6-0.2-0.8
C795.3,974.6,795.6,974.6,796.1,974.6z"/>
<path fill="#FFFFFF" d="M803.8,979.1l0.3-5.7c0-0.5,0-0.7,0-0.7c0,0-0.1,0-0.2,0c-0.3,0-0.8,0-1.5,0.1l-0.4,0l0-0.3
c0-0.4,0.1-0.8,0.3-1.1l0.1-0.2c0.7,0,1.5,0,2.4,0c0.9,0,1.7,0,2.4,0c0.7,0,1.1,0.1,1.1,0.1c0,0.3,0,0.6-0.1,1
c-0.1,0.4-0.1,0.6-0.2,0.6c-0.2-0.1-0.6-0.1-1.2-0.1c-0.6,0-0.9,0-0.9,0c-0.1,0.1-0.1,1.3-0.2,3.6c-0.1,2.3,0,3.7,0.3,4.2l0,0
c0,0.1-0.2,0.1-0.5,0.2c-0.3,0.1-0.6,0.1-0.9,0.1c-0.3,0-0.5-0.1-0.7-0.1C803.8,980.6,803.8,980.1,803.8,979.1z"/>
<path fill="#FFFFFF" d="M812.2,977.5c-0.1,0-0.5,0-1.2-0.1c-0.6,0-1,0-1.2,0c-0.5,1.6-0.9,2.7-1,3.4c0,0-0.1,0-0.3,0
c-0.2,0-0.4,0-0.7-0.1c-0.5-0.1-0.8-0.2-0.8-0.2c0-0.4,0.4-1.4,1.1-3.1c-0.1-0.1-0.2-0.3-0.4-0.6c-0.1-0.3-0.2-0.6-0.2-0.8
c0,0,0.4,0,1.1,0c0.8-2.2,1.3-3.3,1.4-3.4c0,0,0.2-0.1,0.5-0.1s0.5-0.1,0.5-0.1l0-0.2c0-0.1,0-0.3,0-0.4c0-0.1,0-0.2,0-0.3
c0,0,0.1-0.1,0.2-0.2c0.4-0.2,0.9-0.3,1.4-0.3c0.1,0.5,0.2,1.2,0.3,2.1c0.1,0.9,0.4,2.1,0.8,3.9c0.4,1.7,0.8,2.9,1.1,3.6l0.1,0.2
c0,0-0.1,0.1-0.3,0.2c-0.2,0.1-0.4,0.2-0.7,0.3c-0.3,0.1-0.5,0.1-0.8,0.1c-0.1,0-0.3-0.5-0.5-1.6S812.2,978,812.2,977.5z
M811.9,976.1c-0.3-1.3-0.4-2.1-0.4-2.2c0-0.2,0-0.2-0.1-0.2s0,0-0.1,0.1c-0.1,0.1-0.2,0.5-0.5,1.1c-0.2,0.6-0.4,1-0.5,1.2
C811.3,976,811.9,976,811.9,976.1z"/>
</g>
<g>
<path fill="#FFFFFF" d="M791.1,1003.2c-0.1-0.1-0.5-1.3-1.3-3.4l-0.4-1.1c0,0,0-0.1,0-0.1c-0.1,0.1-0.5,0.9-1.2,2.1
c-0.6,1.3-1,2-1.1,2.1c-0.7,0-1.1-0.1-1.2-0.4c0.1-0.3,0.4-1,0.9-1.9c0.5-0.9,1-1.8,1.4-2.5l0.7-1.2c0.1-0.1,0.3-0.1,0.6-0.2h0.1
l0.5,0.1c1,3.1,1.7,5.1,2,6.1C791.9,1003,791.5,1003.2,791.1,1003.2L791.1,1003.2z"/>
</g>
<g>
<g>
<path fill="#FFFFFF" d="M344.7,1004.5v-10.6c0-1.2-1.1-2-2.2-2h-17c-1.2,0-2.4,0.8-2.4,2v10.6c0,1.2,1.2,2.1,2.4,2.1h17
C343.6,1006.6,344.7,1005.6,344.7,1004.5z M325.5,993.8h17.2v10.8h-17.2V993.8z"/>
<path fill="#FFFFFF" d="M365.6,927.2c-4.3,8.5-6.1,9.6-6.1,13.1c0,3.4,2.8,6.2,6.3,6.2c3.4,0,6.3-2.8,6.3-6.2
c0-3.6-1.6-5.6-6.1-13.1C365.8,927,365.7,927,365.6,927.2z M363.9,940.2c0,1.1-0.7,1.5-1.3,1.5c-0.8,0-1.3-0.6-1.3-1.3
c0-2.5,1.2-4.1,2.3-5.5c0.3-0.4,0.6-0.9,0.9-1.3C364.5,933.5,363.9,938.1,363.9,940.2z"/>
<path fill="#FFFFFF" d="M312.1,996.8c-1.3-0.8-3.8-2.4-3.8-2.4s0,0,0,3.2s5.4,4.4,5.4,4.4C313.6,1000.5,313.5,997.6,312.1,996.8
z"/>
<path fill="#FFFFFF" d="M312.1,1002.5c-1.3-0.8-3.8-2.4-3.8-2.4s0,0,0,3.2s5.4,4.4,5.4,4.4
C313.6,1006.3,313.5,1003.4,312.1,1002.5z"/>
<path fill="#FFFFFF" d="M313.7,1013.6c-0.1-1.5-0.2-4.4-1.5-5.3c-1.3-0.8-3.9-2.4-3.9-2.4s0,0,0,3.2S313.7,1013.6,313.7,1013.6z
"/>
<path fill="#FFFFFF" d="M315.5,1002c0,0,5.6-1.2,5.6-4.4c0-3.2,0-3.2,0-3.2s-3.1,1.5-4.4,2.4
C315.3,997.6,315.6,1000.5,315.5,1002z"/>
<path fill="#FFFFFF" d="M315.5,1007.8c0,0,5.6-1.2,5.6-4.4c0-3.2,0-3.2,0-3.2s-3.1,1.5-4.4,2.4
C315.3,1003.4,315.6,1006.3,315.5,1007.8z"/>
<path fill="#FFFFFF" d="M321.1,1009.2c0-3.2,0-3.2,0-3.2s-3.1,1.5-4.4,2.4c-1.3,0.8-1.2,3.7-1.3,5.3
C315.4,1013.6,321.1,1012.4,321.1,1009.2z"/>
<path fill="#FFFFFF" d="M316.5,993.6c0-1.5-0.3-3.4-2.1-5.2c0,0-2,2.5-2,4.9c0,1.6,0.9,2.9,2,4.3
C314.4,997.5,316.5,995.1,316.5,993.6z"/>
<path fill="#FFFFFF" d="M307.9,904.6c0.4,0,0.8,0,1.1-0.2c0.8,0.8,1.9,1.1,2.9,1.1c1.1,0,2.2-0.4,2.9-1.1
c0.3,0.1,0.8,0.2,1.1,0.2c1.8,0,3.2-1.4,3.2-3.2s-1.4-3.2-3.2-3.2c-0.1,0-0.3,0-0.4,0c-0.8-1.2-2.2-1.9-3.6-1.9
c-1.5,0-2.8,0.7-3.6,1.9c-0.1,0-0.3,0-0.4,0c-1.8,0-3.2,1.4-3.2,3.2C304.8,903.2,306.2,904.6,307.9,904.6z"/>
<path fill="#FFFFFF" d="M312.9,910.1c0,0.5,0.4,0.9,0.9,0.9c0.5,0,0.9-0.4,0.9-0.9s-0.9-1.8-0.9-1.8S312.9,909.5,312.9,910.1z"
/>
<path fill="#FFFFFF" d="M315.5,908.2c0.5,0,0.9-0.4,0.9-0.9s-0.9-1.8-0.9-1.8s-0.9,1.3-0.9,1.8
C314.5,907.8,315,908.2,315.5,908.2z"/>
<path fill="#FFFFFF" d="M311.8,908.7c0-0.5-0.9-1.8-0.9-1.8s-0.9,1.3-0.9,1.8c0,0.5,0.4,0.9,0.9,0.9
C311.4,909.6,311.8,909.2,311.8,908.7z"/>
<path fill="#FFFFFF" d="M269.5,985.7c0,3.3,2.7,5.9,5.9,5.9c3.3,0,5.9-2.7,5.9-5.9c0-3.3-2.7-5.9-5.9-5.9
S269.5,982.4,269.5,985.7z M279.8,985.7c0,2.5-2,4.5-4.4,4.5c-2.5,0-4.5-2-4.5-4.5s2-4.5,4.5-4.5
C277.9,981.2,279.8,983.3,279.8,985.7z"/>
<polygon fill="#FFFFFF" points="273.2,987.9 276.2,986.5 277.7,983.5 274.7,985 "/>
<path fill="#FFFFFF" d="M323,912.3c0,0,0-0.1,0-0.1L323,912.3L323,912.3z"/>
<path fill="#FFFFFF" d="M321.3,917.3c3.6-1,7.3,1.6,7.8,5.4c0,0.1,0,0.3,0,0.5c0.1,0,0.3,0,0.4,0c3-0.1,6.2-0.1,9.2-0.2
c-1.3,0.3-2.2,1.5-2.2,2.9c0,1.7,1.4,3,3,3s3-1.4,3-3c0-1.5-1.1-2.8-2.6-3c2.3-0.1,1.8-0.1,2.2-2.1c0.2-1,0.3-2,0.4-2.9
c0.1-0.9-0.1-1.1-1.1-1.2c-1.4,0-2.6-0.1-4-0.1c0,0-0.1,0-0.1-0.1c0-1,0.2-3.5,0.2-3.5s-0.5-0.4-1,0c0,1.2,0,2.3,0,3.6
c0,0-1.8,0-4.2-0.1c-0.1,0-0.5-0.2-0.6-0.5c-0.3-1-1.2-2.8-2.2-5.8c0,0-0.6-1.2-1.9-1.2c-1.1,0-6.8,0-6.8,0v7.2
c0,0-0.4,0.2-0.8,0.2C320.1,917.3,320.4,917.5,321.3,917.3z M341.3,925.8c0,0.9-0.8,1.6-1.6,1.6c-0.9,0-1.6-0.8-1.6-1.6
c0-0.9,0.8-1.6,1.6-1.6C340.6,924.2,341.3,924.9,341.3,925.8z M323,912.1v-1.4h5.6l1.8,5.4l0,0c-2.4,0-5.2,0-7.4,0.1V912.1z"/>
<path fill="#FFFFFF" d="M322.7,917.9c-3,0-5.5,2.5-5.5,5.5s2.5,5.5,5.5,5.5c3,0,5.5-2.5,5.5-5.5S325.8,917.9,322.7,917.9z
M322.7,926.5c-1.7,0-3-1.4-3-3s1.4-3,3-3c1.7,0,3,1.4,3,3S324.4,926.5,322.7,926.5z"/>
<path fill="#FFFFFF" d="M309.4,1018.2l-4-2.2c0.2-0.9,0.2-1.9,0-2.8c-0.8-2.8-4-4.5-6.8-3.7c-2.8,0.8-4.5,3.7-3.6,6.5
c0.8,2.8,4,4.5,6.8,3.7c0.9-0.3,1.8-0.8,2.4-1.4l4,2.2c0.4,0.2,0.9,0,1.1-0.3l0.5-1C310,1018.8,309.8,1018.5,309.4,1018.2z
M301.1,1017.6c-1.6,0.5-3.6-0.5-4-2.2c-0.5-1.6,0.5-3.4,2.1-3.8c1.6-0.5,3.6,0.5,4,2.2C303.7,1015.5,302.7,1017.2,301.1,1017.6
z"/>
<path fill="#FFFFFF" d="M286.6,973.9c3-3.5,1.4-5.9,0.9-6.9c-0.5-1-0.6-2.4-0.6-2.4l0.1-0.5l0.1-0.5c-0.7-0.2-1.4,0.1-1.4,0.1
c0.1,1.1-0.1,2.3-0.3,2.7c-0.2,0.5-0.8,1.4-1.1,2s-1.1,2.4-5.1,4.1c-4,1.7-9.3,0.1-9.3,0.1c-1.4-0.3-2.5,0.2-2.5,0.2l-0.3,0.5
l0,0.4l-0.1,0.2l0,0.3c3.9,6.1,12,4,12,4S283.5,977.3,286.6,973.9z"/>
<path fill="#FFFFFF" d="M374.6,1010.6c1.8,0,3.5-0.3,5.1-1c0.6-0.2,0.8-0.6,0.8-1.3c0-0.3,0-0.7,0-1c0,0,0,0,0-0.1
c0,0-0.1-0.2-0.3-0.2c-0.8,0-1-0.2-1.2-1c-0.2-0.5-0.3-1.1-0.6-1.6c2-0.5,1.7-1.9,1-3.7c-0.6,0.8-0.1,1.1-1.1,1.3
c-0.9,0.2-1.5,0.7-1.9,1.5c0,0.1-0.1,0.3-0.2,0.6c-0.1-1,0.3-1.6,1.2-2.4c-0.4-0.4-2-0.2-2.5-0.5c-1.6-1.1-8.9-2.5-13.5,1
c-0.2-0.2-0.5-0.4-0.8-0.6c1.1-0.4,1.5-1,1.3-1.9c-0.1-0.6-0.6-1-1.2-1c-1,0-1.3,0.5-1.5,2.1c-0.3-0.3-0.6-0.6-1-1
c0,0.3-0.1,0.5,0,0.8c0.1,0.5,0.5,0.8,1,0.9c0.3,0,0.5,0.2,0.7,0.5c0.1,0.2,0.2,0.4,0.4,0.6c0.5,0.5,0.5,1.1,0.5,1.8
c0,1.5,0,3,0.2,4.6c0.2,1.6,0.6,3.2,1.3,4.7c0.2,0.5,0.6,0.5,1,0.4c0.1,0,0.3-0.4,0.3-0.6c0.1-1.2,0.6-2.2,1.2-3.2
c2.1,0.6,4.2,0.8,6.4,0.6c0.1,0,0.3,0.2,0.4,0.3c0.4,0.8,0.8,1.6,1.1,2.5c0.2,0.5,0.6,0.5,1,0.4c0.1,0,0.1-0.4,0.1-0.7
c0-0.9,0-1.8,0-2.7c0.1,0,0.1,0,0.1-0.1C374.4,1010.6,374.5,1010.6,374.6,1010.6z M360.3,1000.6c-0.2-0.6-0.1-1,0.3-1
c0.2,0,0.5,0,0.6,0.3C361.3,1000.3,361,1000.6,360.3,1000.6z"/>
<path fill="#FFFFFF" d="M282.1,941.8c3.4-0.3,4.5-2,5.5-5.3c0.6-2,0.7-3.9,0.8-6c-0.1-1.7-0.1-3.4-0.3-5.1
c-0.3-2.4-0.9-4.7-2.1-6.8c-0.9-1.7-1.1-2.7-3-3c-2-0.3-4.3,0.5-5.2,2.8c-0.2,0.6-0.5,1.2-0.7,1.9c-0.3,1.4-1.2,2.6-2.3,3.6
c-2.9,2.7-3.9,6.2-3.2,10C272.4,938.9,277,942.2,282.1,941.8z M275.8,926c1.8-1.7,3-3.5,3.6-5.8c0.1-0.5,0.3-0.9,0.6-1.3
c0.7-1.2,2.2-1.4,3.1-0.4c0.4,0.4,0.7,1,0.9,1.5c1.4,3.4,2,7,2.1,10.1c0,2.4-0.1,4.3-0.8,6.1c-0.9,2.6-2.7,3.8-5.1,3.6
c-2.1-0.2-3.7-1.2-5-2.8C272.7,933.7,272.9,928.7,275.8,926z"/>
<path fill="#FFFFFF" d="M280,938.1c1.6,0.1,2.8-0.3,3.6-1.8c1.4-2.8,1.5-5.7,0.5-8.8c-0.2-0.6-0.7-1.1-1.3-1.4
c-1.8-0.8-3.6-0.8-5.4,0c-0.8,0.4-1.6,0.9-2,1.8c-0.2,0.5-0.1,0.8,0.3,1.1c0.8,0.4,1.5,0.8,2.3,1.2c0.2,0.1,0.4,0.3,0.7,0.5
c0,0,0,0.1-0.1,0.2c-0.2,0-0.4,0-0.6-0.1c-0.9-0.2-1.8-0.5-2.7-0.8c-0.5-0.1-0.8,0-0.9,0.5c0,0.2-0.1,0.4-0.1,0.6
C274.1,934.6,276.6,937.8,280,938.1z"/>
<path fill="#FFFFFF" d="M280.6,923.8c0.5,0.1,1,0.2,1.5,0.3c1,0,1.4-0.3,1.4-1.3c0-0.7-0.1-1.4-0.3-2.1c-0.1-0.6-0.5-1-1.2-1
c-0.7,0-1.3,0.2-1.5,0.9c-0.2,0.6-0.4,1.2-0.6,1.9C279.6,923.2,279.8,923.6,280.6,923.8z"/>
<path fill="#FFFFFF" d="M294,971.9c-0.2,0-0.4,0-0.5-0.2c0,0-0.2-0.7-1-1.5c-0.2-0.2-0.4-0.3-0.6-0.5c-0.3-0.2-0.6-0.5-0.9-0.8
c0.5,4.1,2.2,7.1,4.2,7.1c2.4,0,4.4-4.3,4.4-9.6s-2-9.6-4.4-9.6c-1.6,0-2.9,1.9-3.7,4.6c0.3,0.4,0.6,0.7,1,0.9
c0.2,0.1,0.4,0.3,0.6,0.5c1,0.9,1.2,1.8,1.2,1.8c0,0,0,0,0,0.1c0,0.1-0.1,0.3-0.3,0.3c-0.2,0-0.4,0-0.5-0.2c0,0-0.2-0.7-1-1.5
c-0.2-0.2-0.4-0.3-0.6-0.5c-0.2-0.1-0.4-0.3-0.7-0.5c-0.1,0.4-0.2,0.9-0.2,1.4c0.3,1.2,0.8,1.6,1.4,2c0.2,0.1,0.4,0.3,0.6,0.5
c1,0.9,1.2,1.8,1.2,1.8c0,0,0,0,0,0.1c0,0.1-0.1,0.3-0.3,0.3c-0.2,0-0.4,0-0.5-0.2c0,0-0.2-0.7-1-1.5c-0.2-0.2-0.4-0.3-0.6-0.5
c-0.3-0.2-0.8-0.5-1-1c0,0.3,0,0.6,0,0.9c0.3,1.8,0.9,2.2,1.6,2.7c0.2,0.1,0.4,0.3,0.6,0.5c1,0.9,1.2,1.8,1.2,1.8c0,0,0,0,0,0.1
C294.3,971.7,294.2,971.9,294,971.9z"/>
<path fill="#FFFFFF" d="M365.3,917.7c0.8,0.9,1.8,1.8,3,1.9c0.9,0.1,2-0.4,2.7-0.4c1.4,0,1.1,0.3,2.7,0.3c1.5,0,4.3-3.6,5-7.2
c0.1-0.9,0-2.5-0.7-4c-0.8-1.8-3.3-2.5-4.8-2.2c-0.4,0-1.3,0.2-2,0.3c0.1-0.5,0.5-1.3,1.3-1.8c0.2-0.1,0.3-0.4,0.2-0.7
c-0.1-0.2-0.4-0.3-0.7-0.2c-1.4,0.8-1.8,2.2-1.9,2.8c-0.6-0.1-2.3-0.4-2.9-0.4c-0.9,0-1.7,0.3-2.5,0.9c-0.7,0.5-1,1.3-1.3,2.1
c-0.4,1.1-0.5,2.3-0.4,3.5C363.2,914.6,364,916.3,365.3,917.7z M368.3,908.5c0.8,0,1.4,0.6,1.4,1.3c0,0.9-0.6,1.7-1.4,1.7
c-0.6,0-1.1-0.8-1.1-1.6C367.2,909.1,367.6,908.5,368.3,908.5z"/>
<path fill="#FFFFFF" d="M369.3,905.2c0.5,0,1.2,0.1,1.5-0.5c0.3-0.6-0.1-1.1-0.5-1.6c-0.9-1-2.4-1.2-3.9-0.5
c0.2,0.3,0.4,0.6,0.5,0.9C367.3,904.5,368.2,905,369.3,905.2z"/>
<path fill="#FFFFFF" d="M333.1,908.2c1-2.1,2.4-3.6,2.4-3.6c2,0.8,5.5,1.6,8-0.1c3.3-2.3,2.9-7.4,7.6-10c1.1-0.6-9.2-3-14.6,0.1
c-4,2.3-3.7,6.1-3.6,7.5c5.2-6.1,12.8-5.8,12.8-5.8s-10.9,3.8-14.1,11.3C331.3,908.1,332.8,908.9,333.1,908.2z"/>
<path fill="#FFFFFF" d="M373,983.9c2.5-5-0.3-8.7-1.4-10c-1.1,9.6-9.1,14.5-9.1,14.5s8.5-11.1,6.7-20.9c-0.1-0.8-2.1-0.6-2,0.3
c0.4,2.8,0.1,5.3,0.1,5.3c-2.6,0.6-6.6,2.1-8,5.5c-1.8,4.5,2,9.5-1,15.2C357.6,995.2,369.6,990.7,373,983.9z"/>
<path fill="#FFFFFF" d="M283.9,946.2c-1,0.8-0.8,2.8,0,3.8c0.8,1,2.7,1.7,3.7,0.9c0.2-0.1,0.8-0.6,0.8-0.6
c1.1,0.9,1.8,0,2.3,0.6c0.6,0.8,1.9,2.4,2.4,2.9c0.4,0.5,1.2,1,1.6,0.7c0.4-0.3,1.8-1.3,2.3-1.7c0.5-0.4,0.5-0.9,0.2-1.3
s-1.1-0.3-1.5-0.8c-0.4-0.4-1.6-1.9-1.9-2.4c-0.5-0.6,0-1.4,0.8-1.7c6-2.3,8.2,1.2,10-0.2c1.4-1.1-0.1-5.7-3.4-9.8
c-3.2-4.1-7.4-6.8-8.9-5.6C290.2,932.9,296,937.1,283.9,946.2z M294.1,933.4c0.3-0.2,3.3,1.4,5.8,4.6c2.5,3.2,3.2,6.2,2.8,6.4
c-0.4,0.2-3.2-1-5.8-4.2C294.5,937,293.8,933.7,294.1,933.4z"/>
<path fill="#FFFFFF" d="M272.6,970.7c4.2,0,7.6-2,7.6-3c0,0,0-0.3,0-3.1c0-2.9-5.2-5.3-5.2-7.3c0-2.1,5.2-4.4,5.2-7.3
s0-3.1,0-3.1c0-1.1-3.5-3-7.6-3c-4.2,0-7.6,1.9-7.6,3c0,0,0,0.3,0,3.1c0,2.9,5.2,5.3,5.2,7.3c0,2.1-5.2,4.4-5.2,7.3s0,3.1,0,3.1
C265,968.7,268.5,970.7,272.6,970.7z M266.8,946.8c0.9-0.6,2.7-1.5,5.6-1.5c2.9,0,5.4,1.5,5.4,1.5c0.2,0.1,0.9,0.5,0.4,0.8
c-1.1,0.7-3.4,1.4-5.9,1.4c-2.6,0-4.7-0.8-5.8-1.4C265.9,947.2,266.8,946.8,266.8,946.8z M266.5,964.5c0-0.9,1.4-2.3,2.4-3.3
c1.4-1.4,2.8-2.4,2.8-4c0-1.6-1.4-2.7-2.8-4c-1-1-2.5-2.4-2.5-3.3l0-1.3c1.4,0.8,3.6,1.5,5.9,1.5c2.4,0,4.6-0.7,6-1.5l0,1.3
c0,0.9-1.4,2.3-2.5,3.3c-1.4,1.4-2.8,2.4-2.8,4c0,1.6,1.1,2.7,2.6,4c1,1,2.3,2.4,2.3,3.3v1.8c-1-0.6-4.8-1-4.8-3
c0-1-1.4-1-1.4,0c0,2-4.1,2.3-5.1,3L266.5,964.5L266.5,964.5z"/>
<path fill="#FFFFFF" d="M372.4,929.8c0,5.6,4.5,10.1,10.1,10.1c5.6,0,10.1-4.5,10.1-10.1c0-5.6-4.5-10.1-10.1-10.1
C376.9,919.7,372.4,924.2,372.4,929.8z M385.3,921.6c3.4,1.1,5.9,4.4,5.9,8.1c0,2-0.7,3.8-1.8,5.3c-0.3-0.2-0.6-0.9-0.3-1.6
c0.3-0.7,0.4-2.3,0.3-2.9c0-0.6-0.4-2.1-1.3-2.2c-0.9,0-1.5-0.3-2-1.4c-1.1-2.2,2.1-2.6,0.9-3.8c-0.3-0.3-1.9,1.4-2.1-0.9
C385,922.1,385.1,921.9,385.3,921.6z M387.3,937c-1.4,0.9-3,1.4-4.8,1.4c-0.9,0-1.9-0.1-2.7-0.4c0.5-0.3,0.6-0.6,1-0.6
c0.5,0,1-0.2,1.6-0.3c0.5-0.1,1.5-0.6,2.4-0.8C385.5,936.2,386.9,936.3,387.3,937z M381.3,921.3c-0.2,0.4-0.8,0.6-1.1,0.9
c-0.8,0.6-1,0.5-1.4,1.2c-0.4,0.6-1.7,1.5-1.7,2s0.6,1,0.9,0.9c0.3-0.1,1.2-0.1,1.7,0.1c0.5,0.2,4.1,0.3,2.9,3.5
c-0.3,1-2,0.8-2.4,2.4c0,0.2-0.3,1.2-0.3,1.6c0,0.5,0.3,2.5-0.1,2.5c-0.5,0-1.8-1.7-1.8-2.1c0-0.3-0.3-1.4-0.3-2.4
s-1.6-0.9-1.6-2.2c0-1.1,0.9-1.7,0.7-2.2c-0.2-0.5-1.7-0.5-2.4-0.6C375.6,923.8,378.2,921.7,381.3,921.3z"/>
<path fill="#FFFFFF" d="M334.1,995.5c-2,0-3.7,1.7-3.7,3.7s1.7,3.7,3.7,3.7c2,0,3.7-1.7,3.7-3.7
C337.8,997.1,336.1,995.5,334.1,995.5z M332.5,1000.7c0-0.1-0.1-0.5-0.1-0.8s-0.6-0.3-0.6-0.8c0-0.4,0.3-0.6,0.2-0.8
c0-0.2-0.6-0.2-0.8-0.2c0.4-1,1.4-1.8,2.5-2c-0.1,0.1-0.3,0.2-0.4,0.3c-0.2,0.2-0.4,0.2-0.5,0.4c-0.1,0.2-0.6,0.5-0.6,0.8
c0,0.1,0.2,0.3,0.3,0.3c0.1,0,0.4,0,0.6,0c0.2,0,1.5,0.1,1.1,1.2c-0.1,0.3-0.8,0.3-0.9,0.9c0,0.1-0.1,0.4-0.1,0.6
c0,0.2,0.1,0.9,0,0.9C333,1001.5,332.5,1000.8,332.5,1000.7z M334.1,1002.3c-0.3,0-0.7,0-1-0.1c0.2-0.1,0.2-0.2,0.4-0.2
c0.2,0,0.3-0.1,0.6-0.1c0.2,0,0.5-0.2,0.8-0.2c0.2,0,0.8,0,0.9,0.2C335.3,1002.1,334.8,1002.3,334.1,1002.3z M336.6,1001.1
c-0.1-0.1-0.2-0.3-0.1-0.6c0.1-0.2,0.1-0.8,0.1-1.1c0-0.2-0.1-0.8-0.5-0.8c-0.3,0-0.5-0.1-0.8-0.5c-0.4-0.8,0.8-0.9,0.3-1.4
c-0.1-0.1-0.7,0.5-0.8-0.3c0,0,0-0.1,0.1-0.2c1.2,0.4,2.2,1.6,2.2,3C337.3,999.9,337,1000.5,336.6,1001.1z"/>
<path fill="#FFFFFF" d="M287.9,1011.5c0,0.1,0,0.2,0,0.4c0,0.9,0.8,1.6,1.7,1.6c0.9,0,1.6-0.6,1.7-1.5c0-0.1,0-0.3,0-0.4
c0-0.5,0.2-0.6,0.6-0.8c3.3-0.8,5.8-3.4,6.3-6.6c0-0.4,0-0.8,0.2-1.1c0.3-0.2,0.8-0.4,0.9-0.8c0.1-0.2-0.2-0.7-0.3-1.1
c0.5-0.5,0.5-0.8-0.1-1.5c0.7-0.6,0.7-1,0-1.6c0.4-0.2,0.7-0.6,0.5-1c-0.1-0.3-0.5-0.5-0.8-0.7c0,0,0,0.1-0.1,0.1
c0-0.3,0-0.6-0.2-0.8c-0.2-0.2-0.5-0.5-0.8-0.6c-0.1,0-0.5,0.3-0.6,0.5c-0.3,0.7-0.5,1.4-0.9,2.1c-0.3,0.7-0.7,1.4-1.1,2
c-1.4,1.7-3.2,2.3-5.3,1.8c-2.1-0.4-3.5-1.7-4-3.7c-0.1-0.4-0.1-0.8-0.2-1.2c0.4-0.3,1.1-0.5,0.8-1.1c-0.1-0.3-0.6-0.5-1-0.9
c0-0.2,0.1-0.8-0.4-1c-0.5-0.2-0.8,0.1-1.1,0.6c-0.3-0.4-0.7-0.8-1.2-0.5c-0.3,0.2-0.4,0.7-0.8,1.1c-0.3,0-0.9,0-1,0.6
c0,0.4,0.3,0.8,1.2,1c-0.6,0.7-1.5,0.6-2.2,1.2c0.5,0.3,1,0.6,1.6,0.9c0.3,0.1,0.4,0.3,0.3,0.6c-0.1,1.1-0.1,2.2-0.2,3.3
c-0.4,4.7,2.8,7.3,5.8,8.1C287.7,1010.8,287.9,1010.9,287.9,1011.5z M283.2,997.7c-0.1,0-0.3-0.2-0.7-0.4
c0.3-0.2,0.5-0.4,0.7-0.4c0.1,0,0.4,0.3,0.4,0.4C283.5,997.5,283.3,997.7,283.2,997.7z"/>
<path fill="#FFFFFF" d="M372.7,950h-3.3c-0.6,0-1.4,0.3-1.7,0.8l-4.3,5.6c-0.3,0.5-0.1,0.5,0.4,0.5h17.6c0.6,0,0.8,0,0.5-0.5
l-3.8-5.6c-0.3-0.5-1.1-0.8-1.7-0.8h-0.8v-2h-2.9V950z"/>
<path fill="#FFFFFF" d="M376.6,944.8l0.2,0c0.5-0.1,1-0.5,1.4-1.1c0.3-0.6,0.4-1.8,0.3-2.5c-0.3,1-1.1,1.4-1.9,1.7
c-0.2,0.1-0.4,0.2-0.6,0.2c-0.2,0.1-0.5,0.2-0.8,0.3c-0.8,0.4-1.1,1-1.2,2c-0.1,0.4-0.1,0.8-0.1,1.4c0.4-1,0.8-1.5,1.7-1.8
C375.9,945,376.3,944.9,376.6,944.8z"/>
<path fill="#FFFFFF" d="M380.6,964.8h0.5v-6.1c0-0.6,0-0.8,0-0.8h-0.5h-0.7h-7.7h-0.7H366h-2.1v1.1v5.7h2.1h1.4v-4.1
c0,0,0.1,0.1,0.5,0.1h2.7c0,0,0.2-0.5,0.2-0.1v4h0.8h0.7h7.7H380.6L380.6,964.8z M378.1,962.8c0,0.1,0.3,0.5,0.2,0.5h-2.9
c-0.1,0-0.3-0.4-0.3-0.5v-2.9c0-0.1,0.2,0,0.3,0h2.9c0.1,0-0.2,0-0.2,0V962.8z"/>
<path fill="#FFFFFF" d="M337.9,1009c0-0.3-0.2-0.5-0.5-0.5h-6.8c-0.3,0-0.5,0.2-0.5,0.5c0,0.3,0.2,0.5,0.5,0.5h6.8
C337.7,1009.5,337.9,1009.3,337.9,1009z"/>
<rect x="331.9" y="1007.1" fill="#FFFFFF" width="4.9" height="1.5"/>
<path fill="#FFFFFF" d="M325,892.9c-2.3,0.4-4,2.3-4.2,4.6l4.4-0.2L325,892.9z"/>
<path fill="#FFFFFF" d="M326,898.6l-5.1,0.2c0.4,2.5,2.7,4.3,5.2,4.1c2.8-0.1,4.9-2.5,4.8-5.3c-0.1-2.6-2.2-4.6-4.6-4.8l0.2,5.1
C326.5,898.2,326.2,898.5,326,898.6z"/>
<path fill="#FFFFFF" d="M304.8,912.1c0.2,0,0.4-0.3,0.7-0.3c0.2,0,0.4-0.3,0.6-0.4l2.8-2c0.1-0.1,0.2-0.3,0.2-0.4
c0-0.1-0.1-0.3-0.2-0.4l-2.8-1.9c-0.1-0.1-0.4-0.4-0.6-0.5c-0.2,0-0.5-0.3-0.7-0.3h-8l0.9,6.4H304.8L304.8,912.1z"/>
<path fill="#FFFFFF" d="M285.9,911.7l2.8,1.9c0.1,0.1,0.4,0.2,0.6,0.3c0.2,0,0.5,0.2,0.7,0.2h4.1v10.2c0,0.2,0.3,0.1,0.5,0.1h1
c0.2,0,0.3,0.1,0.3-0.1v-20.2c0-0.2-0.1-0.8-0.3-0.8h-1c-0.2,0-0.5,0.6-0.5,0.8v4.6H290c-0.2,0-0.4,0-0.7,0s-0.4,0.1-0.6,0.2
l-2.8,1.9c-0.1,0.1-0.2,0.2-0.2,0.4C285.7,911.4,285.8,911.5,285.9,911.7z"/>
<path fill="#FFFFFF" d="M301.9,916.3v16.1c0,1.1,1.2,2.4,2.3,2.4h7.8c1.1,0,2.2-1.2,2.2-2.4v-16.1c0-1.1-1-1.7-2.2-1.7h-7.8
C303.1,914.6,301.9,915.2,301.9,916.3z M308.2,933.6c-0.8,0-1.4-0.4-1.4-1c0-0.6,0.6-1,1.4-1s1.4,0.4,1.4,1
C309.6,933.1,308.9,933.6,308.2,933.6z M312.7,917.1v13.3h-8.9v-13.3H312.7z"/>
<path fill="#FFFFFF" d="M347.5,904c0,6.7,7,15.5,7,15.5s7-8.8,7-15.5c0-3.9-3.1-7-7-7C350.7,896.9,347.5,900.1,347.5,904z
M354.5,900.3c2.1,0,3.8,1.7,3.8,3.8c0,2.1-1.7,3.8-3.8,3.8c-2.1,0-3.8-1.7-3.8-3.8C350.7,902,352.5,900.3,354.5,900.3z"/>
<path fill="#FFFFFF" d="M310.3,923c0-1.2-0.9-2.1-2.1-2.1s-2.1,0.9-2.1,2.1c0,2,2.1,4.6,2.1,4.6S310.3,925.1,310.3,923z
M307,923.1c0-0.6,0.5-1.1,1.1-1.1s1.1,0.5,1.1,1.1s-0.5,1.1-1.1,1.1C307.5,924.2,307,923.7,307,923.1z"/>
<path fill="#FFFFFF" d="M355.2,922.1l-1.2,1.1l-1.2-1.1c-1.7-1.6-4.6-1.6-6.3,0c-2,1.8-2,4.7,0,6.5l7.5,6.9l7.5-6.9
c2-1.8,2-4.7,0-6.5C359.7,920.5,356.9,920.5,355.2,922.1z"/>
<path fill="#FFFFFF" d="M385.7,973.9l-1.7,1.4c-0.1,0.1-0.1,0.3,0,0.4l9.6,10.9c0.2,0.2,0.6,0.3,0.9,0l1.1-0.9
c0.2-0.2,0.3-0.6,0-0.9l-9.5-11C386.1,973.7,385.9,973.7,385.7,973.9z"/>
<path fill="#FFFFFF" d="M385.2,966.7c-1.5,0.1-3.4,1.5-4.3,2.2c-1.2,0.8-1.7,1.3-1.8,1.4c-0.3,0.3,0,1-0.7,1.6
c-0.6,0.6-1.1,0.1-1.5,0.5c-0.2,0.1-0.8,0.6-0.9,0.7c-0.1,0.1-0.2,0.3,0,0.5c0,0,1.5,1.6,1.6,1.8c0.1,0.1,0.4,0.2,0.6,0.1
c0.2-0.2,0.8-0.6,0.8-0.8c0.1-0.1,0-1,0.4-1.4c1.1-0.8,2-0.2,3.1,1.1c0.1,0.1,0.3,0,0.4-0.1c0.1-0.1,1.7-1.5,1.8-1.6
c0.1,0,0.1-0.2,0-0.3c-0.1-0.1-0.6-0.8-0.8-1.1c-2.1-2.8,5.7-4.6,4.5-4.6C388,966.6,385.6,966.6,385.2,966.7z"/>
<path fill="#FFFFFF" d="M379.1,985.9l1.1,1.1c0.2,0.2,0.6,0.1,0.9-0.1l5.6-5.6l-1.7-2l-5.9,5.7
C378.9,985.3,378.9,985.7,379.1,985.9z"/>
<path fill="#FFFFFF" d="M391.2,973.2c-0.1,0.1-0.2,0.3-0.3,0.4l-1.6,1.6l1.6,1.8l1.9-1.8c0.1-0.1,0.3-0.2,0.4-0.3c0,0,0,0,0.1,0
c0.1,0,0.3,0,0.4,0.1c0.3,0.2,0.7,0.5,1,0.8c0.2,0.2,0.4,0.2,0.7,0c0.3-0.3,0.6-0.6,0.9-1c0.5-0.5,1-1.1,1.5-1.6
c0.8-0.9,1.2-1.9,1.2-2.9c0-0.4,0-0.8-0.1-1.2c-0.1-1-0.6-1.5-1.7-1.7c-0.2,0-0.5-0.1-0.8,0c-0.3,0-0.6,0-0.9,0
c-0.8,0-1.5,0.2-2.2,0.8c-0.5,0.4-1,0.9-1.5,1.4c-0.5,0.5-1.1,1-1.7,1.6c-0.1,0.1-0.2,0.3,0,0.4c0.3,0.3,0.6,0.8,1,1.1
c0.1,0.1,0.2,0.2,0.1,0.4C391.3,973,391.2,973.1,391.2,973.2z M392.5,972.9l2.4-2.2c0,0,0.2,0,0.2,0c0,0,0,0.1,0,0.2l-2.1,2.6
c0,0-0.1-0.3-0.1,0.1l0,0c0,0-0.1-0.1-0.1-0.1l-0.3-0.3c0,0,0-0.1,0-0.1C392.4,973,392.5,972.9,392.5,972.9z"/>
<path fill="#FFFFFF" d="M386,946.8c0,0.4,0,0.8,0.3,0.8h5.1v1.3c0,0.3-0.2,0.2,0.1,0.2h2c0.3,0,0.3,0.1,0.3-0.2v-1.3h4.9
c0.4,0,0.5-0.4,0.5-0.8v-2.7H386L386,946.8L386,946.8z"/>
<path fill="#FFFFFF" d="M392.9,954.3v-0.9c0-0.1-0.1-0.3-0.2-0.3s-0.2,0.1-0.2,0.3v0.9c-1.5,0.1-2.5,1.3-2.5,2.6
c0,1.5,1.1,2.7,2.6,2.7c1.5,0,2.7-1.2,2.7-2.7C395.2,955.6,394.4,954.4,392.9,954.3z"/>
<path fill="#FFFFFF" d="M398.2,949.5H387c-0.6,0-1,0.5-1.1,1.1l-1.3,11.6c0,0.3,0,0.8,0.3,1c0.2,0.2,0.5,0.5,0.8,0.5h13.9
c0.3,0,0.6-0.2,0.8-0.5c0.2-0.2,0.3-0.6,0.3-0.9l-1.3-11.7C399.2,950.1,398.7,949.5,398.2,949.5z M392.5,961.5
c-2.6,0-4.6-2.1-4.6-4.6s2.1-4.6,4.6-4.6c2.6,0,4.6,2.1,4.6,4.6S395.1,961.5,392.5,961.5z"/>
<path fill="#FFFFFF" d="M343.9,1015.7v0.2h5.7c0.3,0,0.5-0.4,0.5-0.8s-0.2-0.8-0.5-0.8h-5.7h-0.7H342c-1.5,0-2.8,1-3.1,2.5h-4
v1.5h4c0.4,1.5,1.6,2.9,3.1,2.9h1.2l0,0h6.4c0.3,0,0.5-0.4,0.5-0.8s-0.2-0.8-0.5-0.8h-5.7c-0.2,0-0.3,0-0.3-0.2
c0-0.2,0.1-0.2,0.3-0.2h5.7c0.3,0,0.5-0.2,0.5-0.5c0-0.3-0.2-0.5-0.5-0.5h-5.7l0,0c-0.2,0-0.3-0.3-0.3-0.5
c0-0.2,0.1-0.5,0.3-0.5h5.7c0.3,0,0.5-0.2,0.5-0.5c0-0.3-0.2-0.5-0.5-0.5h-5.5v-0.2c-0.5,0-0.5,0-0.5-0.2
C343.7,1015.8,343.7,1015.7,343.9,1015.7z"/>
<path fill="#FFFFFF" d="M318.8,1019.4h13.9c0.6,0,1.7-0.3,1.7-0.8v-1.7c0-0.5-1.1-0.9-1.7-0.9h-13.9c-0.9,0-1.7,0.8-1.7,1.7
C317.1,1018.6,317.9,1019.4,318.8,1019.4z"/>
<path fill="#FFFFFF" d="M349.5,1024.5c0-0.9-0.8-1.7-1.7-1.7h-14.4c-0.6,0-1,0.3-1.5,0.8v1.7c0.5,0.5,0.8,0.9,1.5,0.9h14.4
C348.7,1026.3,349.5,1025.5,349.5,1024.5z"/>
<path fill="#FFFFFF" d="M331.9,1025.3v-1.5h-2H327h-12.8c0,0-1.3,0.6,0.6,1.4c2.9,1.2,5.2,1.4,7.5,1.7c0.8,0.1,3.4,0.7,5-0.8
c0.6-0.5,1.2-0.9,1.7-0.9H331.9z"/>
<path fill="#FFFFFF" d="M351.2,1010.6l4.2-0.4c0-0.4-0.1-0.9-0.1-1.4c0-1.2-0.1-2.4-0.1-3.6c0-0.9,0-1.8,0-2.7
c0-1,0.1-2.1,0.1-3.1c0-0.8,0.1-1.7,0.2-2.6c0.1-1,0.2-2,0.4-3c0.1-0.8,0.2-1.6,0.3-2.4c0-0.2-0.1-0.4-0.3-0.5
c-0.1,0-0.3,0-0.4,0c-2.1,0-4.3,0-6.3,0c0,0,0,0,0,0c-0.5,0-1,0-1.5,0c-0.3,0-0.3,0-0.3,0.3c0,0.4-0.1,0.8-0.1,1.1
c0,0.8,0,1.6,0,2.4c0,0.8,0,1.6,0.1,2.4c0,0.8,0.1,1.6,0.1,2.4c0,0.8,0.1,1.4,0.1,2.2c0,1,0.1,2,0.2,2.9c0,0.8,0.1,1.6,0.2,2.5
c0.1,0.8,0.1,1.6,0.2,2.5c0,0.4,0.1,0.8,0.1,1.1c0,0.1,0,0.2,0.2,0.2c0.2,0,0.5,0,0.8,0c0.4,0,0.8,0,1.2-0.1
C350.9,1010.7,351,1010.6,351.2,1010.6z M354,992.4c0.3,0,0.6,0.2,0.6,0.5c0,0.3-0.2,0.5-0.5,0.5c-0.3,0-0.5-0.2-0.6-0.6
C353.5,992.6,353.7,992.4,354,992.4z"/>
<path fill="#FFFFFF" d="M354.5,1022.3c-0.2,0.8,0.5,1.7,1.3,1.7c0.7,0,1.3-0.5,1.5-1.2c0.1-0.6,0.1-1.3,0-1.9
c-0.2-1.3-0.5-2.7-0.8-3.9c-0.2-1-0.4-2.1-0.6-3.1c-0.1-0.8-0.3-1.6-0.3-2.4v0l-2.7,0.2c0.1,0.5,0.2,1,0.3,1.5
c0.3,1.6,0.5,3.2,0.9,4.8c0.2,1,0.4,2,0.7,3c0,0.2,0,0.4,0,0.6C354.6,1021.8,354.5,1022,354.5,1022.3z"/>
<path fill="#FFFFFF" d="M308.5,990.1c0.7,0,1.3,0,2-0.1c0,0,0,0,0-0.1c0.3-0.6,0-1.5-0.7-1.7c0-0.6,0.1-1.2,0-1.8
c-0.1-0.8-0.1-1.8-0.5-2.4c-1-1.5-2.6-3.2-3.8-4.5c-0.9-1-1.8-1.1-3.1-1.1c-5.1,0-10.2-0.1-15.4-0.1c-1.6,0-2.3,0.6-2.3,2.2
c0,2.5,0,5-0.1,7.7c-0.5,0-0.7,0.2-0.6,0.7c0,0.2,0,0.4,0,0.6c0,0.3,0.1,0.5,0.5,0.5c0.4,0,0.9,0,1.4,0c0.4,0,0.6-0.1,0.8-0.5
c0.4-1.4,1.6-2.3,3-2.3c1.5,0,2.6,0.8,3,2.3c0.1,0.5,0.4,0.6,0.8,0.6c2.5,0,5,0,7.4,0.1c0.5,0,0.8-0.2,0.9-0.6
c0.4-1.4,1.6-2.2,3-2.2c1.4,0,2.5,0.8,3,2.2C308.1,989.7,308.3,990.1,308.5,990.1z M307.2,983.9L307.2,983.9l-4.8,0.2
c-0.3,0-0.6-0.2-0.6-0.5l0-3.5c0-0.3,0.3-0.6,0.7-0.6l1.5,0c0,0,0.1,0,0.2,0c0.2,0,0.3,0.1,3.5,3.7c0.1,0.1,0.2,0,0.2,0.2
C307.8,983.9,307.5,983.9,307.2,983.9z"/>
<path fill="#FFFFFF" d="M289.9,987.5c-1.5,0-2.8,1.2-2.8,2.8s1.2,2.8,2.8,2.8s2.8-1.2,2.8-2.8
C292.6,988.8,291.4,987.6,289.9,987.5z"/>
<path fill="#FFFFFF" d="M305,987.7c-1.5,0-2.8,1.2-2.8,2.8s1.2,2.8,2.8,2.8s2.8-1.2,2.8-2.8C307.8,989,306.6,987.7,305,987.7z"
/>
<path fill="#FFFFFF" d="M391.2,993.8c0-0.4-1.2-0.9-5.2-0.3c0,0,1-0.8,1.4-1c0.4-0.1,2.2-1.2,1.8-2.6c-0.3-1.4-0.8-0.5-1.5,0.5
c-0.6,1.1-1.4,2.1-2.5,2.7c0,0-0.3-2.2-1.6-2.2c-0.4,0-2.1,0-3.9,0.2l-0.3,0c-0.2,0-0.5,0-0.7,0.1c0,0-0.1,0-0.1,0.1v2.3
c0,0.2,0,0.3-0.2,0.3c-0.2,0-0.2-0.1-0.2-0.3v-2.3l0,0c-0.5,0-0.6,0.1-0.9,0.1c0,0-3.6,0.5-6,1.3h0c0,0-0.1,0-0.1,0
c-0.1,0-0.3,0.1-0.4,0.1c-0.1,0-0.2,0-0.3,0.1c0,0,0,0-0.1,0c0,0-0.1,0-0.1,0l0,0c-0.4,0.2-0.8,0.3-1.2,0.5c0,0-0.4,0.2-0.1,0.8
c0.1,0.3,2.2,1.2,6.1,1.8v-1.8c0-0.2,0-0.3,0.2-0.3c0.2,0,0.2,0.1,0.2,0.3v1.9c0.5,0,0.6,0,0.9,0.1l0.4,0
c1.3,0.1,2.6,0.2,5.1,0.3v-1.5c0-0.2,0-0.3,0.2-0.3c0.2,0,0.2,0.1,0.2,0.3v1.5h0.4c0.5,0,0.8,0,1.3,0c0,0,1.3,0.1,1.4-2.3
c0,0,2.2-0.4,2.1,2.2c-0.1,1.9,1.5,1.9,1.5,0.6c0-1.3-0.3-2.8-2.8-3.3c0,0,2,0.2,3.6,0.5C391,994.8,391.2,994.3,391.2,993.8z"/>
</g>
<g>
<polygon fill="#FFFFFF" points="610.4,990.8 610,990.8 596.3,973.1 592.1,973.1 592.1,999.7 598,999.7 598,982 597.7,982
611.5,999.7 615.2,999.7 615.2,974.1 610.4,974.1 "/>
<polygon fill="#FFFFFF" points="624.6,999.7 637.4,999.7 637.4,994.8 629,994.8 629,988.4 637.4,988.4 637.4,983.9 629,983.9
629,977.5 637.4,977.5 637.4,974.1 624.6,974.1 "/>
<polygon fill="#FFFFFF" points="644.3,977.5 649.7,977.5 649.7,999.7 654.1,999.7 654.1,977.5 660.5,977.5 660.5,974.1
644.3,974.1 "/>
<polygon fill="#FFFFFF" points="688.9,991.8 688.9,991.8 683.4,973.1 680.4,973.1 675.2,991.8 675.2,991.8 669.9,974.1
664.5,974.1 672.9,999.7 676.6,999.7 681.5,983.9 681.6,983.9 686.8,999.7 690.5,999.7 699.4,974.1 694,974.1 "/>
<path fill="#FFFFFF" d="M717.6,972.9c-7.8,0-12.9,5.9-12.9,13.7c0,7.7,5,13.8,12.9,13.8c8,0,12.9-6.1,12.9-13.8
C730.5,978.9,725.3,972.9,717.6,972.9z M717.6,995.4c-5.6,0-7.6-5-7.6-9c0-4.2,2.8-8.4,7.6-8.4c4.8,0,7.6,4.3,7.6,8.4
C725.2,990.4,723.2,995.4,717.6,995.4z"/>
<path fill="#FFFFFF" d="M753.8,981.7c0-5.6-3.6-7.6-8.7-7.6h-7.3v25.6h5.9v-10.3h-0.3l6.4,10.3h6.2l-7.4-10.9
C752,988.2,753.8,985,753.8,981.7z M743.9,985.9h-0.2v-8.4h0.3c2.7,0,4.7,0.9,4.7,4.1C748.7,984.8,746.7,985.9,743.9,985.9z"/>
<polygon fill="#FFFFFF" points="782.2,974.1 775.9,974.1 767.8,984.4 767.7,984.4 767.7,974.1 762.3,974.1 762.3,999.7
767.7,999.7 767.7,987.4 767.8,987.4 776.2,999.7 782.7,999.7 772.3,985.9 "/>
<path fill="#FFFFFF" d="M448.7,915.8c-12.8,0-21.2,9.7-21.2,22.4c0,12.6,8.1,22.6,21.2,22.6c13.1,0,21.2-10,21.2-22.6
C469.8,925.6,461.4,915.8,448.7,915.8z M448.7,952.6c-9.2,0-12.5-8.1-12.5-14.7c0-6.9,4.7-13.9,12.5-13.9s12.5,7,12.5,13.9
C461.2,944.5,457.9,952.6,448.7,952.6z"/>
<path fill="#FFFFFF" d="M490.9,917.5h-11.4v42.3h7.9v-16.2h4.7c8.8,0,13.7-4.1,13.7-13.1C505.7,920.8,499.8,917.5,490.9,917.5z
M489.6,937.2h-2.2v-13.3h2c4.7,0,7.8,1,7.8,6.5C497.2,936,494.5,937.2,489.6,937.2z"/>
<polygon fill="#FFFFFF" points="515.4,959.8 537.5,959.8 537.5,952.5 523.7,952.5 523.7,941.2 536.6,941.2 536.6,933.8
523.7,933.8 523.7,923.9 537.5,923.9 537.5,917.5 515.4,917.5 "/>
<polygon fill="#FFFFFF" points="576.9,946.1 577,946.1 554.5,915.6 548.4,915.6 548.4,959.8 557.2,959.8 557.2,930.3 557,930.3
579.5,960.8 585.7,960.8 585.7,917.5 576.9,917.5 "/>
<polygon fill="#FFFFFF" points="619.2,959.8 627.6,959.8 627.6,941.2 639.9,941.2 639.9,933.8 627.6,933.8 627.6,923.9
640.9,923.9 640.9,917.5 619.2,917.5 "/>
<path fill="#FFFFFF" d="M670.3,960.8c13,0,21.2-10,21.2-22.6c0-12.7-8.4-22.4-21.2-22.4c-12.8,0-21.2,9.7-21.2,22.4
C649.2,950.8,657.3,960.8,670.3,960.8z M670.3,924c7.9,0,12.5,7,12.5,13.9c0,6.6-3.3,14.7-12.5,14.7c-9.2,0-12.5-8.1-12.5-14.7
C657.8,931,662.4,924,670.3,924z"/>
<path fill="#FFFFFF" d="M720.3,915.8c-12.8,0-21.2,9.7-21.2,22.4c0,12.6,8.1,22.6,21.2,22.6s21.2-10,21.2-22.6
C741.5,925.6,733.1,915.8,720.3,915.8z M720.3,952.6c-9.2,0-12.5-8.1-12.5-14.7c0-6.9,4.7-13.9,12.5-13.9
c7.9,0,12.5,7,12.5,13.9C732.9,944.5,729.6,952.6,720.3,952.6z"/>
<path fill="#FFFFFF" d="M783.8,938.7c0-12.2-8.3-21.2-20.7-21.2H752v42.3h11.1C775.3,959.8,783.8,950.7,783.8,938.7z
M759.9,952.5v-28.6h1.1c9.4,0,14.2,5,14.2,14.3c0,8.4-4,14.3-14.2,14.3L759.9,952.5L759.9,952.5z"/>
</g>
</g>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 603 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-90.7 -365.5 922 763.1" enable-background="new -90.7 -365.5 922 763.1"><g opacity=".06" fill="#0B8C61"><path d="M774.6 9.5c-31.4 0-56.8 63.7-56.8 142.3 0 78.6 25.4 142.3 56.8 142.3 31.3 0 56.8-63.7 56.8-142.3-.1-78.6-25.5-142.3-56.8-142.3zm1.4 228.7c-19.2 0-34.8-37.5-34.8-83.9s15.6-83.9 34.8-83.9c19.2 0 34.8 37.5 34.8 83.9s-15.6 83.9-34.8 83.9zM710.3 153c0-86.4 27.9-156.5 62.4-156.5 5 0 9.9 1.5 14.6 4.3-25-20.8-83.7-10.8-110.9-6-5.1 7.7-8.5 14.5-10.1 18.2-9.3 21.5-16.8 52.5-16.8 52.5l-28.3-.7L649 197.6h-42.7c6.1 61.8 25.8 102.7 60.4 111.9 0 0 72.9 11.8 109-.2-1 .1-2 .2-3 .2-34.5 0-62.4-70-62.4-156.5zM137.6 196.4c0-111 81.2-201.1 181.4-201.1 4.3 0 8.6.2 12.8.6-13-2.6-26.5-3.9-40.3-3.9C178.3-8.1 86.6 82.7 86.6 194.7c0 112 91.7 202.8 204.9 202.8 4.9 0 9.7-.2 14.5-.6-94.1-7.3-168.4-94.2-168.4-200.5zM275-14.7c105.4-5 160.7 41.5 190.4 81.2l7.2-5.5 10.6-12 67.7 18.6 23.9 124.8h65L611.9 59.6l28.3.7s7.5-30.9 16.9-52.5c4.7-10.9 25.2-49.1 58.4-55.7 33.2-6.6 62.7 36.3 62.7 36.3l-16.3-45.6-61.1-22.6-18.6-100.9 27.9-17.3-2.7-27.9-154-55.8-196.5 46.5v23.9l31.9 8-21.2 61.1s-56.5-7.6-112.2-2.4c-65 6.1-130.5 25.1-130.5 25.1l-17.6 34.4-11.9 158 7.1 1.3L115-67.4l168.1-15.9-8.1 68.6zM141.3-88.3c-8.4 1.3-16.2-3.1-17.2-9.8-1.1-6.8 4.9-13.3 13.4-14.6 8.4-1.3 16.2 3.1 17.2 9.8 1 6.8-5 13.3-13.4 14.6zm99.8-6.8c-11.2 1.8-21.5-4.1-22.9-13.1-1.4-9 6.6-17.7 17.8-19.5 11.2-1.8 21.5 4.1 22.9 13.1 1.4 9.1-6.6 17.8-17.8 19.5zm280.4-14.1h-47.7L381-134.3l18.4-60.2 136.3-24.3-14.2 109.6zM585.9 63l-42.7-1.7 16.7-280.2 72.8 22.6 13.4 117.9L585.9 63zm70.6-142.3l-14.6-114.4 34.3 18.4 16.7 104.7-36.4-8.7zM334.6-152.2v-82.1h-16.3v-37c0-20.4-16.6-37-37-37v15.1c12.1 0 21.9 9.8 22 21.9v37h-15.1v80.4c17.6 0 33.8.8 46.4 1.7zM-70.4 172c0-80 68.3-144.8 152.5-144.8 2.8 0 5.6.1 8.3.2l1-12.7c-5-.4-10-.7-15.1-.7-92.2 0-167 70.6-167 157.7s74.8 157.7 167 157.7c15.7 0 30.9-2.1 45.3-5.9-2.4-3.3-4.7-6.7-7-10.2-10.5 2.2-21.4 3.3-32.5 3.3-84.2.1-152.5-64.7-152.5-144.6zM9.1 168.6c0-43.8 38.7-79.3 86.4-79.3 5.1 0 10 .4 14.8 1.2.5-1 1-2.1 1.6-3.1l-26.1-4.9 3.4-44c-2.6-.1-5.1-.2-7.7-.2-78.5 0-142 60.2-142 134.5s63.6 134.5 142 134.5c10.4 0 20.5-1.1 30.3-3.1-11.2-17.3-19.8-36.3-25.2-56.7-43.5-4.1-77.5-37.9-77.5-78.9zM273-58L117.9-45.8l1.2-16.4L275-75zM271.4-33.6L116.3-21.3l1.3-16.4 155.8-12.8zM270.9-28.2L115-15.5 113.7.9l119.6-9.4c11.6-3.3 23.7-5.6 36-6.7l1.6-13zM113.5 9l-1.3 16.4 59.3-4.7c10.7-7.5 22.2-13.9 34.3-19.3L113.5 9zM158 31l-45.8 3.7-1.2 16.4 28-2.2c5.9-6.4 12.2-12.4 19-17.9zM110 57.3l-1.3 16.4 10.9-.9c4.2-6.1 8.7-11.9 13.5-17.4L110 57.3z"/><circle cx="320.1" cy="201.7" r="47"/><ellipse cx="767.3" cy="151.5" rx="10.7" ry="30.5"/><circle cx="370.6" cy="163.4" r="6.6"/><circle cx="302" cy="144.4" r="6.6"/><circle cx="259.4" cy="200.7" r="6.6"/><circle cx="298.6" cy="263.1" r="6.6"/><circle cx="369.6" cy="240" r="6.6"/><path d="M285.3-355.5c-21.7 0-39.3 17.6-39.3 39.3 0 6.6 1.6 12.8 4.5 18.2-5.1-4.9-8.8-11.2-10.7-18.3-1.3 1.4-2.5 2.9-3.6 4.5-12.1 18-7.4 42.4 10.6 54.6 5.5 3.7 11.5 5.8 17.6 6.5-10.1 2.1-20.9.4-30.2-5.8-18-12.1-22.8-36.6-10.6-54.6 3.9-5.8 9.1-10.1 14.9-13 0-.7-.1-1.4-.1-2.1 0-8.7 2.9-16.8 7.7-23.3-2-.4-4.1-.7-6.3-.7-16.9 0-30.7 13.7-30.7 30.7 0 5.1 1.3 10 3.5 14.2-5.8-5.6-9.4-13.4-9.4-22 0-16.9 13.7-30.7 30.7-30.7 5.8 0 11.1 1.6 15.7 4.4 7.1-7.3 17.1-11.8 28.1-11.8 15.1 0 28.2 8.6 34.8 21.1-7-7-16.6-11.2-27.2-11.2zM433.1 347.4c45.5-36.1 74.6-90.8 74.6-152 0-95.6-70.7-175.3-164.6-193.3-4.2-.3-8.5-.5-12.8-.5C230 1.6 148.8 89.1 148.8 197c0 103.3 74.3 187.8 168.5 194.9 19.1-1.3 37.4-5.1 54.6-11.1l61.2-33.4zM329 311.9c-56.5 0-102.3-48.1-102.3-107.4C226.7 145.1 272.5 97 329 97s102.3 48.1 102.3 107.4c0 59.4-45.8 107.5-102.3 107.5z"/></g></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@@ -0,0 +1 @@
angular.module("admin.accounts_and_billing_settings", ["admin.utils"])

View File

@@ -0,0 +1,14 @@
angular.module("admin.accounts_and_billing_settings").directive "methodSettingsFor", ->
template: "<div ng-include='include_html'></div>"
restrict: 'A'
scope: {
enterprise_id: '=methodSettingsFor'
}
link: (scope, element, attrs) ->
scope.include_html = ""
scope.$watch "enterprise_id", (newVal, oldVal)->
if !newVal? || newVal == ""
scope.include_html = ""
else
scope.include_html = "/admin/accounts_and_billing_settings/show_methods?enterprise_id=#{newVal};"

View File

@@ -1,3 +1,3 @@
angular.module("ofn.admin", ["ngResource", "ngAnimate", "ofn.dropdown", "admin.products", "admin.taxons", "infinite-scroll"]).config ($httpProvider) ->
angular.module("ofn.admin", ["ngResource", "ngAnimate", "admin.utils", "admin.indexUtils", "admin.dropdown", "admin.products", "admin.taxons", "infinite-scroll"]).config ($httpProvider) ->
$httpProvider.defaults.headers.common["X-CSRF-Token"] = $("meta[name=csrf-token]").attr("content")
$httpProvider.defaults.headers.common["Accept"] = "application/json, text/javascript, */*"

View File

@@ -12,14 +12,26 @@
//= require angular
//= require angular-resource
//= require angular-animate
//= require angular-sanitize
//= require admin/spree_core
//= require admin/spree_auth
//= require admin/spree_promo
//= require admin/spree_paypal_express
//= require ../shared/ng-infinite-scroll.min.js
//= require ../shared/ng-tags-input.min.js
//= require angular-rails-templates
//= require_tree ../templates/admin
//= require ./admin
//= require ./accounts_and_billing_settings/accounts_and_billing_settings
//= require ./business_model_configuration/business_model_configuration
//= require ./customers/customers
//= require ./dropdown/dropdown
//= require ./enterprises/enterprises
//= require ./enterprise_groups/enterprise_groups
//= require ./index_utils/index_utils
//= require ./line_items/line_items
//= require ./orders/orders
//= require ./order_cycles/order_cycles
//= require ./payment_methods/payment_methods
//= require ./products/products
//= require ./shipping_methods/shipping_methods
@@ -29,5 +41,6 @@
//= require ./users/users
//= require textAngular.min.js
//= require textAngular-sanitize.min.js
//= require ../shared/bindonce.min.js
//= require_tree .

View File

@@ -1,6 +1,6 @@
angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
"$scope", "$http", "dataFetcher", "blankOption", "pendingChanges", "VariantUnitManager", "OptionValueNamer", "SpreeApiKey"
($scope, $http, dataFetcher, blankOption, pendingChanges, VariantUnitManager, OptionValueNamer, SpreeApiKey) ->
"$scope", "$http", "$filter", "dataFetcher", "blankOption", "pendingChanges", "VariantUnitManager", "OptionValueNamer", "SpreeApiKey", "Columns"
($scope, $http, $filter, dataFetcher, blankOption, pendingChanges, VariantUnitManager, OptionValueNamer, SpreeApiKey, Columns) ->
$scope.loading = true
$scope.initialiseVariables = ->
@@ -11,16 +11,13 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
$scope.confirmDelete = true
$scope.startDate = formatDate start
$scope.endDate = formatDate end
$scope.pendingChanges = pendingChanges
$scope.quickSearch = ""
$scope.bulkActions = [ { name: "Delete Selected", callback: $scope.deleteLineItems } ]
$scope.selectedBulkAction = $scope.bulkActions[0]
$scope.selectedUnitsProduct = {};
$scope.selectedUnitsVariant = {};
$scope.sharedResource = false
$scope.predicate = ""
$scope.reverse = false
$scope.columns =
$scope.columns = Columns.setColumns
order_no: { name: "Order No.", visible: false }
full_name: { name: "Name", visible: true }
email: { name: "Email", visible: false }
@@ -32,7 +29,8 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
variant: { name: "Variant", visible: true }
quantity: { name: "Quantity", visible: true }
max: { name: "Max", visible: true }
final_weight_volume: { name: "Weight/Volume", visible: false }
price: { name: "Price", visible: false }
$scope.initialise = ->
$scope.initialiseVariables()
authorise_api_reponse = ""
@@ -42,13 +40,15 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
if $scope.spree_api_key_ok
$http.defaults.headers.common["X-Spree-Token"] = SpreeApiKey
dataFetcher("/api/enterprises/accessible?template=bulk_index&q[is_primary_producer_eq]=true").then (data) ->
$scope.suppliers = data
$scope.suppliers = $filter('orderBy')(data, 'name')
$scope.suppliers.unshift blankOption()
dataFetcher("/api/enterprises/accessible?template=bulk_index&q[is_distributor_eq]=true").then (data) ->
$scope.distributors = data
dataFetcher("/api/enterprises/accessible?template=bulk_index&q[sells_in][]=own&q[sells_in][]=any").then (data) ->
$scope.distributors = $filter('orderBy')(data, 'name')
$scope.distributors.unshift blankOption()
ocFetcher = dataFetcher("/api/order_cycles/accessible").then (data) ->
ocFetcher = dataFetcher("/api/order_cycles/accessible?as=distributor&q[orders_close_at_gt]=#{formatDate(daysFromToday(-90))}").then (data) ->
$scope.orderCycles = data
$scope.orderCyclesByID = []
$scope.orderCyclesByID[oc.id] = oc for oc in $scope.orderCycles
$scope.orderCycles.unshift blankOption()
$scope.fetchOrders()
ocFetcher.then ->
@@ -60,7 +60,7 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
$scope.fetchOrders = ->
$scope.loading = true
dataFetcher("/api/orders/managed?template=bulk_index;page=1;per_page=500;q[completed_at_not_null]=true;q[completed_at_gt]=#{$scope.startDate};q[completed_at_lt]=#{$scope.endDate}").then (data) ->
dataFetcher("/admin/orders/managed?template=bulk_index;page=1;per_page=500;q[state_not_eq]=canceled;q[completed_at_not_null]=true;q[completed_at_gt]=#{$scope.startDate};q[completed_at_lt]=#{$scope.endDate}").then (data) ->
$scope.resetOrders data
$scope.loading = false
@@ -76,6 +76,10 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
line_item.checked = false
line_item.supplier = $scope.matchObject $scope.suppliers, line_item.supplier, null
line_item.order = orderWithoutLineItems
line_item.original_final_weight_volume = line_item.final_weight_volume
line_item.original_quantity = line_item.quantity
line_item.original_price = line_item.price
lineItems.concat order.line_items
, []
@@ -106,6 +110,12 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
$scope.deleteLineItem lineItem for lineItem in lineItems when lineItem.checked
$scope.confirmDelete = existingState
$scope.submit = ->
if $scope.bulk_order_form.$valid
pendingChanges.submitAll()
else
alert "Some errors must be resolved be before you can update orders.\nAny fields with red borders contain errors."
$scope.allBoxesChecked = ->
checkedCount = $scope.filteredLineItems.reduce (count,lineItem) ->
count + (if lineItem.checked then 1 else 0 )
@@ -122,17 +132,17 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
$scope.sumUnitValues = ->
sum = $scope.filteredLineItems.reduce (sum,lineItem) ->
sum = sum + lineItem.quantity * lineItem.units_variant.unit_value
sum = sum + lineItem.final_weight_volume
, 0
$scope.sumMaxUnitValues = ->
sum = $scope.filteredLineItems.reduce (sum,lineItem) ->
sum = sum + Math.max(lineItem.max_quantity,lineItem.quantity) * lineItem.units_variant.unit_value
sum = sum + Math.max(lineItem.max_quantity,lineItem.original_quantity) * lineItem.units_variant.unit_value
, 0
$scope.allUnitValuesPresent = ->
$scope.allFinalWeightVolumesPresent = ->
for i,lineItem of $scope.filteredLineItems
return false if !lineItem.units_variant.hasOwnProperty('unit_value') || !(lineItem.units_variant.unit_value > 0)
return false if !lineItem.hasOwnProperty('final_weight_volume') || !(lineItem.final_weight_volume > 0)
true
# How is this different to OptionValueNamer#name?
@@ -162,6 +172,28 @@ angular.module("ofn.admin").controller "AdminOrderMgmtCtrl", [
$scope.supplierFilter = $scope.suppliers[0].id
$scope.orderCycleFilter = $scope.orderCycles[0].id
$scope.quickSearch = ""
$scope.weightAdjustedPrice = (lineItem) ->
if lineItem.final_weight_volume > 0
unit_value = lineItem.final_weight_volume / lineItem.quantity
original_unit_value = lineItem.original_final_weight_volume / lineItem.original_quantity
lineItem.price = lineItem.original_price * (unit_value / original_unit_value)
$scope.unitValueLessThanZero = (lineItem) ->
if lineItem.units_variant.unit_value <= 0
true
else
false
$scope.updateOnQuantity = (lineItem) ->
if lineItem.quantity > 0
lineItem.final_weight_volume = lineItem.original_final_weight_volume * lineItem.quantity / lineItem.original_quantity
$scope.weightAdjustedPrice(lineItem)
$scope.$watch "orderCycleFilter", (newVal, oldVal) ->
unless $scope.orderCycleFilter == "0" || angular.equals(newVal, oldVal)
$scope.startDate = $scope.orderCyclesByID[$scope.orderCycleFilter].first_order
$scope.endDate = $scope.orderCyclesByID[$scope.orderCycleFilter].last_order
]
daysFromToday = (days) ->

View File

@@ -1,16 +1,20 @@
angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $http, BulkProducts, DisplayProperties, dataFetcher, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, SpreeApiAuth) ->
angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout, $http, BulkProducts, DisplayProperties, dataFetcher, DirtyProducts, VariantUnitManager, StatusMessage, producers, Taxons, SpreeApiAuth, Columns, tax_categories) ->
$scope.loading = true
$scope.StatusMessage = StatusMessage
$scope.columns =
producer: {name: "Producer", visible: true}
name: {name: "Name", visible: true}
unit: {name: "Unit", visible: true}
price: {name: "Price", visible: true}
on_hand: {name: "On Hand", visible: true}
category: {name: "Category", visible: false}
available_on: {name: "Available On", visible: false}
$scope.columns = Columns.setColumns
producer: {name: "Producer", visible: true}
sku: {name: "SKU", visible: false}
name: {name: "Name", visible: true}
unit: {name: "Unit", visible: true}
price: {name: "Price", visible: true}
on_hand: {name: "On Hand", visible: true}
on_demand: {name: "On Demand", visible: false}
category: {name: "Category", visible: false}
tax_category: {name: "Tax Category", visible: false}
inherits_properties: {name: "Inherits Properties?", visible: false}
available_on: {name: "Available On", visible: false}
$scope.variant_unit_options = VariantUnitManager.variantUnitOptions()
@@ -30,6 +34,7 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$scope.producers = producers
$scope.taxons = Taxons.taxons
$scope.tax_categories = tax_categories
$scope.filterProducers = [{id: "0", name: ""}].concat $scope.producers
$scope.filterTaxons = [{id: "0", name: ""}].concat $scope.taxons
$scope.producerFilter = "0"
@@ -104,6 +109,12 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
window.location = "/admin/products/" + product.permalink_live + ((if variant then "/variants/" + variant.id else "")) + "/edit"
$scope.toggleShowAllVariants = ->
showVariants = !DisplayProperties.showVariants 0
$scope.filteredProducts.forEach (product) ->
DisplayProperties.setShowVariants product.id, showVariants
DisplayProperties.setShowVariants 0, showVariants
$scope.addVariant = (product) ->
product.variants.push
id: $scope.nextVariantId()
@@ -135,15 +146,18 @@ angular.module("ofn.admin").controller "AdminProductEditCtrl", ($scope, $timeout
$scope.deleteVariant = (product, variant) ->
if !$scope.variantSaved(variant)
$scope.removeVariant(product, variant)
if product.variants.length > 1
if !$scope.variantSaved(variant)
$scope.removeVariant(product, variant)
else
if confirm("Are you sure?")
$http(
method: "DELETE"
url: "/api/products/" + product.permalink_live + "/variants/" + variant.id + "/soft_delete"
).success (data) ->
$scope.removeVariant(product, variant)
else
if confirm("Are you sure?")
$http(
method: "DELETE"
url: "/api/products/" + product.permalink_live + "/variants/" + variant.id + "/soft_delete"
).success (data) ->
$scope.removeVariant(product, variant)
alert("The last variant cannot be deleted!")
$scope.removeVariant = (product, variant) ->
product.variants.splice product.variants.indexOf(variant), 1
@@ -285,6 +299,9 @@ filterSubmitProducts = (productsToFilter) ->
filteredMaster ?= { id: product.master.id }
filteredMaster.display_as = product.master.display_as
if product.hasOwnProperty("sku")
filteredProduct.sku = product.sku
hasUpdatableProperty = true
if product.hasOwnProperty("name")
filteredProduct.name = product.name
hasUpdatableProperty = true
@@ -304,9 +321,18 @@ filterSubmitProducts = (productsToFilter) ->
if product.hasOwnProperty("on_hand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_hand = product.on_hand
hasUpdatableProperty = true
if product.hasOwnProperty("on_demand") and filteredVariants.length == 0 #only update if no variants present
filteredProduct.on_demand = product.on_demand
hasUpdatableProperty = true
if product.hasOwnProperty("category_id")
filteredProduct.primary_taxon_id = product.category_id
hasUpdatableProperty = true
if product.hasOwnProperty("tax_category_id")
filteredProduct.tax_category_id = product.tax_category_id
hasUpdatableProperty = true
if product.hasOwnProperty("inherits_properties")
filteredProduct.inherits_properties = product.inherits_properties
hasUpdatableProperty = true
if product.hasOwnProperty("available_on")
filteredProduct.available_on = product.available_on
hasUpdatableProperty = true
@@ -329,6 +355,9 @@ filterSubmitVariant = (variant) ->
if variant.hasOwnProperty("on_hand")
filteredVariant.on_hand = variant.on_hand
hasUpdatableProperty = true
if variant.hasOwnProperty("on_demand")
filteredVariant.on_demand = variant.on_demand
hasUpdatableProperty = true
if variant.hasOwnProperty("price")
filteredVariant.price = variant.price
hasUpdatableProperty = true

View File

@@ -0,0 +1 @@
angular.module("admin.businessModelConfiguration", ["admin.utils"])

View File

@@ -0,0 +1,21 @@
angular.module("admin.businessModelConfiguration").controller "BusinessModelConfigCtrl", ($scope, $filter) ->
$scope.turnover = 1000
$scope.bill = ->
return $filter('currency')(0) unless $scope.fixed || $scope.rate
Number($scope.fixed) + Number($scope.turnover) * Number($scope.rate)
$scope.cappedBill = ->
return $scope.bill() if !$scope.cap? || Number($scope.cap) == 0
Math.min($scope.bill(), Number($scope.cap))
$scope.capReached = ->
return "No" if !$scope.cap? || Number($scope.cap) == 0
if $scope.bill() >= Number($scope.cap) then "Yes" else "No"
$scope.includedTax = ->
return 0 if !$scope.taxRate? || Number($scope.taxRate) == 0
($scope.cappedBill() * Number($scope.taxRate))
$scope.total = ->
$scope.cappedBill() + $scope.includedTax()

View File

@@ -9,3 +9,26 @@ angular.module("ofn.admin").controller "AdminEnterpriseRelationshipsCtrl", ($sco
$scope.delete = (enterprise_relationship) ->
if confirm("Are you sure?")
$scope.EnterpriseRelationships.delete enterprise_relationship
$scope.toggleKeyword = (string, key) ->
string = '' unless string
words = string.split ' '
words = words.filter (s) ->
s
index = words.indexOf key
if index > -1
words.splice index, 1
else
words.push key
words.join ' '
$scope.allPermissionsChecked = ->
for i in EnterpriseRelationships.all_permissions
if !$scope.permissions[i]
return false
return true
$scope.checkAllPermissions = ->
newValue = !$scope.allPermissionsChecked()
EnterpriseRelationships.all_permissions.forEach (p) ->
$scope.permissions[p] = newValue

View File

@@ -0,0 +1,17 @@
angular.module("admin.customers").controller "customersCtrl", ($scope, Customers, Columns, pendingChanges, shops) ->
$scope.shop = null
$scope.shops = shops
$scope.submitAll = pendingChanges.submitAll
$scope.columns = Columns.setColumns
email: { name: "Email", visible: true }
code: { name: "Code", visible: true }
tags: { name: "Tags", visible: true }
$scope.$watch "shop", ->
if $scope.shop?
Customers.loaded = false
$scope.customers = Customers.index(enterprise_id: $scope.shop.id)
$scope.loaded = ->
Customers.loaded

View File

@@ -0,0 +1 @@
angular.module("admin.customers", ['ngResource', 'ngTagsInput', 'admin.indexUtils', 'admin.dropdown'])

View File

@@ -0,0 +1,8 @@
angular.module("admin.customers").directive "tagsWithTranslation", ->
restrict: "E"
template: "<tags-input ng-model='object.tags'>"
scope:
object: "="
link: (scope, element, attrs) ->
scope.$watchCollection "object.tags", ->
scope.object.tag_list = (tag.text for tag in scope.object.tags).join(",")

View File

@@ -0,0 +1,8 @@
angular.module("admin.customers").factory 'CustomerResource', ($resource) ->
$resource('/admin/customers.json', {}, {
'index':
method: 'GET'
isArray: true
params:
enterprise_id: '@enterprise_id'
})

View File

@@ -0,0 +1,16 @@
angular.module("admin.customers").factory 'Customers', (CustomerResource) ->
new class Customers
customers: []
customers_by_id: {}
loaded: false
index: (params={}, callback=null) ->
CustomerResource.index params, (data) =>
for customer in data
@customers.push customer
@customers_by_id[customer.id] = customer
@loaded = true
(callback || angular.noop)(@customers)
@customers

View File

@@ -1,7 +0,0 @@
angular.module("ofn.admin").directive "ofnConfirmLinkPath", (ofnConfirmHandler) ->
restrict: "A"
scope:
path: "@ofnConfirmLinkPath"
link: (scope, element, attrs) ->
element.click ofnConfirmHandler scope, ->
window.location = scope.path

View File

@@ -1,6 +0,0 @@
angular.module("ofn.admin").directive "ofnConfirmModelChange", (ofnConfirmHandler,$timeout) ->
restrict: "A"
link: (scope, element, attrs) ->
handler = ofnConfirmHandler scope, -> scope.fetchOrders()
scope.$watch attrs.ngModel, (oldValue,newValue) ->
handler() unless oldValue == undefined || newValue == oldValue

View File

@@ -1,23 +0,0 @@
angular.module("ofn.admin").directive "ofnLineItemUpdAttr", [
"switchClass", "pendingChanges"
(switchClass, pendingChanges) ->
require: "ngModel"
link: (scope, element, attrs, ngModel) ->
attrName = attrs.ofnLineItemUpdAttr
element.dbValue = scope.$eval(attrs.ngModel)
scope.$watch ->
scope.$eval(attrs.ngModel)
, (value) ->
if ngModel.$dirty
if value == element.dbValue
pendingChanges.remove(scope.line_item.id, attrName)
switchClass( element, "", ["update-pending", "update-error", "update-success"], false )
else
changeObj =
lineItem: scope.line_item
element: element
attrName: attrName
url: "/api/orders/#{scope.line_item.order.number}/line_items/#{scope.line_item.id}?line_item[#{attrName}]=#{value}"
pendingChanges.add(scope.line_item.id, attrName, changeObj)
switchClass( element, "update-pending", ["update-error", "update-success"], false )
]

View File

@@ -1,11 +0,0 @@
angular.module("ofn.admin").directive "ofnToggleColumn", ->
link: (scope, element, attrs) ->
element.addClass "selected" if scope.column.visible
element.click "click", ->
scope.$apply ->
if scope.column.visible
scope.column.visible = false
element.removeClass "selected"
else
scope.column.visible = true
element.addClass "selected"

View File

@@ -1,10 +1,8 @@
angular.module("ofn.admin").directive "ofnToggleVariants", (DisplayProperties) ->
link: (scope, element, attrs) ->
if DisplayProperties.showVariants scope.product.id
element.removeClass "icon-chevron-right"
element.addClass "icon-chevron-down"
else
element.removeClass "icon-chevron-down"
element.addClass "icon-chevron-right"
element.on "click", ->
@@ -16,4 +14,4 @@ angular.module("ofn.admin").directive "ofnToggleVariants", (DisplayProperties) -
else
DisplayProperties.setShowVariants scope.product.id, true
element.removeClass "icon-chevron-right"
element.addClass "icon-chevron-down"
element.addClass "icon-chevron-down"

View File

@@ -0,0 +1,2 @@
angular.module("admin.dropdown").controller "DropDownCtrl", ($scope) ->
$scope.expanded = false

View File

@@ -0,0 +1,5 @@
angular.module("admin.dropdown").directive "ofnCloseOnClick", ($document) ->
link: (scope, element, attrs) ->
element.click (event) ->
event.stopPropagation()
scope.$emit "offClick"

View File

@@ -1,6 +1,4 @@
dropDownModule = angular.module("ofn.dropdown", [])
dropDownModule.directive "ofnDropDown", ($document) ->
angular.module("admin.dropdown").directive "ofnDropDown", ($document) ->
link: (scope, element, attrs) ->
outsideClickListener = (event) ->
unless $(event.target).is("div.ofn_drop_down##{attrs.id} div.menu") ||
@@ -20,12 +18,3 @@ dropDownModule.directive "ofnDropDown", ($document) ->
scope.$apply ->
scope.expanded = true
element.addClass "expanded"
dropDownModule.directive "ofnCloseOnClick", ($document) ->
link: (scope, element, attrs) ->
element.click (event) ->
event.stopPropagation()
scope.$emit "offClick"
dropDownModule.controller "DropDownCtrl", ($scope) ->
$scope.expanded = false

View File

@@ -0,0 +1,5 @@
angular.module("admin.dropdown").directive "linksDropdown", ($window)->
restrict: "C"
scope:
links: "="
templateUrl: "admin/links_dropdown.html"

View File

@@ -0,0 +1 @@
angular.module("admin.dropdown", ['templates'])

View File

@@ -1 +1 @@
angular.module("admin.enterprise_groups", ["admin.side_menu", "admin.users"])
angular.module("admin.enterprise_groups", ["admin.side_menu", "admin.users", "textAngular"])

View File

@@ -1,6 +1,6 @@
angular.module("admin.enterprises")
.controller "enterpriseCtrl", ($scope, NavigationCheck, Enterprise, EnterprisePaymentMethods, EnterpriseShippingMethods, SideMenu) ->
$scope.Enterprise = Enterprise.enterprise
.controller "enterpriseCtrl", ($scope, NavigationCheck, enterprise, EnterprisePaymentMethods, EnterpriseShippingMethods, SideMenu) ->
$scope.Enterprise = enterprise
$scope.PaymentMethods = EnterprisePaymentMethods.paymentMethods
$scope.ShippingMethods = EnterpriseShippingMethods.shippingMethods
$scope.navClear = NavigationCheck.clear

View File

@@ -0,0 +1,49 @@
angular.module("admin.enterprises").controller "EnterpriseIndexRowCtrl", ($scope) ->
$scope.status = ->
if $scope.enterprise.issues.length > 0
"issue"
else if $scope.enterprise.warnings.length > 0
"warning"
else
"ok"
$scope.producerText = ->
switch $scope.enterprise.is_primary_producer
when true
"Producer"
else
"Non-Producer"
$scope.packageText = ->
switch $scope.enterprise.is_primary_producer
when true
switch $scope.enterprise.sells
when "none"
"Profile"
when "own"
"Shop"
when "any"
"Hub"
else
"Choose"
else
switch $scope.enterprise.sells
when "none"
"Profile"
when "any"
"Hub"
else
"Choose"
$scope.updateRowText = ->
$scope.producer = $scope.producerText()
$scope.package = $scope.packageText()
$scope.producerError = ($scope.producer == "Choose")
$scope.packageError = ($scope.package == "Choose")
$scope.updateRowText()
$scope.$on "enterprise:updated", ->
$scope.updateRowText()

View File

@@ -0,0 +1,13 @@
angular.module("admin.enterprises").controller 'enterprisesCtrl', ($scope, $q, Enterprises, Columns) ->
requests = []
requests.push ($scope.allEnterprises = Enterprises.index(ams_prefix: "index")).$promise
$q.all(requests).then ->
$scope.loaded = true
$scope.columns = Columns.setColumns
name: { name: "Name", visible: true }
producer: { name: "Producer", visible: true }
package: { name: "Package", visible: true }
status: { name: "Status", visible: true }
manage: { name: "Manage", visible: true }

View File

@@ -0,0 +1,2 @@
angular.module("admin.enterprises").controller 'indexPackagePanelCtrl', ($scope, $controller) ->
angular.extend this, $controller('indexPanelCtrl', {$scope: $scope})

View File

@@ -0,0 +1,23 @@
angular.module("admin.enterprises").controller 'indexPanelCtrl', ($scope, Enterprises) ->
$scope.enterprise = $scope.object
$scope.saving = false
$scope.saved = ->
Enterprises.saved($scope.enterprise)
$scope.save = ->
unless $scope.saved()
$scope.saving = true
Enterprises.save($scope.enterprise).then (data) ->
$scope.$emit("enterprise:updated")
$scope.saving = false
, (response) ->
$scope.saving = false
if response.status == 422 && response.data.errors?
message = 'Please resolve the following errors:\n'
for attr, msg of response.data.errors
message += "#{attr} #{msg}\n"
alert(message)
$scope.resetAttribute = (attribute) ->
Enterprises.resetAttribute($scope.enterprise, attribute)

View File

@@ -0,0 +1,14 @@
angular.module("admin.enterprises").controller 'indexProducerPanelCtrl', ($scope, $controller) ->
angular.extend this, $controller('indexPanelCtrl', {$scope: $scope})
$scope.changeToProducer = ->
$scope.resetAttribute('sells')
$scope.resetAttribute('producer_profile_only')
$scope.enterprise.is_primary_producer = true
$scope.changeToNonProducer = ->
if $scope.enterprise.sells == 'own'
$scope.enterprise.sells = 'any'
if $scope.enterprise.producer_profile_only = true
$scope.enterprise.producer_profile_only = false
$scope.enterprise.is_primary_producer = false

View File

@@ -0,0 +1,3 @@
angular.module("admin.enterprises").controller 'indexStatusPanelCtrl', ($scope, $filter) ->
$scope.issues = $scope.object.issues
$scope.warnings = $scope.object.warnings

Some files were not shown because too many files have changed in this diff Show More