Commit Graph

406 Commits

Author SHA1 Message Date
Matt-Yorkley
dc6be6f06b Don't resubmit the whole cart contents for no reason.
There's a couple of places where this was causing a cart update submission where it wasn't needed, eg the items had not actually changed. The conditional here was designed to stop that from happening, but it was actually passing every time (the conditional logic was not actually catching the case it was supposed to).

This is really expensive!
2021-06-04 17:10:50 +01:00
Matt-Yorkley
f49d4592a0 Merge pull request #7506 from guidoDutra/5546-prevent-deleting-only-item-in-confirmed-order
prevent deleting only item in confirmed order
2021-05-12 21:10:09 +02:00
Pau Pérez Fabregat
057bcddee9 Merge pull request #7478 from jibees/7458-get-products-on-order-cycle-change-events
Get the whole list of products on order cycle changes
2021-04-30 11:39:15 +02:00
Guido Oliveira
84285ff985 prevent deleting only item in confirmed order 2021-04-28 17:37:28 -03:00
Jean-Baptiste Bellet
cdbcbf4214 Reinitialize page params when changing order cycle 2021-04-27 11:24:48 +02:00
Jean-Baptiste Bellet
523b957ba7 Initialize activeTaxons and activeProperties
- so there is no unwanted changes (from `undefined` to `[]`) that  would trigger a loadProducts request
2021-04-27 11:24:48 +02:00
Cillian O'Ruanaidh
1e96f92df2 Fix the toggle address confirmed checkbox so the latitude/longitude gets set
Before when you checked and unchecked the checkbox it was toggling the :isConfirmed variable.
2021-04-22 22:16:47 +01:00
Cillian O'Ruanaidh
c41476423b Merge latest master into julesemmac/6584-map-location-confirm and resolve conflict in api/enterprises_controller.rb 2021-04-22 19:43:49 +01:00
Andy Brett
5a19a14042 rename to v0 2021-03-27 11:21:18 -07:00
Cillian O'Ruanaidh
f20cea7e4f Allow people to set enterprise latitude/longitude manually or automatically.
This for new changes to the enterprise registration/signup flow where a map will be displayed when people are filling in their address. On this map people can check the geocoder has geocoded their address correctly and if not they can manually adjust their latitude/longitude on the map.

But currently every time someone changes their address in the Admin > Enterprise > Address section the address would automatically be geocoded so this could overwrite the latitude/longitude that was set during sign up. To prevent the latitude/longitude from being overwritten this add's a checkbox which people need to explicity click if they want their address to be automatically geocoded, otherwise it will just use the manually configured latitude/longitude.

Note this new feature which allows people to select their location on a map during registration only works with Google maps so far. So if an instance is using Open Street Map this change also adds support for passing a :use_geocoder parameter to the Api::EnterprisesController during registration so that the address will be geocoded on the backend without the use of a map.
2021-03-19 21:43:29 +00:00
julesemmac
971971803e Improving user discover on ofn map
The context for this update is here: https://community.openfoodnetwork.org/t/improving-user-discovery-on-ofn-map/2013

Also with rebasing help from Maikel Linke <mkllnk@web.de>
2021-03-19 21:43:29 +00:00
Andy Brett
ad8973d74b add messages object to order controller 2021-03-01 21:01:34 -08:00
Andy Brett
72b7fe723f fix indentation 2021-03-01 20:42:05 -08:00
Andy Brett
5751e247bd Update app/assets/javascripts/darkswarm/controllers/edit_bought_order_controller.js.coffee 2021-03-01 20:42:05 -08:00
Matthew Rieger
651bdad7b9 Fix users removing last item of confirmed order on /cart page 2021-03-01 20:42:05 -08:00
Maikel Linke
bd731267ec Allow user to get maximum available quantity
When the user entered a number beyond the stock level, the browser was
correcting that to the max number which is very helpful. But Angular was
setting the model to undefined which removes the item from the cart.

Deactivating Angular's max behaviour let's us set the value ourselves
which is then used in the cart.
2021-01-22 16:42:21 +11:00
Maikel Linke
35b4e8c4d1 Allow editing of invalid quantities
If the user entered an invalid quantity, Angular set the model to
undefined and we removed the input field to show the add button. That
makes it impossible for a user to see what the maximum quantity to enter
would be. For example:

- The variant has a stock level of 5.
- The user enters 7.
- Angular sets it to undefined.
- The input field disappears.
- The user is startled and doesn't know how to proceed.

But now we hide the input only if it's deliberately set to zero.
2021-01-22 16:42:21 +11:00
Maikel Linke
0166400b03 Guard against invalid quantity input
The user can now type anything into the quantity field and some of it
may not be valid. These safe guards ensure that the buttons still work
even if the quantity is undefined or out of range.

