Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] main from solidusio:main #411

Open
wants to merge 1,088 commits into
base: main
Choose a base branch
from
Open

[pull] main from solidusio:main #411

wants to merge 1,088 commits into from

Conversation

pull[bot]
Copy link

@pull pull bot commented Jun 5, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jun 5, 2024
mamhoff and others added 29 commits November 15, 2024 21:30
Prior to this change, the promotion admin would have a blue color
scheme, and not the red one that all the other pages have.
This commit allows the menu of the new admin to accomodate routes from
other engines than solidus backend and solidus admin. This is needed for
`solidus_promotions`, which is built as a separate Rails Engine, but it
is also convenient for `solidus_paypal_commerce_platform` or even for
integrating gems like AlchemyCMS lateron.

Co-Authored-By: [email protected]
Use new global variables stylesheet in legacy promotions
Feat(Admin): Dynamic routing proxies
This makes sure that the promotion menus are always below the product
menu item, in both new admin and the backend.

It also changes the nomenclature to be "Promotions" for the legacy
promotion system and "Promotions (new)" for the new promotion system.
Prior to this commit, the new promotion system would exchange the
promotion and promotion category index page components if the gem was
loaded. This made it impossible to actually see the old promotion
configuration when using the new admin.

This commit now only changes the orders/index component if the new
promotion system is activated. In any case, it will display new
promotion and promotion category records under "Promotions (new)".
Not sure how we missed that when including `solidus_promotions`.
The  `authorization_subject` method from `solidus_admin` assumes that
all models are in the `Spree` namespace.
Include solidus_legacy_promotions in release task
This controller still did not know how what to authorize against, and
wanted to visit a URL that doesn't exist when clicking on a promotion.

This also changes at least the name of each promotion to be a link
element that can easily be targeted with Capybara and works with all
major browsers.
Previously this would force the development server to run on 3000, but
it is useful to be able to override that.

Co-authored-by: Harmony Evangelina <[email protected]>
This helps fix an issue when creating a new promotion with a single
code. Without the inverse_of parameter, our associated codes won't
correctly infer that they're associated to a new promotion and will
generate undefined method for nil errors.

Co-authored-by: Alistair Norman <[email protected]>
Unfortunately, our resource controller is hardcoded to look for a
`Spree::<model_name>` object, which obviously doesn't work with the new
promotion namespace.

Co-authored-by: Alistair Norman <[email protected]>
Newest version of Rubocop wants us to remove extra spacing at the top of
method bodies.
This is an artifact of the piece-by-piece extraction process I believe.
Since is now done, we can remove this decorator.
Without this, every extension's test app always has `Spree::LegacyUser`
configured. Mostly, that's fine, but for solidus_auth_devise, it'd be
nicer if the generated spree.rb file would have `Spree.user_class =
"Spree::User"` rather than `Spree::LegacyUser`.
Test app task: Allow passing in user class
If we want to use these decorators with Zeitwerk, their naming scheme
has to exchange module name and type. For example,

app/decorators/solidus_legacy_promotions/models/line_item_decorator.rb becomes
app/decorators/models/solidus/legacy_promotions/line_item_decorator.rb

This will eventually allow us to use Zeitwerk for loading decorators.
We were missing a translation here, but never noticed, because we were
not testing for an actual human-understandable string.

This is broken in the v4.0, v4.1, v4.2 and v4.3 branches with a noisier
error message, because in those branches, `I18n.t("unavailable")` is
different from `t("unavailable")`.
On Slack, we got a report that the tiered percent calculator wasn't
converting its tiers to BigDecimal when being first created. Since this
conversion happens `before_validation`, we should not turn validation
off in this controller.

Specs still run through.
tvdeyen and others added 30 commits February 19, 2025 14:41
[Admin] Allow bulk delete resources
This code has been automatically generated by our 'Prepare release' GitHub
action.

The actual release is not part of the automation, and it still needs to be manually done by a maintainer.
…1739985511

Prepare release for Solidus v4.5.0
This code has been automatically generated by our 'Prepare post-release' GitHub
action.

Make sure that:

- [ ] The new release has been published, along with its tag. See https://github.com/solidusio/solidus/releases/tag/v4.5.0
- [ ] The corresponding patch branch exists. See https://github.com/solidusio/solidus/tree/v4.5
- [ ] The corresponding backport-v4.5 label exists. See https://github.com/solidusio/solidus/labels
…1740056438

Post-release chores after having released Solidus v4.5.0
Admin order index page doesn't reflect the stores currency. Use
"money_method" `:display_total` that handles correct formatting of
 the money values, taking into account order's currency.
Display the store's currency in the Admin Order Index Component
It appeared that `execute_command :bundle, :install`
alone won't install the gems (if for example you
switched to a new ruby and run the generator for the
first time), since Bundler "locks" the environment
after we run the generator and won't install
anything, so we need to unbundle.
A Spree.user_class might have a different table_name than
spree_users. In order to support this we need to ask the
class for it's table_name.
Respect Spree.user_class' table name in metadata migration
We need to be sure that the app is fully loaded before
setting Flickwerk aliases. Otherwise ie. `Spree::Config`
includes default class names even if set differently from
the Rails app or extensions.
[Promotions] Set Flickwerk patches in initializer
Without the class and scope name it is very hard to
find the offending code.
Better Spree::UserAddress scope deprecation warnings
We need this otherwise the created pull request from
the backport tool will not trigger any actions (like
linting) to run.
GH: Allow backport workflow to trigger actions
This event fires when the order `#cancel!` event is fired as part of the
stock order state machine events.

Co-Authored-By: Adam Mueller <[email protected]>
This event fires when `OrderCancellations#short_ship` is fired when an
an inventory unit is canceled from an order.

Co-Authored-By: Adam Mueller <[email protected]>
This adds a `:carton_shipped` event that is published whenever
`OrderShipping#ship` succeeds to mark a carton as shipped.

Co-Authored-By: Adam Mueller <[email protected]>
The comment was inconsistent with the default setting. 
No functional changes have been made.
[Docs] Fix Meta Data Restriction Comment to reflect default setting
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea
In HTML, the initial content of a <textarea> is specified
between its opening and closing tags, not as a `value`
attribute.

Therefore we must set `content`, rather than passing `value` for
 text areas.
Fix ui/forms/input component for tag: :textarea
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.