Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot]
6b876a0051 Bump flipper from 1.4.0 to 1.4.1
Bumps [flipper](https://github.com/flippercloud/flipper) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/flippercloud/flipper/releases)
- [Changelog](https://github.com/flippercloud/flipper/blob/main/Changelog.md)
- [Commits](https://github.com/flippercloud/flipper/compare/v1.4.0...v1.4.1)

---
updated-dependencies:
- dependency-name: flipper
  dependency-version: 1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-02 01:00:16 +00:00
13 changed files with 36 additions and 109 deletions

View File

@@ -185,8 +185,8 @@ GEM
ast (2.4.3)
attr_required (1.0.2)
aws-eventstream (1.4.0)
aws-partitions (1.1233.0)
aws-sdk-core (3.244.0)
aws-partitions (1.1227.0)
aws-sdk-core (3.243.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
@@ -194,11 +194,11 @@ GEM
bigdecimal
jmespath (~> 1, >= 1.6.1)
logger
aws-sdk-kms (1.123.0)
aws-sdk-core (~> 3, >= 3.244.0)
aws-sdk-kms (1.122.0)
aws-sdk-core (~> 3, >= 3.241.4)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.217.0)
aws-sdk-core (~> 3, >= 3.244.0)
aws-sdk-s3 (1.215.0)
aws-sdk-core (~> 3, >= 3.243.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.12.1)
@@ -339,7 +339,7 @@ GEM
websocket-driver (~> 0.7)
ffaker (2.25.0)
ffi (1.17.3)
flipper (1.4.0)
flipper (1.4.1)
concurrent-ruby (< 2)
flipper-active_record (1.4.0)
activerecord (>= 4.2, < 9)
@@ -620,7 +620,7 @@ GEM
railties (>= 4.2)
raabro (1.4.0)
racc (1.8.1)
rack (2.2.23)
rack (2.2.22)
rack-mini-profiler (2.3.4)
rack (>= 1.2.0)
rack-oauth2 (2.3.0)

View File

@@ -19,9 +19,7 @@
background-color: white;
box-shadow: $box-shadow;
border-radius: 3px;
width: max-content;
min-width: 80px;
max-width: 110px;
display: none;
z-index: 100;
@@ -29,15 +27,6 @@
display: block;
}
// Fade out so user can see which option was selected
&.selected {
transition:
opacity 0.2s linear,
visibility 0.2s linear;
opacity: 0;
visibility: hidden;
}
& > a {
display: block;
padding: 5px 10px;

View File

@@ -6,9 +6,6 @@ export default class extends Controller {
connect() {
super.connect();
window.addEventListener("click", this.#hideIfClickedOutside);
// Close menu when making a selection
this.contentTarget.addEventListener("click", this.#selected);
}
disconnect() {
@@ -16,22 +13,17 @@ export default class extends Controller {
}
toggle() {
this.#toggleShow();
this.contentTarget.classList.toggle("show");
}
#selected = () => {
this.contentTarget.classList.add("selected");
};
#hideIfClickedOutside = (event) => {
if (this.element.contains(event.target)) {
return;
}
this.#toggleShow(false);
this.#hide();
};
#toggleShow(force = undefined) {
this.contentTarget.classList.toggle("show", force);
this.contentTarget.classList.remove("selected");
#hide() {
this.contentTarget.classList.remove("show");
}
}

View File

@@ -107,7 +107,7 @@ module Spree
def cancel
@order = Spree::Order.find_by!(number: params[:id])
authorize! :cancel, @order, session[:access_token]
authorize! :cancel, @order
if Orders::CustomerCancellationService.new(@order).call
flash[:success] = I18n.t(:orders_your_order_has_been_cancelled)

View File

@@ -113,11 +113,7 @@ module Spree
item.order.changes_allowed?
end
can :cancel, Spree::Order do |order, token|
order.user == user || (order.token && token == order.token)
end
can :bulk_cancel, Spree::Order do |order|
can [:cancel, :bulk_cancel], Spree::Order do |order|
order.user == user
end

View File

@@ -4,7 +4,7 @@
%td.col-image
-# empty
- variant.source_variants.each do |source_variant|
= content_tag(:span, "🔗", title: t('admin.products_page.variant_row.sourced_from', source_name: source_variant.full_name, source_id: source_variant.id, hub_name: variant.hub&.name))
= content_tag(:span, "🔗", title: t('admin.products_page.variant_row.sourced_from', source_name: source_variant.display_name, source_id: source_variant.id, hub_name: variant.hub&.name))
%td.col-name.field.naked_inputs
= f.hidden_field :id
= f.text_field :display_name, 'aria-label': t('admin.products_page.columns.name'), placeholder: variant.product.name
@@ -93,7 +93,7 @@
- if variant.persisted?
= link_to t('admin.products_page.actions.edit'), edit_admin_product_variant_path(variant.product, variant)
- if variant.source_variants.empty? && allowed_source_producers.include?(variant.supplier)
- if allowed_source_producers.include?(variant.supplier)
= link_to t('admin.products_page.actions.create_linked_variant'), admin_create_linked_variant_path(variant_id: variant.id, product_index:), 'data-turbo-method': :post
- if variant.product.variants.size > 1

View File

@@ -375,6 +375,6 @@
.slide-in {
transform-origin: top;
animation: slideInTop 0.5s;
animation: slideInTop 0.5s forwards;
}
}

View File

@@ -193,7 +193,6 @@ de_DE:
not_available_to_shop: "ist nicht verfügbar für %{shop}"
card_details: "Kreditkartendaten"
card_type: "Kreditkartentyp"
use_new_cc: "Eine neue Kreditkarte verwenden"
cardholder_name: "Kreditkarteninhaber"
community_forum_url: "URL des Community-Forums"
customer_instructions: "Informationen für Kunden"
@@ -666,7 +665,6 @@ de_DE:
bill_address: "Rechnungsadresse"
ship_address: "Lieferadresse"
balance: "Saldo"
credit: "Verfügbares Guthaben"
update_address_success: "Adresse wurde erfolgreich aktualisiert."
update_address_error: "Bitte füllen Sie alle erforderlichen Felder aus."
edit_bill_address: "Rechnungsadresse bearbeiten"
@@ -685,7 +683,6 @@ de_DE:
has_associated_subscriptions: "Löschen fehlgeschlagen: Dieser Kunde hat aktive Abonnements. Bitte kündigen Sie diese zuerst."
customer_account_transaction:
index:
available_credit: "Verfügbares Guthaben: %{available_credit}"
description: Beschreibung
amount: Summe
running_balance: Fortlaufender Saldo
@@ -2206,7 +2203,6 @@ de_DE:
order_total: 'Gesamtsumme:'
order_payment: "Zahlungsart:"
no_payment_required: "Keine Zahlung erforderlich."
credit_used: "Verwendetes Guthaben: %{amount}"
customer_credit: Guthaben
order_billing_address: Rechnungsadresse
order_delivery_on: Lieferung am
@@ -4367,7 +4363,7 @@ de_DE:
date_picker:
flatpickr_date_format: "d.m.Y"
flatpickr_datetime_format: "d.m.Y H:i"
today: "Heute"
today: "heute"
now: "Jetzt"
close: "Schließen"
orders:

View File

@@ -208,10 +208,6 @@ hu:
no_default_card: "^Ennél az ügyfélnél nem áll rendelkezésre alapértelmezett kártya"
shipping_method:
not_available_to_shop: "nem érhető el a %{shop} számára"
user_invitation:
attributes:
email:
is_already_manager: már menedzser
card_details: "A kártya adatai"
card_type: "Kártyatípus"
card_type_is: "A kártya típusa: "
@@ -517,7 +513,7 @@ hu:
create: "Létrehozás"
cancel: "Mégsem"
cancel_order: "Törlés"
resume: "Visszaállítás"
resume: "Összefoglaló"
save: "Mentés"
edit: "Szerkesztés"
update: "Frissítés"
@@ -574,11 +570,8 @@ hu:
delete: Törlés
remove: Eltávolítás
preview: Előnézet
create_linked_variant: Kapcsolt termékváltozat létrehozása
image:
edit: Szerkesztés
variant_row:
sourced_from: "Forrás: %{source_name} ( %{source_id} ); Elosztó: %{hub_name}"
product_preview:
product_preview: Termék előnézet
shop_tab: Átvételi pont
@@ -1058,7 +1051,7 @@ hu:
back_to_my_inventory: Vissza a leltárhoz
orders:
edit:
order_sure_want_to: 'Biztosan végrehajtod a rendelésen ezt a műveletet? %{event} '
order_sure_want_to: Biztosan %{event} akarod ezt a megrendelést?
voucher_tax_included_in_price: "%{label}(a kupon tartalmazza az adót)"
tax_on_fees: "Díjak adója"
invoice_email_sent: 'Számla e-mail elküldve'
@@ -1568,7 +1561,7 @@ hu:
coordinator: Koordinátor
orders_close: A rendelések lezárulnak
row:
suppliers: beszállító
suppliers: beszállítók
distributors: elosztó
variants: változat
simple_form:

View File

@@ -6,7 +6,7 @@
set -o pipefail
echo -e "\nRunning prettier with reviewdog 🐶 ..."
echo "::group:: Running prettier with reviewdog 🐶 ..."
"$(npm root)/.bin/prettier" --check . 2>&1 | sed --regexp-extended 's/(\[warn\].*)$/\1 File is not properly formatted./' \
| reviewdog \
@@ -25,7 +25,7 @@ echo -e "\nRunning prettier with reviewdog 🐶 ..."
prettier=$?
echo -e "\nRunning rubocop with reviewdog 🐶 ..."
echo "::group:: Running rubocop with reviewdog 🐶 ..."
bundle exec rubocop \
--fail-level info \
@@ -39,7 +39,7 @@ bundle exec rubocop \
rubocop=$?
echo -e "\nRunning haml-lint with reviewdog 🐶 ..."
echo "::group:: Running haml-lint with reviewdog 🐶 ..."
bundle exec haml-lint \
--fail-level warning \

View File

@@ -461,34 +461,14 @@ RSpec.describe Spree::OrdersController do
end
end
context "when a guest user has the order token in session" do
let(:order) {
create(:completed_order_with_totals, user: nil, email: "guest@example.com",
distributor: create(:distributor_enterprise))
}
before do
allow(controller).to receive(:spree_current_user) { nil }
session[:access_token] = order.token
end
it "cancels the order and redirects to the order page" do
request.env['HTTP_REFERER'] = order_path(order)
spree_put :cancel, params
expect(response.body).to match(order_path(order)).and match("redirect")
expect(flash[:success]).to eq 'Your order has been cancelled'
end
end
context "when the user has permission to cancel the order" do
before { allow(controller).to receive(:spree_current_user) { user } }
context "when the order is not yet complete" do
it "responds with forbidden" do
request.env['HTTP_REFERER'] = order_path(order)
spree_put :cancel, params
expect(response).to have_http_status(:found)
expect(response.body).to match(order_path(order)).and match("redirect")
expect(flash[:error]).to eq 'Sorry, the order could not be cancelled'
end
@@ -501,9 +481,9 @@ RSpec.describe Spree::OrdersController do
}
it "responds with success" do
request.env['HTTP_REFERER'] = order_path(order)
spree_put :cancel, params
expect(response).to have_http_status(:found)
expect(response.body).to match(order_path(order)).and match("redirect")
expect(flash[:success]).to eq 'Your order has been cancelled'
end

View File

@@ -16,13 +16,12 @@ describe("VerticalEllipsisMenuController test", () => {
<div data-controller="vertical-ellipsis-menu" id="root">
<div data-action="click->vertical-ellipsis-menu#toggle" id="button">...</div>
<div data-vertical-ellipsis-menu-target="content" id="content">
<a href="#" id="item"></a>
</div>
</div>
`;
const button = document.getElementById("button");
const content = document.getElementById("content");
const item = document.getElementById("item");
});
it("add show class to content when toggle is called", () => {
@@ -44,15 +43,4 @@ describe("VerticalEllipsisMenuController test", () => {
document.body.click();
expect(content.classList.contains("show")).toBe(false);
});
it("adds selected class to content when clicking a menu item", () => {
button.click();
expect(content.classList.contains("selected")).toBe(false);
item.click();
expect(content.classList.contains("selected")).toBe(true);
// and removes it again when clicking button again
button.click();
expect(content.classList.contains("selected")).toBe(false);
});
});

View File

@@ -238,9 +238,8 @@ RSpec.describe 'As an enterprise user, I can perform actions on the products scr
end
describe "Create linked variant" do
let!(:variant) { create(:variant, display_name: "My box", supplier: producer) }
let!(:linked_variant) {
variant.create_linked_variant(user).tap{ |v| v.update! display_name: "My linked variant" }
let!(:variant) {
create(:variant, display_name: "My box", supplier: producer)
}
let!(:other_producer) { create(:supplier_enterprise) }
let!(:other_variant) {
@@ -266,15 +265,6 @@ RSpec.describe 'As an enterprise user, I can perform actions on the products scr
expect(page).to have_link "Create linked variant"
end
close_action_menu
# Check my own linked variant
within row_containing_name("My linked variant") do
page.find(".vertical-ellipsis-menu").click
expect(page).not_to have_link "Create linked variant"
end
close_action_menu
# Create linked variant sourced from my friend
within row_containing_name("My friends box") do
@@ -295,11 +285,12 @@ RSpec.describe 'As an enterprise user, I can perform actions on the products scr
# Close action menu (shouldn't need this, it should close itself)
last_box.click
# And I can perform actions on the new variant
# And I can perform actions on the new product
within last_box do
page.find(".vertical-ellipsis-menu").click
expect(page).to have_link "Edit"
expect(page).to have_selector "a", text: "Delete" # it's not a proper link
# expect(page).to have_link "Clone" # tofix: menu is partially obscured
# expect(page).to have_link "Delete" # it's not a proper link
fill_in "Name", with: "My copy of Apples"
end
@@ -338,10 +329,12 @@ RSpec.describe 'As an enterprise user, I can perform actions on the products scr
}
describe "Actions columns (delete)" do
before do
visit admin_products_url
end
it "shows an actions menu with a delete link when clicking on icon for product. " \
"doesn't show delete link for the single variant" do
visit admin_products_url
within product_selector do
page.find(".vertical-ellipsis-menu").click
expect(page).to have_css(delete_option_selector)