Angular guards against the value being out of range but that has other
side-effects. We want to be able to de-activate some of Angular's
behaviour.
2021-01-22 16:42:20 +11:00
Maikel Linke
e5506df5ea Replace bulk quantity label with input field
Enable the user to enter a number directly.
2021-01-22 16:42:20 +11:00
Maikel Linke
af918e63ee Change bulk quantities on any quantity change
This prepares for changing the quantity with an input field. It also
applies if the quantity is changed after an ajax request.
2021-01-22 16:42:20 +11:00
Andy Brett
c60dcc75cd confirm changes to default card 2020-12-08 07:46:10 -08:00
Luis Ramos
f71de8123a Dont show 'closing in' message when oc closes in more than 3 months 2020-12-03 15:29:14 -08:00
Maikel Linke
ec1887544e Reduce bulk input modal size
This brings the related elements closer together.
2020-10-22 15:46:49 +11:00
Maikel Linke
d337561ea8 Move ShopVariantCtrl to own file and spec it 2020-10-22 15:46:46 +11:00
Maikel Linke
fe1618cada Add description to product listing
It's truncated to one line and a click reveals the modal.
2020-10-22 15:46:45 +11:00
Cillian O'Ruanaidh
6c22ee43a7 When searching for shop products check the variant :display_name and :display_as fields too.
Fixes #5757
2020-10-02 16:05:48 +01:00
Steve Roberts
ef0038a661 Change trigger to update filters after ProductsCtrl is loaded. 2020-08-27 18:02:01 +10:00
Steve Roberts
429c88c000 Add watcher to update filter after products are loaded
Also remove the other redundant trigger
2020-07-16 12:06:26 +10:00
Steve Roberts
79abc191ff Move location change to PageSelection controller 2020-07-15 15:51:33 +10:00
Steve Roberts
7e195c3856 Add redirect to shop on order cycle change 2020-07-08 20:18:21 +10:00
Matt-Yorkley
a6edc1c973 Enable control over body scroll with BodyScroll service 2020-06-18 22:21:55 +02:00
Matt-Yorkley
ed086c2db5 Add character limit to product and variant names in cart sidebar 2020-06-18 22:21:55 +02:00
Matt-Yorkley
387a5ec950 Implement "Take me shopping" button 2020-06-18 22:21:55 +02:00
Matt-Yorkley
4a0f43a831 Ensure cart item count is visible in header cart button (for screens smaller than desktop) 2020-06-18 22:21:55 +02:00
Matt-Yorkley
85abfd2056 Create Cart sidebar and controller 2020-06-18 22:21:54 +02:00
Pau Pérez Fabregat
fb339d6a99 Merge pull request #5263 from luisramos0/pdp
[Mobile] Restyle product modal
2020-06-03 08:55:20 +02:00
Matt-Yorkley
e03005ed56 Fix maps and tidy up groups map code 2020-05-25 13:52:56 +02:00
Luis Ramos
4292636e70 Remove close button in product modal 2020-05-15 12:16:19 +01:00
Luis Ramos
30fe457cb5 Make product modal show close button only if there is a scroll bar 2020-05-15 12:12:07 +01:00
Luis Ramos
59a13adff0 Remove product category from product modal 2020-05-15 12:11:32 +01:00
Matt-Yorkley
42195b76d3 Highlight update button when cart page form is "dirty" 2020-05-15 12:59:29 +02:00
Luis Ramos
5f7c1474a2 Merge pull request #5377 from manvil/1782_enterprise_at_same_address
Handling multiple enterprises at the same location
2020-05-13 19:31:14 +01:00
Matt-Yorkley
82b11d6947 Ensure join words are not bold 2020-05-10 09:44:12 +02:00
Matt-Yorkley
2964ec138d Update display of join words in filters list and rearrange code a bit for clarity
Here we need to build a really dynamic structure on the page like "Results for: <search-term> in <filter1> or <filter2>" and the styling on each of the words needs to be a bit different, specifically the filter terms need to be differently styled to the join words like "in" and "or". We have to generate those bits on the Angular side, but they also have to be wrapped in HTML in a specific way.

$sce.trustAsHtml() marks the injected HTML as "safe" (in relation to security issues like XSS). In this case the injected content doesn't involve any user-defined data, so it should be fine.
2020-05-10 09:44:11 +02:00
Matt-Yorkley
026b98022c Add clear search button in shop searchbar 2020-05-10 09:44:11 +02:00
Matt-Yorkley
ebe00bdc31 Update filters clear button functionality 2020-05-10 09:44:11 +02:00
Matt-Yorkley
8e9833fd06 Implement overlaid sidebar on mobile and tablet 2020-05-10 09:44:11 +02:00
Matt-Yorkley
142cef3f3a Add filters count 2020-05-10 09:44:11 +02:00
Manvil George
bf3bb4fb63 Review Comments incorporation 2020-05-07 00:54:01 +10:00
Manvil George
f802775ad6 Fixing up old Enterprise Modal references 2020-05-06 15:37:28 +10:00