workarea-admin 3.4.45 → 3.5.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +52 -0
- data/app/assets/images/workarea/admin/email_logo.png +0 -0
- data/app/assets/javascripts/workarea/admin/application.js.erb +11 -1
- data/app/assets/javascripts/workarea/admin/config.js.erb +96 -0
- data/app/assets/javascripts/workarea/admin/modules/active_by_segment_tooltips.js +108 -0
- data/app/assets/javascripts/workarea/admin/modules/calendars.js +1 -1
- data/app/assets/javascripts/workarea/admin/modules/categorized_autocomplete_fields.js +1 -1
- data/app/assets/javascripts/workarea/admin/modules/impersonation_notification.js +44 -0
- data/app/assets/javascripts/workarea/admin/modules/jump_to_menus.js +74 -0
- data/app/assets/javascripts/workarea/admin/modules/new_navigation_taxons.js +1 -2
- data/app/assets/javascripts/workarea/admin/modules/release_reminder.js +1 -0
- data/app/assets/javascripts/workarea/admin/modules/selects.js +33 -0
- data/app/assets/javascripts/workarea/admin/modules/style_guide_autocomplete_fields.js +42 -0
- data/app/assets/javascripts/workarea/admin/modules/timeline_report_chart.js +105 -0
- data/app/assets/javascripts/workarea/admin/modules/toggle_elements.js +27 -0
- data/app/assets/javascripts/workarea/admin/modules/tribute_areas.js +91 -0
- data/app/assets/javascripts/workarea/admin/templates/chart_legend.jst.ejs +17 -9
- data/app/assets/javascripts/workarea/admin/templates/jump_to_menu.jst.ejs +13 -0
- data/app/assets/stylesheets/workarea/admin/application.scss.erb +3 -0
- data/app/assets/stylesheets/workarea/admin/base/_forms.scss +2 -2
- data/app/assets/stylesheets/workarea/admin/components/_activity.scss +24 -16
- data/app/assets/stylesheets/workarea/admin/components/_activity_group.scss +3 -19
- data/app/assets/stylesheets/workarea/admin/components/_box.scss +21 -5
- data/app/assets/stylesheets/workarea/admin/components/_calendar.scss +102 -140
- data/app/assets/stylesheets/workarea/admin/components/_chart_legend.scss +10 -13
- data/app/assets/stylesheets/workarea/admin/components/_checkbox.scss +49 -23
- data/app/assets/stylesheets/workarea/admin/components/_content_block_list.scss +5 -3
- data/app/assets/stylesheets/workarea/admin/components/_date_marker.scss +24 -3
- data/app/assets/stylesheets/workarea/admin/components/_index_table.scss +5 -0
- data/app/assets/stylesheets/workarea/admin/components/_jump_to_menu.scss +57 -0
- data/app/assets/stylesheets/workarea/admin/components/_product_summary.scss +46 -0
- data/app/assets/stylesheets/workarea/admin/components/_toggle_button.scss +1 -4
- data/app/assets/stylesheets/workarea/admin/email/_base.scss +30 -2
- data/app/assets/stylesheets/workarea/admin/email/_components.scss +66 -5
- data/app/assets/stylesheets/workarea/admin/email/_helpers.scss +16 -5
- data/app/assets/stylesheets/workarea/admin/email/{_settings.scss → _settings.scss.erb} +4 -4
- data/app/controllers/workarea/admin/application_controller.rb +2 -4
- data/app/controllers/workarea/admin/bulk_action_sequential_product_edits_controller.rb +4 -6
- data/app/controllers/workarea/admin/bulk_variant_saving.rb +1 -2
- data/app/controllers/workarea/admin/catalog_products_controller.rb +4 -6
- data/app/controllers/workarea/admin/catalog_variants_controller.rb +2 -3
- data/app/controllers/workarea/admin/comments_controller.rb +9 -0
- data/app/controllers/workarea/admin/configurations_controller.rb +29 -0
- data/app/controllers/workarea/admin/content_assets_controller.rb +3 -1
- data/app/controllers/workarea/admin/content_blocks_controller.rb +1 -7
- data/app/controllers/workarea/admin/create_catalog_products_controller.rb +2 -8
- data/app/controllers/workarea/admin/create_release_undos_controller.rb +43 -0
- data/app/controllers/workarea/admin/create_segments_controller.rb +68 -0
- data/app/controllers/workarea/admin/dashboards_controller.rb +2 -0
- data/app/controllers/workarea/admin/data_file_imports_controller.rb +7 -2
- data/app/controllers/workarea/admin/fulfillment_skus_controller.rb +58 -0
- data/app/controllers/workarea/admin/fulfillment_tokens_controller.rb +56 -0
- data/app/controllers/workarea/admin/guest_browsings_controller.rb +2 -2
- data/app/controllers/workarea/admin/impersonations_controller.rb +3 -4
- data/app/controllers/workarea/admin/orders_controller.rb +3 -0
- data/app/controllers/workarea/admin/pricing_discount_redemptions_controller.rb +13 -0
- data/app/controllers/workarea/admin/pricing_overrides_controller.rb +1 -1
- data/app/controllers/workarea/admin/product_rules_controller.rb +1 -2
- data/app/controllers/workarea/admin/releases_controller.rb +8 -13
- data/app/controllers/workarea/admin/reports_controller.rb +18 -0
- data/app/controllers/workarea/admin/segment_overrides_controller.rb +19 -0
- data/app/controllers/workarea/admin/segment_rules_controller.rb +62 -0
- data/app/controllers/workarea/admin/segments_controller.rb +48 -0
- data/app/controllers/workarea/admin/tax_rates_controller.rb +62 -1
- data/app/controllers/workarea/admin/unsubscribes_controller.rb +40 -0
- data/app/controllers/workarea/admin/users_controller.rb +19 -0
- data/app/helpers/workarea/admin/application_helper.rb +2 -12
- data/app/helpers/workarea/admin/configurations_helper.rb +9 -0
- data/app/helpers/workarea/admin/content_helper.rb +2 -3
- data/app/helpers/workarea/admin/fulfillment_helper.rb +10 -0
- data/app/helpers/workarea/admin/icons_helper.rb +26 -0
- data/app/helpers/workarea/admin/navigation_helper.rb +1 -0
- data/app/helpers/workarea/admin/pricing_overrides_helper.rb +1 -1
- data/app/helpers/workarea/admin/products_helper.rb +13 -0
- data/app/helpers/workarea/admin/releases_helper.rb +5 -21
- data/app/helpers/workarea/admin/segments_helper.rb +68 -0
- data/app/helpers/workarea/admin/settings_helper.rb +11 -3
- data/app/mailers/workarea/admin/comment_mailer.rb +3 -3
- data/app/mailers/workarea/admin/status_report_mailer.rb +19 -6
- data/app/view_models/workarea/admin/bulk_action_product_edit_view_model.rb +5 -0
- data/app/view_models/workarea/admin/changeset_view_model.rb +15 -3
- data/app/view_models/workarea/admin/code_list_view_model.rb +1 -1
- data/app/view_models/workarea/admin/commentable_view_model.rb +4 -0
- data/app/view_models/workarea/admin/content_view_model.rb +2 -0
- data/app/view_models/workarea/admin/dashboards/marketing_view_model.rb +5 -9
- data/app/view_models/workarea/admin/dashboards/reports_view_model.rb +25 -0
- data/app/view_models/workarea/admin/discounts/buy_some_get_some_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/category_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/free_gift_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/order_total_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/product_attribute_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/product_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/quantity_fixed_price_view_model.rb +6 -0
- data/app/view_models/workarea/admin/discounts/shipping_view_model.rb +6 -0
- data/app/view_models/workarea/admin/featured_products_view_model.rb +6 -12
- data/app/view_models/workarea/admin/fulfillment_sku_view_model.rb +22 -0
- data/app/view_models/workarea/admin/fulfillment_token_view_model.rb +15 -0
- data/app/view_models/workarea/admin/fulfillment_view_model.rb +14 -0
- data/app/view_models/workarea/admin/insight_view_model.rb +2 -2
- data/app/view_models/workarea/admin/insights/product_view_model.rb +2 -2
- data/app/view_models/workarea/admin/insights/segment_view_model.rb +25 -0
- data/app/view_models/workarea/admin/order_view_model.rb +4 -0
- data/app/view_models/workarea/admin/pricing_sku_view_model.rb +0 -51
- data/app/view_models/workarea/admin/product_rules_preview_view_model.rb +2 -2
- data/app/view_models/workarea/admin/product_view_model.rb +26 -5
- data/app/view_models/workarea/admin/recommendations_view_model.rb +3 -11
- data/app/view_models/workarea/admin/release_calendar_view_model.rb +4 -9
- data/app/view_models/workarea/admin/release_event_view_model.rb +8 -41
- data/app/view_models/workarea/admin/release_view_model.rb +10 -17
- data/app/view_models/workarea/admin/releases_feed_view_model.rb +5 -13
- data/app/view_models/workarea/admin/reports/customers_view_model.rb +4 -2
- data/app/view_models/workarea/admin/reports/low_inventory_view_model.rb +2 -5
- data/app/view_models/workarea/admin/reports/sales_by_category_view_model.rb +2 -5
- data/app/view_models/workarea/admin/reports/sales_by_discount_view_model.rb +2 -5
- data/app/view_models/workarea/admin/reports/sales_by_product_view_model.rb +2 -5
- data/app/view_models/workarea/admin/reports/sales_by_tender_view_model.rb +13 -0
- data/app/view_models/workarea/admin/reports/timeline_view_model.rb +74 -0
- data/app/view_models/workarea/admin/search_customization_product_rules_view_model.rb +1 -1
- data/app/view_models/workarea/admin/segment_view_model.rb +19 -0
- data/app/view_models/workarea/admin/user_view_model.rb +6 -9
- data/app/view_models/workarea/admin/variant_view_model.rb +8 -0
- data/app/views/layouts/workarea/admin/application.html.haml +1 -1
- data/app/views/layouts/workarea/admin/email.html.haml +35 -41
- data/app/views/workarea/admin/activities/_configuration_admin_update.html.haml +10 -0
- data/app/views/workarea/admin/activities/_fulfillment_sku_create.html.haml +12 -0
- data/app/views/workarea/admin/activities/_fulfillment_sku_destroy.html.haml +10 -0
- data/app/views/workarea/admin/activities/_fulfillment_sku_update.html.haml +10 -0
- data/app/views/workarea/admin/activities/_segment_create.html.haml +12 -0
- data/app/views/workarea/admin/activities/_segment_destroy.html.haml +10 -0
- data/app/views/workarea/admin/activities/_segment_update.html.haml +10 -0
- data/app/views/workarea/admin/activities/show.html.haml +18 -11
- data/app/views/workarea/admin/bulk_action_product_edits/edit.html.haml +4 -0
- data/app/views/workarea/admin/bulk_action_product_edits/review.html.haml +11 -4
- data/app/views/workarea/admin/bulk_action_sequential_product_edits/product.html.haml +1 -1
- data/app/views/workarea/admin/catalog_categories/_cards.html.haml +3 -1
- data/app/views/workarea/admin/catalog_categories/edit.html.haml +1 -4
- data/app/views/workarea/admin/catalog_categories/index.html.haml +1 -0
- data/app/views/workarea/admin/catalog_product_images/edit.html.haml +1 -1
- data/app/views/workarea/admin/catalog_products/_cards.html.haml +2 -4
- data/app/views/workarea/admin/catalog_products/edit.html.haml +2 -1
- data/app/views/workarea/admin/catalog_products/index.html.haml +4 -2
- data/app/views/workarea/admin/catalog_products/insights.html.haml +2 -0
- data/app/views/workarea/admin/catalog_variants/edit.html.haml +6 -1
- data/app/views/workarea/admin/catalog_variants/index.html.haml +2 -0
- data/app/views/workarea/admin/catalog_variants/new.html.haml +5 -0
- data/app/views/workarea/admin/changesets/fields/_active_segment_ids.html.haml +4 -0
- data/app/views/workarea/admin/comment_mailer/notify.html.haml +27 -19
- data/app/views/workarea/admin/comments/index.html.haml +18 -12
- data/app/views/workarea/admin/configurations/_overridden.html.haml +2 -0
- data/app/views/workarea/admin/configurations/show.html.haml +49 -0
- data/app/views/workarea/admin/configurations/types/_array.html.haml +3 -0
- data/app/views/workarea/admin/configurations/types/_boolean.html.haml +1 -0
- data/app/views/workarea/admin/configurations/types/_duration.html.haml +2 -0
- data/app/views/workarea/admin/configurations/types/_encrypted.html.haml +1 -0
- data/app/views/workarea/admin/configurations/types/_float.html.haml +1 -0
- data/app/views/workarea/admin/configurations/types/_hash.html.haml +17 -0
- data/app/views/workarea/admin/configurations/types/_integer.html.haml +1 -0
- data/app/views/workarea/admin/configurations/types/_select.html.haml +1 -0
- data/app/views/workarea/admin/configurations/types/_string.html.haml +1 -0
- data/app/views/workarea/admin/configurations/types/_symbol.html.haml +1 -0
- data/app/views/workarea/admin/content/_edit.html.haml +8 -1
- data/app/views/workarea/admin/content/_form.html.haml +13 -7
- data/app/views/workarea/admin/content/advanced.html.haml +18 -10
- data/app/views/workarea/admin/content_assets/_cards.html.haml +3 -0
- data/app/views/workarea/admin/content_assets/_summary.html.haml +1 -1
- data/app/views/workarea/admin/content_assets/edit.html.haml +6 -0
- data/app/views/workarea/admin/content_assets/index.html.haml +7 -2
- data/app/views/workarea/admin/content_assets/new.html.haml +10 -3
- data/app/views/workarea/admin/content_blocks/_asset.html.haml +8 -1
- data/app/views/workarea/admin/content_pages/_cards.html.haml +1 -0
- data/app/views/workarea/admin/content_pages/edit.html.haml +1 -1
- data/app/views/workarea/admin/content_pages/index.html.haml +1 -0
- data/app/views/workarea/admin/create_catalog_categories/publish.html.haml +1 -0
- data/app/views/workarea/admin/create_catalog_products/content.html.haml +1 -1
- data/app/views/workarea/admin/create_catalog_products/publish.html.haml +1 -0
- data/app/views/workarea/admin/create_content_pages/publish.html.haml +1 -0
- data/app/views/workarea/admin/create_pricing_discounts/publish.html.haml +1 -0
- data/app/views/workarea/admin/create_release_undos/new.html.haml +45 -0
- data/app/views/workarea/admin/create_release_undos/review.html.haml +51 -0
- data/app/views/workarea/admin/create_releases/plan.html.haml +4 -3
- data/app/views/workarea/admin/create_releases/setup.html.haml +8 -12
- data/app/views/workarea/admin/create_segments/rules.html.haml +55 -0
- data/app/views/workarea/admin/create_segments/setup.html.haml +42 -0
- data/app/views/workarea/admin/create_users/admin.html.haml +0 -2
- data/app/views/workarea/admin/dashboards/catalog.html.haml +1 -0
- data/app/views/workarea/admin/dashboards/people.html.haml +1 -1
- data/app/views/workarea/admin/dashboards/reports.html.haml +31 -0
- data/app/views/workarea/admin/dashboards/settings.html.haml +23 -3
- data/app/views/workarea/admin/data_file_imports/new.html.haml +4 -2
- data/app/views/workarea/admin/data_file_mailer/export.html.haml +2 -0
- data/app/views/workarea/admin/data_file_mailer/import.html.haml +2 -0
- data/app/views/workarea/admin/data_file_mailer/import_failure.html.haml +2 -0
- data/app/views/workarea/admin/facets/_applied.html.haml +1 -1
- data/app/views/workarea/admin/featured_products/_selected.html.haml +3 -2
- data/app/views/workarea/admin/featured_products/_unselected.html.haml +3 -1
- data/app/views/workarea/admin/featured_products/edit.html.haml +3 -3
- data/app/views/workarea/admin/featured_products/select.html.haml +0 -1
- data/app/views/workarea/admin/fulfillment_skus/_aux_navigation.html.haml +3 -0
- data/app/views/workarea/admin/fulfillment_skus/_cards.html.haml +57 -0
- data/app/views/workarea/admin/fulfillment_skus/_summary.html.haml +6 -0
- data/app/views/workarea/admin/fulfillment_skus/edit.html.haml +53 -0
- data/app/views/workarea/admin/fulfillment_skus/index.html.haml +75 -0
- data/app/views/workarea/admin/fulfillment_skus/new.html.haml +41 -0
- data/app/views/workarea/admin/fulfillment_skus/show.html.haml +17 -0
- data/app/views/workarea/admin/fulfillment_tokens/index.html.haml +73 -0
- data/app/views/workarea/admin/fulfillments/show.html.haml +41 -6
- data/app/views/workarea/admin/insights/_most_discounted_products.html.haml +4 -4
- data/app/views/workarea/admin/inventory_skus/show.html.haml +1 -1
- data/app/views/workarea/admin/navigation_menus/_summary.html.haml +1 -1
- data/app/views/workarea/admin/navigation_menus/edit.html.haml +1 -1
- data/app/views/workarea/admin/navigation_menus/index.html.haml +3 -1
- data/app/views/workarea/admin/navigation_redirects/index.html.haml +0 -5
- data/app/views/workarea/admin/navigation_taxons/index.html.haml +20 -4
- data/app/views/workarea/admin/orders/_cards.html.haml +23 -5
- data/app/views/workarea/admin/orders/attributes.html.haml +4 -1
- data/app/views/workarea/admin/orders/fraud.html.haml +43 -0
- data/app/views/workarea/admin/orders/index.html.haml +1 -0
- data/app/views/workarea/admin/orders/timeline.html.haml +1 -1
- data/app/views/workarea/admin/pricing_discount_code_lists/_cards.html.haml +1 -1
- data/app/views/workarea/admin/pricing_discount_code_lists/promo_codes.html.haml +1 -1
- data/app/views/workarea/admin/pricing_discount_redemptions/index.html.haml +44 -0
- data/app/views/workarea/admin/pricing_discounts/_cards.html.haml +22 -0
- data/app/views/workarea/admin/pricing_discounts/conditions/_segments.html.haml +5 -0
- data/app/views/workarea/admin/pricing_discounts/edit.html.haml +5 -15
- data/app/views/workarea/admin/pricing_discounts/index.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_buy_some_get_some.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_category.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_free_gift.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_order_total.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_product.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_product_attribute.html.haml +2 -1
- data/app/views/workarea/admin/pricing_discounts/properties/_quantity_fixed_price.html.haml +1 -0
- data/app/views/workarea/admin/pricing_discounts/properties/_shipping.html.haml +1 -0
- data/app/views/workarea/admin/pricing_skus/_cards.html.haml +7 -7
- data/app/views/workarea/admin/pricing_skus/edit.html.haml +5 -5
- data/app/views/workarea/admin/pricing_skus/index.html.haml +4 -4
- data/app/views/workarea/admin/pricing_skus/new.html.haml +6 -9
- data/app/views/workarea/admin/product_rules/_card.html.haml +2 -2
- data/app/views/workarea/admin/product_rules/_form.html.haml +1 -0
- data/app/views/workarea/admin/product_rules/index.html.haml +2 -0
- data/app/views/workarea/admin/releases/_cards.html.haml +50 -12
- data/app/views/workarea/admin/releases/_publish.html.haml +1 -1
- data/app/views/workarea/admin/releases/edit.html.haml +33 -46
- data/app/views/workarea/admin/releases/index.html.haml +81 -90
- data/app/views/workarea/admin/releases/list.html.haml +107 -0
- data/app/views/workarea/admin/releases/original.html.haml +50 -0
- data/app/views/workarea/admin/releases/show.html.haml +3 -17
- data/app/views/workarea/admin/releases/undo.html.haml +64 -0
- data/app/views/workarea/admin/reports/average_order_value.html.haml +1 -1
- data/app/views/workarea/admin/reports/customers.html.haml +4 -0
- data/app/views/workarea/admin/reports/first_time_vs_returning_sales.html.haml +1 -1
- data/app/views/workarea/admin/reports/reference.html.haml +19 -60
- data/app/views/workarea/admin/reports/sales_by_country.html.haml +6 -0
- data/app/views/workarea/admin/reports/sales_by_product.html.haml +6 -0
- data/app/views/workarea/admin/reports/sales_by_sku.html.haml +6 -0
- data/app/views/workarea/admin/reports/sales_by_tender.html.haml +30 -0
- data/app/views/workarea/admin/reports/sales_over_time.html.haml +5 -1
- data/app/views/workarea/admin/reports/timeline.html.haml +20 -0
- data/app/views/workarea/admin/search_customizations/_cards.html.haml +1 -0
- data/app/views/workarea/admin/search_customizations/edit.html.haml +1 -1
- data/app/views/workarea/admin/search_customizations/index.html.haml +1 -0
- data/app/views/workarea/admin/searches/show.html.haml +6 -5
- data/app/views/workarea/admin/segment_overrides/show.html.haml +29 -0
- data/app/views/workarea/admin/segment_rules/_form.html.haml +13 -0
- data/app/views/workarea/admin/segment_rules/fields/_browser_info.html.haml +13 -0
- data/app/views/workarea/admin/segment_rules/fields/_geolocation.html.haml +4 -0
- data/app/views/workarea/admin/segment_rules/fields/_last_order.html.haml +3 -0
- data/app/views/workarea/admin/segment_rules/fields/_logged_in.html.haml +2 -0
- data/app/views/workarea/admin/segment_rules/fields/_orders.html.haml +5 -0
- data/app/views/workarea/admin/segment_rules/fields/_revenue.html.haml +9 -0
- data/app/views/workarea/admin/segment_rules/fields/_sessions.html.haml +5 -0
- data/app/views/workarea/admin/segment_rules/fields/_tags.html.haml +4 -0
- data/app/views/workarea/admin/segment_rules/fields/_traffic_referrer.html.haml +13 -0
- data/app/views/workarea/admin/segment_rules/geolocation_options.json.jbuilder +4 -0
- data/app/views/workarea/admin/segment_rules/index.html.haml +25 -0
- data/app/views/workarea/admin/segment_rules/summaries/_browser_info.html.haml +11 -0
- data/app/views/workarea/admin/segment_rules/summaries/_geolocation.html.haml +2 -0
- data/app/views/workarea/admin/segment_rules/summaries/_last_order.html.haml +2 -0
- data/app/views/workarea/admin/segment_rules/summaries/_logged_in.html.haml +5 -0
- data/app/views/workarea/admin/segment_rules/summaries/_orders.html.haml +6 -0
- data/app/views/workarea/admin/segment_rules/summaries/_revenue.html.haml +7 -0
- data/app/views/workarea/admin/segment_rules/summaries/_sessions.html.haml +6 -0
- data/app/views/workarea/admin/segment_rules/summaries/_tags.html.haml +2 -0
- data/app/views/workarea/admin/segment_rules/summaries/_traffic_referrer.html.haml +10 -0
- data/app/views/workarea/admin/segments/_cards.html.haml +81 -0
- data/app/views/workarea/admin/segments/_publish.html.haml +10 -0
- data/app/views/workarea/admin/segments/edit.html.haml +41 -0
- data/app/views/workarea/admin/segments/index.html.haml +64 -0
- data/app/views/workarea/admin/segments/insights.html.haml +52 -0
- data/app/views/workarea/admin/segments/show.html.haml +20 -0
- data/app/views/workarea/admin/shared/_active_field.html.haml +17 -0
- data/app/views/workarea/admin/shared/_bulk_actions.html.haml +10 -8
- data/app/views/workarea/admin/shared/_primary_nav.html.haml +5 -2
- data/app/views/workarea/admin/shared/_toggle_button.html.haml +1 -1
- data/app/views/workarea/admin/shipping_services/edit.html.haml +0 -4
- data/app/views/workarea/admin/shipping_services/new.html.haml +0 -4
- data/app/views/workarea/admin/status_report_mailer/report.html.haml +83 -86
- data/app/views/workarea/admin/style_guides/components/_activity.html.haml +3 -5
- data/app/views/workarea/admin/style_guides/components/_activity_group.html.haml +9 -15
- data/app/views/workarea/admin/style_guides/components/_box.html.haml +12 -7
- data/app/views/workarea/admin/style_guides/components/_checkbox.html.haml +21 -2
- data/app/views/workarea/admin/style_guides/components/_release_changeset.html.haml +3 -5
- data/app/views/workarea/admin/tax_rates/edit.html.haml +64 -0
- data/app/views/workarea/admin/tax_rates/index.html.haml +59 -20
- data/app/views/workarea/admin/tax_rates/new.html.haml +62 -0
- data/app/views/workarea/admin/timeline/show.html.haml +34 -41
- data/app/views/workarea/admin/toolbar/show.html.haml +11 -1
- data/app/views/workarea/admin/trash/index.html.haml +1 -1
- data/app/views/workarea/admin/users/edit.html.haml +60 -57
- data/app/views/workarea/admin/users/index.html.haml +1 -3
- data/app/views/workarea/admin/users/index.json.jbuilder +8 -0
- data/app/views/workarea/admin/users/insights.html.haml +31 -23
- data/app/views/workarea/admin/users/permissions.html.haml +10 -1
- data/app/views/workarea/admin/users/show.html.haml +7 -0
- data/config/locales/en.yml +569 -124
- data/config/routes.rb +57 -5
- data/lib/workarea/mailer_previews/admin/status_report_mailer_preview.rb +3 -1
- data/public/workarea/import_samples/tax_rates.csv +3 -3
- data/test/dummy/config/initializers/session_store.rb +1 -1
- data/test/helpers/workarea/admin/application_helper_test.rb +0 -16
- data/test/helpers/workarea/admin/icons_helper_test.rb +9 -0
- data/test/helpers/workarea/admin/products_helper_test.rb +73 -0
- data/test/helpers/workarea/admin/releases_helper_test.rb +0 -49
- data/test/helpers/workarea/admin/settings_helper_test.rb +22 -1
- data/test/integration/workarea/admin/assets_integration_test.rb +2 -5
- data/test/integration/workarea/admin/comments_integration_test.rb +27 -7
- data/test/integration/workarea/admin/configurations_integration_test.rb +21 -0
- data/test/integration/workarea/admin/create_release_undos_integration_test.rb +29 -0
- data/test/integration/workarea/admin/create_segments_integration_test.rb +26 -0
- data/test/integration/workarea/admin/data_file_imports_integration_test.rb +34 -8
- data/test/integration/workarea/admin/fulfillment_skus_integration_test.rb +55 -0
- data/test/integration/workarea/admin/fulfillment_tokens_integration_test.rb +43 -0
- data/test/integration/workarea/admin/guest_browsings_integration_test.rb +8 -32
- data/test/integration/workarea/admin/impersonations_integration_test.rb +13 -57
- data/test/integration/workarea/admin/jump_to_integration_test.rb +0 -29
- data/test/integration/workarea/admin/pricing_overrides_integration_test.rb +11 -0
- data/test/integration/workarea/admin/products_integration_test.rb +0 -13
- data/test/integration/workarea/admin/releases_integration_test.rb +71 -87
- data/test/integration/workarea/admin/segment_overrides_integration_test.rb +28 -0
- data/test/integration/workarea/admin/segment_rules_integration_test.rb +49 -0
- data/test/integration/workarea/admin/segments_integration_test.rb +31 -0
- data/test/integration/workarea/admin/shipping_service_integration_test.rb +1 -3
- data/test/integration/workarea/admin/tax_categories_integration_test.rb +1 -1
- data/test/integration/workarea/admin/unsubscribes_integration_test.rb +32 -0
- data/test/integration/workarea/admin/users_integration_test.rb +32 -0
- data/test/javascripts/fixtures/release_reminder.html.haml +3 -3
- data/test/javascripts/new_navigation_taxons_spec.js +1 -12
- data/test/mailers/workarea/admin/comment_mailer_test.rb +35 -0
- data/test/mailers/workarea/admin/status_report_mailer_test.rb +30 -25
- data/test/system/workarea/admin/alerts_system_test.rb +2 -1
- data/test/system/workarea/admin/bulk_actions_system_test.rb +1 -1
- data/test/system/workarea/admin/comments_system_test.rb +43 -0
- data/test/system/workarea/admin/content_system_test.rb +6 -0
- data/test/system/workarea/admin/dashboard_system_test.rb +8 -9
- data/test/system/workarea/admin/data_files_system_test.rb +1 -1
- data/test/system/workarea/admin/discounts_system_test.rb +18 -0
- data/test/system/workarea/admin/featured_products_system_test.rb +3 -0
- data/test/system/workarea/admin/fulfillment_skus_system_test.rb +48 -0
- data/test/system/workarea/admin/impersonation_system_test.rb +5 -2
- data/test/system/workarea/admin/orders_system_test.rb +32 -21
- data/test/system/workarea/admin/payment_transactions_system_test.rb +34 -32
- data/test/system/workarea/admin/releases_system_test.rb +151 -37
- data/test/system/workarea/admin/reports_system_test.rb +29 -0
- data/test/system/workarea/admin/segments_system_test.rb +124 -0
- data/test/system/workarea/admin/tax_categories_system_test.rb +166 -16
- data/test/system/workarea/admin/users_system_test.rb +15 -0
- data/test/view_models/workarea/admin/changeset_view_model_test.rb +59 -9
- data/test/view_models/workarea/admin/code_list_view_model_test.rb +0 -5
- data/test/view_models/workarea/admin/content_view_model_test.rb +13 -11
- data/test/view_models/workarea/admin/insights/product_view_model_test.rb +4 -4
- data/test/view_models/workarea/admin/insights/segment_view_model_test.rb +73 -0
- data/test/view_models/workarea/admin/product_rules_preview_view_model_test.rb +37 -0
- data/test/view_models/workarea/admin/product_view_model_test.rb +13 -19
- data/test/view_models/workarea/admin/release_calendar_view_model_test.rb +16 -0
- data/test/view_models/workarea/admin/release_view_model_test.rb +13 -56
- data/test/view_models/workarea/admin/releases_feed_view_model_test.rb +8 -21
- data/test/view_models/workarea/admin/reports/timeline_view_model_test.rb +76 -0
- data/test/view_models/workarea/admin/search_analysis_view_model_test.rb +14 -16
- data/test/view_models/workarea/admin/timeline_view_model_test.rb +1 -1
- metadata +128 -17
- data/app/views/workarea/admin/featured_products/_release_preview_warning.html.haml +0 -4
- data/app/views/workarea/admin/releases/calendar.html.haml +0 -54
- data/test/dummy/tmp/screenshots/.keep +0 -0
- data/test/helpers/workarea/admin/content_helper_test.rb +0 -17
- data/test/integration/workarea/admin/index_tracking_integration_test.rb +0 -21
- data/test/javascripts/fixtures/existing_navigation_taxon.html.haml +0 -10
- data/test/view_models/workarea/admin/pricing_sku_view_model_test.rb +0 -84
@@ -14,8 +14,8 @@ module Workarea
|
|
14
14
|
|
15
15
|
releases.each do |release|
|
16
16
|
calendar.event do |event|
|
17
|
-
event.dtstart = format_date(release.starts_at
|
18
|
-
event.dtend = format_date(release.ends_at
|
17
|
+
event.dtstart = format_date(release.starts_at)
|
18
|
+
event.dtend = format_date(release.ends_at)
|
19
19
|
event.summary = release.name
|
20
20
|
event.description = release.description
|
21
21
|
end
|
@@ -37,21 +37,13 @@ module Workarea
|
|
37
37
|
|
38
38
|
def releases
|
39
39
|
@releases ||= Admin::ReleaseEventViewModel.wrap(
|
40
|
-
(
|
41
|
-
Release.published_within(Time.current, 1.year.from_now) +
|
42
|
-
Release.undone_within(Time.current, 1.year.from_now)
|
43
|
-
).uniq
|
40
|
+
Release.published_within(Time.current, 1.year.from_now)
|
44
41
|
)
|
45
42
|
end
|
46
43
|
|
47
|
-
def format_date(time
|
44
|
+
def format_date(time)
|
48
45
|
return unless time.present?
|
49
|
-
|
50
|
-
if date_only
|
51
|
-
Icalendar::Values::Date.new(time.to_date, tzid: timezone_id)
|
52
|
-
else
|
53
|
-
Icalendar::Values::DateTime.new(time, tzid: timezone_id)
|
54
|
-
end
|
46
|
+
Icalendar::Values::DateTime.new(time, tzid: timezone_id)
|
55
47
|
end
|
56
48
|
end
|
57
49
|
end
|
@@ -4,13 +4,15 @@ module Workarea
|
|
4
4
|
class CustomersViewModel < ApplicationViewModel
|
5
5
|
def results
|
6
6
|
@results ||= model.results.map do |result|
|
7
|
-
user = users
|
7
|
+
user = users[result['_id']]
|
8
8
|
OpenStruct.new({ user: user }.merge(result))
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
def users
|
13
|
-
@users ||= User
|
13
|
+
@users ||= User
|
14
|
+
.any_in(email: model.results.map { |r| r['_id'] })
|
15
|
+
.each_with_object({}) { |u, r| r[u.email] = u }
|
14
16
|
end
|
15
17
|
end
|
16
18
|
end
|
@@ -4,15 +4,12 @@ module Workarea
|
|
4
4
|
class LowInventoryViewModel < ApplicationViewModel
|
5
5
|
def results
|
6
6
|
@results ||= model.results.map do |result|
|
7
|
-
|
8
|
-
OpenStruct.new({ sku: sku }.merge(result))
|
7
|
+
OpenStruct.new({ sku: skus[result['_id']] }.merge(result))
|
9
8
|
end
|
10
9
|
end
|
11
10
|
|
12
11
|
def skus
|
13
|
-
@skus ||= Inventory::Sku.any_in(
|
14
|
-
id: model.results.map { |r| r['_id'] }
|
15
|
-
).to_a
|
12
|
+
@skus ||= Inventory::Sku.any_in(id: model.results.map { |r| r['_id'] }).to_lookup_hash
|
16
13
|
end
|
17
14
|
end
|
18
15
|
end
|
@@ -4,15 +4,12 @@ module Workarea
|
|
4
4
|
class SalesByCategoryViewModel < ApplicationViewModel
|
5
5
|
def results
|
6
6
|
@results ||= model.results.map do |result|
|
7
|
-
|
8
|
-
OpenStruct.new({ category: category }.merge(result))
|
7
|
+
OpenStruct.new({ category: categories[result['_id']] }.merge(result))
|
9
8
|
end
|
10
9
|
end
|
11
10
|
|
12
11
|
def categories
|
13
|
-
@categories ||= Catalog::Category.any_in(
|
14
|
-
id: model.results.map { |r| r['_id'] }
|
15
|
-
).to_a
|
12
|
+
@categories ||= Catalog::Category.any_in(id: model.results.map { |r| r['_id'] }).to_lookup_hash
|
16
13
|
end
|
17
14
|
end
|
18
15
|
end
|
@@ -4,15 +4,12 @@ module Workarea
|
|
4
4
|
class SalesByDiscountViewModel < ApplicationViewModel
|
5
5
|
def results
|
6
6
|
@results ||= model.results.map do |result|
|
7
|
-
|
8
|
-
OpenStruct.new({ discount: discount }.merge(result))
|
7
|
+
OpenStruct.new({ discount: discounts[result['_id']] }.merge(result))
|
9
8
|
end
|
10
9
|
end
|
11
10
|
|
12
11
|
def discounts
|
13
|
-
@discounts ||= Pricing::Discount.any_in(
|
14
|
-
id: model.results.map { |r| r['_id'] }
|
15
|
-
).to_a
|
12
|
+
@discounts ||= Pricing::Discount.any_in(id: model.results.map { |r| r['_id'] }).to_lookup_hash
|
16
13
|
end
|
17
14
|
end
|
18
15
|
end
|
@@ -4,15 +4,12 @@ module Workarea
|
|
4
4
|
class SalesByProductViewModel < ApplicationViewModel
|
5
5
|
def results
|
6
6
|
@results ||= model.results.map do |result|
|
7
|
-
|
8
|
-
OpenStruct.new({ product: product }.merge(result))
|
7
|
+
OpenStruct.new({ product: products[result['_id']] }.merge(result))
|
9
8
|
end
|
10
9
|
end
|
11
10
|
|
12
11
|
def products
|
13
|
-
@products ||= Catalog::Product.any_in(
|
14
|
-
id: model.results.map { |r| r['_id'] }
|
15
|
-
).to_a
|
12
|
+
@products ||= Catalog::Product.any_in(id: model.results.map { |r| r['_id'] }).to_lookup_hash
|
16
13
|
end
|
17
14
|
end
|
18
15
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Workarea
|
2
|
+
module Admin
|
3
|
+
module Reports
|
4
|
+
class SalesByTenderViewModel < ApplicationViewModel
|
5
|
+
def results
|
6
|
+
@results ||= model.results.map do |result|
|
7
|
+
OpenStruct.new(result.merge(name: result['_id'].titleize))
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
module Workarea
|
2
|
+
module Admin
|
3
|
+
module Reports
|
4
|
+
class TimelineViewModel < ApplicationViewModel
|
5
|
+
include GroupByTime
|
6
|
+
|
7
|
+
def summary
|
8
|
+
{
|
9
|
+
revenue: summarize(data_for('revenue')),
|
10
|
+
orders: summarize(data_for('orders')),
|
11
|
+
units_sold: summarize(data_for('units_sold')),
|
12
|
+
customers: summarize(data_for('customers')),
|
13
|
+
releases: summarize(release_data)
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
def graph_data
|
18
|
+
{
|
19
|
+
labels: grouped_data.keys.reverse,
|
20
|
+
datasets: {
|
21
|
+
revenue: transform(data_for('revenue')),
|
22
|
+
orders: transform(data_for('orders')),
|
23
|
+
units_sold: transform(data_for('units_sold')),
|
24
|
+
customers: transform(data_for('customers')),
|
25
|
+
releases: transform(release_data)
|
26
|
+
}
|
27
|
+
}
|
28
|
+
end
|
29
|
+
|
30
|
+
def releases
|
31
|
+
@releases ||= Release.published_between(
|
32
|
+
starts_at: starts_at,
|
33
|
+
ends_at: ends_at
|
34
|
+
).to_a
|
35
|
+
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def date_range
|
40
|
+
starts_at.to_date..ends_at.to_date
|
41
|
+
end
|
42
|
+
|
43
|
+
def grouped_data
|
44
|
+
date_range.each_with_object({}) do |date, group|
|
45
|
+
group[date] = results.select { |r| r.starts_at.to_date == date }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def data_for(type)
|
50
|
+
grouped_data.transform_values do |values|
|
51
|
+
(values || []).map { |v| v[type] }
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def release_data
|
56
|
+
date_range.each_with_object({}) do |date, group|
|
57
|
+
data = releases.select { |r| r.published_at.to_date == date }
|
58
|
+
group[date] = [data.count]
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def transform(data)
|
63
|
+
data.map { |k, v| Hash[x: k.to_time, y: v.first] }.reverse
|
64
|
+
end
|
65
|
+
|
66
|
+
def summarize(data)
|
67
|
+
data
|
68
|
+
.select { |_, v| ! v.empty? }
|
69
|
+
.reduce(0) { |sum, (_k, v)| sum + v.first }
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -11,7 +11,7 @@ module Workarea
|
|
11
11
|
def search
|
12
12
|
@search ||= Search::ProductSearch.new(
|
13
13
|
q: model.query,
|
14
|
-
rules: model.product_rules.
|
14
|
+
rules: model.product_rules.usable,
|
15
15
|
page: options[:page] || 1,
|
16
16
|
show_all: show_all?
|
17
17
|
).tap { |s| s.extend(Search::AdminProductRulesPreview) }
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Workarea
|
2
|
+
module Admin
|
3
|
+
class SegmentViewModel < ApplicationViewModel
|
4
|
+
include CommentableViewModel
|
5
|
+
|
6
|
+
def timeline
|
7
|
+
@timeline ||= TimelineViewModel.new(model)
|
8
|
+
end
|
9
|
+
|
10
|
+
def life_cycle?
|
11
|
+
model.is_a?(Segment::LifeCycle)
|
12
|
+
end
|
13
|
+
|
14
|
+
def insights
|
15
|
+
@insights ||= Insights::SegmentViewModel.wrap(model, options)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -60,24 +60,21 @@ module Workarea
|
|
60
60
|
@orders ||= OrderViewModel.wrap(Order.recent(model.id, 50))
|
61
61
|
end
|
62
62
|
|
63
|
-
def
|
64
|
-
@
|
65
|
-
end
|
66
|
-
|
67
|
-
def activity
|
68
|
-
@activity ||= Recommendation::UserActivity.find_or_initialize_by(id: model.id)
|
63
|
+
def metrics
|
64
|
+
@metrics ||= Metrics::User.find_or_initialize_by(id: model.email)
|
69
65
|
end
|
66
|
+
alias_method :insights, :metrics # To ease upgrades, TODO remove in v3.6
|
70
67
|
|
71
68
|
def recent_products
|
72
|
-
@recent_products ||= Catalog::Product.
|
69
|
+
@recent_products ||= Catalog::Product.find_ordered(metrics.viewed.recent_product_ids)
|
73
70
|
end
|
74
71
|
|
75
72
|
def recent_categories
|
76
|
-
@recent_categories ||= Catalog::Category.
|
73
|
+
@recent_categories ||= Catalog::Category.find_ordered(metrics.viewed.recent_category_ids)
|
77
74
|
end
|
78
75
|
|
79
76
|
def recent_searches
|
80
|
-
|
77
|
+
@recent_searches ||= metrics.viewed.recent_search_ids
|
81
78
|
end
|
82
79
|
|
83
80
|
def email_signup?
|
@@ -15,6 +15,14 @@ module Workarea
|
|
15
15
|
inventory.available
|
16
16
|
end
|
17
17
|
|
18
|
+
def fulfillment
|
19
|
+
@fulfillment ||= Fulfillment::Sku.find_or_create_by(id: sku)
|
20
|
+
end
|
21
|
+
|
22
|
+
def fulfillment_policy
|
23
|
+
fulfillment.policy.titleize
|
24
|
+
end
|
25
|
+
|
18
26
|
def detail_1_name
|
19
27
|
details_array.first.try(:first)
|
20
28
|
end
|
@@ -143,7 +143,7 @@
|
|
143
143
|
%strong
|
144
144
|
= link_to current_impersonation.email, user_path(current_impersonation)
|
145
145
|
%br
|
146
|
-
= form_tag impersonations_path, method: 'delete', data: { disable_delete_confirmation: '' } do
|
146
|
+
= form_tag impersonations_path, method: 'delete', data: { disable_delete_confirmation: '', impersonation_notification: current_impersonation.name } do
|
147
147
|
= button_tag t('workarea.admin.toolbar.stop_impersonation'), class: 'text-button text-button--destroy'
|
148
148
|
- else
|
149
149
|
.header__action
|
@@ -14,7 +14,6 @@
|
|
14
14
|
-# The title tag shows in email notifications, like Android 4.4.
|
15
15
|
%title= t('workarea.admin.layout.mailer.title', host: @host)
|
16
16
|
|
17
|
-
|
18
17
|
-# BEGIN: web font / @font-face
|
19
18
|
-# You're able to load the webfont from your build here, if you so desire.
|
20
19
|
-# This is commented out, by default, since it's something you'll have to
|
@@ -24,19 +23,7 @@
|
|
24
23
|
-# Roman, so we force a safe fallback font.
|
25
24
|
/[if mso]
|
26
25
|
:css
|
27
|
-
* { font-family:
|
28
|
-
|
29
|
-
-# All other clients get the webfont reference; some will render the font
|
30
|
-
-# and others will silently fail to the fallbacks. More on that here:
|
31
|
-
-# http://stylecampaign.com/blog/2015/02/webfont-support-in-email/
|
32
|
-
/[if !mso]
|
33
|
-
:css
|
34
|
-
-# You should replace the following with relevant sections from
|
35
|
-
-# `app/assets/stylesheets/workarea/admin/generic/_fonts.scss`
|
36
|
-
@font-face {
|
37
|
-
font-family: 'Font';
|
38
|
-
src: url('#{font_url('workarea/admin/font.woff2')}') format('woff2')
|
39
|
-
}
|
26
|
+
* { font-family: Helvetica, Arial, sans-serif; }
|
40
27
|
-# END: web font / @font-face
|
41
28
|
|
42
29
|
|
@@ -73,26 +60,27 @@
|
|
73
60
|
mso-table-rspace: 0pt !important;
|
74
61
|
}
|
75
62
|
|
76
|
-
/* Fixes webkit padding issue.
|
63
|
+
/* Fixes webkit padding issue. */
|
77
64
|
table {
|
78
65
|
border-spacing: 0 !important;
|
79
66
|
border-collapse: collapse !important;
|
80
67
|
table-layout: fixed !important;
|
81
68
|
margin: 0 auto !important;
|
82
69
|
}
|
83
|
-
table table table {
|
84
|
-
table-layout: auto;
|
85
|
-
}
|
86
70
|
|
87
71
|
/* Uses a better rendering method when resizing images in IE. */
|
88
72
|
img {
|
89
73
|
-ms-interpolation-mode:bicubic;
|
90
74
|
}
|
91
75
|
|
76
|
+
/* What it does: Prevents Windows 10 Mail from underlining links despite inline CSS. Styles for underlined links should be inline. */
|
77
|
+
a {
|
78
|
+
text-decoration: none;
|
79
|
+
}
|
80
|
+
|
92
81
|
/* A work-around for email clients meddling in triggered links. */
|
93
|
-
|
94
|
-
.
|
95
|
-
.x-gmail-data-detectors *,
|
82
|
+
a[x-apple-data-detectors], /* iOS */
|
83
|
+
.unstyle-auto-detected-links a,
|
96
84
|
.aBn {
|
97
85
|
border-bottom: 0 !important;
|
98
86
|
cursor: default !important;
|
@@ -104,7 +92,12 @@
|
|
104
92
|
line-height: inherit !important;
|
105
93
|
}
|
106
94
|
|
107
|
-
/* Prevents Gmail from
|
95
|
+
/* What it does: Prevents Gmail from changing the text color in conversation threads. */
|
96
|
+
.im {
|
97
|
+
color: inherit !important;
|
98
|
+
}
|
99
|
+
|
100
|
+
/* Prevents Gmail from displaying a download button on large, non-linked images. */
|
108
101
|
.a6S {
|
109
102
|
display: none !important;
|
110
103
|
opacity: 0.01 !important;
|
@@ -114,37 +107,27 @@
|
|
114
107
|
display: none !important;
|
115
108
|
}
|
116
109
|
|
117
|
-
/* Prevents underlining the button text in Windows 10 */
|
118
|
-
.button-link {
|
119
|
-
text-decoration: none !important;
|
120
|
-
}
|
121
|
-
|
122
110
|
/* Removes right gutter in Gmail iOS app: https://github.com/TedGoas/Cerberus/issues/89 */
|
123
111
|
/* Create one of these media queries for each additional viewport size you'd like to fix */
|
124
112
|
|
125
113
|
/* iPhone 4, 4S, 5, 5S, 5C, and 5SE */
|
126
114
|
@media only screen and (min-device-width: 320px) and (max-device-width: 374px) {
|
127
|
-
.email-container {
|
115
|
+
u ~ div .email-container {
|
128
116
|
min-width: 320px !important;
|
129
117
|
}
|
130
118
|
}
|
131
119
|
/* iPhone 6, 6S, 7, 8, and X */
|
132
120
|
@media only screen and (min-device-width: 375px) and (max-device-width: 413px) {
|
133
|
-
.email-container {
|
121
|
+
u ~ div .email-container {
|
134
122
|
min-width: 375px !important;
|
135
123
|
}
|
136
124
|
}
|
137
125
|
/* iPhone 6+, 7+, and 8+ */
|
138
126
|
@media only screen and (min-device-width: 414px) {
|
139
|
-
.email-container {
|
127
|
+
u ~ div .email-container {
|
140
128
|
min-width: 414px !important;
|
141
129
|
}
|
142
130
|
}
|
143
|
-
-# END: CSS Reset
|
144
|
-
|
145
|
-
-# The rest of the styles are loaded from the email manifest and will be
|
146
|
-
-# applied to each element via premailer.
|
147
|
-
= stylesheet_link_tag 'workarea/admin/email'
|
148
131
|
|
149
132
|
-# Makes background images in 72ppi Outlook render at correct size.
|
150
133
|
/[if gte mso 9]
|
@@ -155,11 +138,16 @@
|
|
155
138
|
<o:PixelsPerInch>96</o:PixelsPerInch>
|
156
139
|
</o:OfficeDocumentSettings>
|
157
140
|
</xml>
|
141
|
+
-# END: CSS Reset
|
142
|
+
|
143
|
+
-# The rest of the styles are loaded from the email manifest and will be
|
144
|
+
-# applied to each element via premailer.
|
145
|
+
= stylesheet_link_tag 'workarea/admin/email'
|
158
146
|
|
159
147
|
%body{ style: 'mso-line-height-rule: exactly;', width: '100%' }
|
160
148
|
%center
|
161
149
|
/[if mso | IE]
|
162
|
-
<table role="presentation" width="100%"><tr><td>
|
150
|
+
<table class='mso-wrapper' role="presentation" width="100%" align="center"><tr><td>
|
163
151
|
|
164
152
|
-# Preheader Text
|
165
153
|
-# A preheader (otherwise known as a ‘Johnson Box’) is the short summary
|
@@ -167,19 +155,25 @@
|
|
167
155
|
- if content_for?(:preheader_text)
|
168
156
|
.preheader-text= yield :preheader_text
|
169
157
|
|
170
|
-
|
158
|
+
-# Preview Text Spacing Hack
|
159
|
+
-# Create white space after the desired preview text so email clients
|
160
|
+
-# don’t pull other distracting text into the inbox preview. Extend as
|
161
|
+
-# necessary.
|
162
|
+
.hidden!= '‌ ' * 18
|
163
|
+
|
164
|
+
%table.email-container{ role: 'presentation', width: Workarea.config.admin_email_width }
|
171
165
|
%tr
|
172
166
|
%td.email-header
|
173
167
|
= link_to "http://#{Workarea.config.host}/", class: 'logo' do
|
174
|
-
= image_tag url_to_image('workarea/admin/
|
168
|
+
= image_tag url_to_image('workarea/admin/email_logo.png'), alt: t('workarea.admin.layout.mailer.homepage_link'), class: 'logo__image', border: 0, width: 220
|
175
169
|
|
176
|
-
%table.email-container.email-container--main{ role: 'presentation', width:
|
170
|
+
%table.email-container.email-container--main{ role: 'presentation', width: Workarea.config.admin_email_width }
|
177
171
|
= yield
|
178
172
|
|
179
|
-
%table.email-container{ role: 'presentation', width:
|
173
|
+
%table.email-container{ role: 'presentation', width: Workarea.config.admin_email_width }
|
180
174
|
%tr
|
181
175
|
%td.email-footer
|
182
|
-
|
176
|
+
Workarea<br>22 S 3rd St, Philadelphia, PA 19106
|
183
177
|
|
184
178
|
/[if mso | IE]
|
185
179
|
</td></tr></table>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
- name = link_to(t('workarea.admin.activities.configuration_admin'), configuration_path)
|
10
|
+
= t('workarea.admin.activities.configuration_admin_update_html', fields: fields_clause_for(entry.tracked_changes), name: name)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
- if entry.audited.present?
|
10
|
+
= t('workarea.admin.activities.fulfillment_sku_create_html', name: link_to(entry.audited.name, fulfillment_sku_path(entry.audited)))
|
11
|
+
- else
|
12
|
+
= t('workarea.admin.activities.fulfillment_sku_create_html', name: entry.model_attributes['_id'])
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
= t('workarea.admin.activities.fulfillment_sku_destroy_html', name: entry.model_attributes['_id'])
|
10
|
+
= link_to_restore_for(entry)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
- name = entry.audited.blank? ? entry.model_attributes['_id'] : link_to(entry.audited.name, fulfillment_sku_path(entry.audited))
|
10
|
+
= t('workarea.admin.activities.fulfillment_sku_update_html', fields: fields_clause_for(entry.tracked_changes), name: name)
|
@@ -0,0 +1,12 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
- if entry.audited.present?
|
10
|
+
= t('workarea.admin.activities.segment_create_html', name: link_to(entry.audited.name, segment_path(entry.audited)))
|
11
|
+
- else
|
12
|
+
= t('workarea.admin.activities.segment_create_html', name: entry.model_name)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
= t('workarea.admin.activities.segment_destroy_html', name: entry.model_name)
|
10
|
+
= link_to_restore_for(entry)
|
@@ -0,0 +1,10 @@
|
|
1
|
+
.activity
|
2
|
+
.activity__header
|
3
|
+
.activity__avatar
|
4
|
+
= link_to_modifier(entry) do
|
5
|
+
= avatar_for entry.modifier
|
6
|
+
%h3.activity__name= link_to_modifier(entry)
|
7
|
+
%p.activity__time= activity_time(entry.created_at)
|
8
|
+
.activity__message
|
9
|
+
- name = entry.audited.blank? ? entry.model_name : link_to(entry.audited.name, segment_path(entry.audited))
|
10
|
+
= t('workarea.admin.activities.segment_update_html', fields: fields_clause_for(entry.tracked_changes), name: name)
|
@@ -24,20 +24,27 @@
|
|
24
24
|
|
25
25
|
= render 'workarea/admin/shared/creation_date', search: @activity, form_path: catalog_categories_path
|
26
26
|
|
27
|
-
|
27
|
+
%p.browsing-controls__count= t('workarea.admin.activities.show.activity', count: @activity.entries.count)
|
28
|
+
|
29
|
+
.view__container
|
30
|
+
.section
|
28
31
|
- if @activity.entries.present?
|
29
32
|
- @activity.days.each_with_index do |(day, entries), index|
|
30
|
-
|
31
|
-
.
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
33
|
+
.activity-group
|
34
|
+
.grid
|
35
|
+
.grid__cell.grid__cell--20
|
36
|
+
.date-marker
|
37
|
+
- if day == Date.today
|
38
|
+
.date-marker__annotation= t('workarea.admin.timeline.today')
|
39
|
+
.date-marker__month= local_time(day, format: '%b')
|
40
|
+
.date-marker__day= local_time(day, format: '%e')
|
41
|
+
.grid__cell.grid__cell--80
|
42
|
+
.activity-group__activities
|
43
|
+
- entries.each do |entry|
|
44
|
+
= render_activity_entry(entry)
|
39
45
|
- else
|
40
|
-
|
46
|
+
.align-center
|
47
|
+
%p.heading.heading--3= t('workarea.admin.activities.show.no_activity')
|
41
48
|
|
42
49
|
- if @activity.entries.total_pages > 1
|
43
50
|
= render 'workarea/admin/shared/pagination', collection: @activity.entries
|
@@ -24,6 +24,10 @@
|
|
24
24
|
= inline_svg('workarea/admin/i18n.svg', class: 'svg-icon svg-icon--small') if locale_options.many? && Workarea.config.localized_active_fields
|
25
25
|
= toggle_button_for 'bulk_action[settings][active]', @bulk_action.selected_true?('settings', 'active'), disabled: !@bulk_action.selected?('settings', 'active')
|
26
26
|
|
27
|
+
.property
|
28
|
+
= label_tag 'bulk_action_settings_active_segment_ids', t('workarea.admin.shared.active_field.only_for'), class: 'property__name'
|
29
|
+
= select_tag 'bulk_action[settings][active_segment_ids]', options_from_collection_for_select(segments, :id, :name, @bulk_action.settings['active_segment_ids'] || []), multiple: true, data: { select: { placeholder: t('workarea.admin.shared.active_field.select_segments'), allowClear: true } }
|
30
|
+
|
27
31
|
.bulk-actions__sub-section
|
28
32
|
.grid
|
29
33
|
.grid__cell
|
@@ -13,11 +13,18 @@
|
|
13
13
|
.bulk-actions__section
|
14
14
|
%h2.bulk-actions__section-heading= t('workarea.admin.bulk_action_product_edits.settings.title')
|
15
15
|
.bulk-actions__sub-section
|
16
|
-
- if @bulk_action.settings.
|
17
|
-
- @bulk_action.settings.each do |name, value|
|
18
|
-
%p <strong>#{name.humanize.titleize}</strong>: #{value}
|
19
|
-
- else
|
16
|
+
- if @bulk_action.settings.blank?
|
20
17
|
%p= t('workarea.admin.bulk_action_product_edits.review.no_change')
|
18
|
+
- else
|
19
|
+
- @bulk_action.settings.except('active_segment_ids').each do |name, value|
|
20
|
+
%p
|
21
|
+
%strong= t("workarea.admin.fields.#{name}", default: name.titleize)
|
22
|
+
#{change_display_value(value)}
|
23
|
+
|
24
|
+
- if @bulk_action.segments.present?
|
25
|
+
%p
|
26
|
+
%strong= t('workarea.admin.fields.active_segment_ids')
|
27
|
+
= @bulk_action.segments.map(&:name).to_sentence
|
21
28
|
|
22
29
|
.bulk-actions__section
|
23
30
|
%h2.bulk-actions__section-heading= t('workarea.admin.fields.tags')
|
@@ -44,7 +44,7 @@
|
|
44
44
|
%span.property__name
|
45
45
|
= t('workarea.admin.catalog_products.edit.active_title')
|
46
46
|
= inline_svg('workarea/admin/i18n.svg', class: 'svg-icon svg-icon--small') if locale_options.many? && Workarea.config.localized_active_fields
|
47
|
-
=
|
47
|
+
= render 'workarea/admin/shared/active_field', scope: 'product', model: @product
|
48
48
|
|
49
49
|
.grid__cell.grid__cell--25
|
50
50
|
.property
|