From 8c080ea04c35cb687e64e450a7f496acfbe1d8d1 Mon Sep 17 00:00:00 2001 From: Anton Date: Tue, 2 Aug 2022 14:51:18 +0200 Subject: [PATCH] Add promo page for label templates [SCI-7029] --- app/assets/images/printers/labels_promo.png | Bin 0 -> 46175 bytes .../images/printers/labels_promo_icon_0.png | Bin 0 -> 800 bytes .../images/printers/labels_promo_icon_1.png | Bin 0 -> 629 bytes .../images/printers/labels_promo_icon_2.png | Bin 0 -> 750 bytes app/assets/stylesheets/application.scss | 1 + .../index.scss} | 0 .../stylesheets/label_templates/promo.scss | 45 ++++++++++++++++++ app/controllers/label_templates_controller.rb | 5 ++ app/models/label_template.rb | 4 ++ app/views/label_templates/promo.html.erb | 35 ++++++++++++++ config/locales/en.yml | 8 ++++ 11 files changed, 98 insertions(+) create mode 100644 app/assets/images/printers/labels_promo.png create mode 100644 app/assets/images/printers/labels_promo_icon_0.png create mode 100644 app/assets/images/printers/labels_promo_icon_1.png create mode 100644 app/assets/images/printers/labels_promo_icon_2.png rename app/assets/stylesheets/{label_template_index.scss => label_templates/index.scss} (100%) create mode 100644 app/assets/stylesheets/label_templates/promo.scss create mode 100644 app/views/label_templates/promo.html.erb diff --git a/app/assets/images/printers/labels_promo.png b/app/assets/images/printers/labels_promo.png new file mode 100644 index 0000000000000000000000000000000000000000..afd8ce986684afd6bbc7bd967f75190975d8735d GIT binary patch literal 46175 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/printers/labels_promo_icon_0.png b/app/assets/images/printers/labels_promo_icon_0.png new file mode 100644 index 0000000000000000000000000000000000000000..cb273476668562e9ce58b4927dac0e67a78adec0 GIT binary patch literal 800 zcmV+*1K<3KP)9%k+pmY%Tz&-3935&uCUlhkw!2?~eIvd7j% zrcYyHm)!*g{Nu<8z7&TUV`uv8sXqQ54{%GsXUHO0*UwA9#qJ;iF@ zfU@Y@(~b1gHhAq2bH)dy6X{KVD?yhra*P_K_Mm(!N2R*-@EQc^7_`#Hh+LoB1A%K2 z8BeelF3>nE;{D@|6e7ZB5~7g2=p9XP&0gL+L9F#raoQYwdn#Lo+(8k?k9TtTFq9m6 z{JND_M{jU!NYWAbihUB)_1n`wLnI^vk-Jo#2yH_w4z`ge&-I+My%E$G1-UXT)OicH zCPt`n!`@2U>#&4Cb;Nd3x)WTiYHu%Q4gCw@XDv%QUj|8@HOP{gBq$;}F`6;E7q7b- zRprqLL-x#UtUNhP+O+&pHlw-f2AgAU9;7hp&~_|lFJD05hiVEKBzci-i`g<7tcln` zFhn|h9Y#L%9(Lms{~<}~n=GAAa9{o)n}*oC6Io|{(5h}n zut%GHuDs+(L-Swb#EKOqrppe_rhs-z+AWh3fJBjErd_!IWu zAe-Pa*QJ;RT%YxR6&BnzmU8;N0H9_kJ136MABMQ%Vif#n3i2^dbGoPgdyJc0NE&)lF#Xo4ha(E2aznu0Cu zQa~g9lFe?nv+Lj4nQYSqyXUvjF>MArb)&P+AYbAN<*0#S1u zavUqrr*wphG%IY*-sk}eDj{pUmmyz>L5_CMW!U8God!xAyyU_Qb-2QnuT5olOd7xw zu^v~z^A5Tjtg*%Od6{i2w&sF-vLL9SY(IVKPDkvVU$YQ)hvsc0PzNClA}uk_mw73U z{guzm8PtG{2@l@Nsb|`?Kq=BaE3ri}N#-v++g9g;=e~Nk^B6oa^eO;EI@2LL>N$xA zJCp((XF&x&{-o_x8HY{gBE*SQ=ak|E;sc*(Q95WcVjEpoHZRErQAuLc_HacY$rB+QV^cK5 z<&r?3zKe7sfoVM#q~_R$h^-<-_Rv=M_8_(u%-kS5t%H&(M2TMf=dkEw9+Q1!ver%3f#-xGD z+>pH!qjh1`xo)LhtN4u=)Z)(z)Jl>q{65jc` zz*RexhwU9zXW?u68l)f@uW@ zyxw@lzwuMW?rzFYGbe9H6a&JCEH|b;EohIUh@kMlhyfog#YYAKjSv+auMg{V) z;6_gE`%)6qsMeL6JTSyA^YGhZG<;l=g}E#{ z!Ogj)zxbGm{m}-$L!n+a literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/application.scss b/app/assets/stylesheets/application.scss index 830297fe6..586fb2321 100644 --- a/app/assets/stylesheets/application.scss +++ b/app/assets/stylesheets/application.scss @@ -36,6 +36,7 @@ @import "dashboard/*"; @import "repository/*"; @import "repository_columns/*"; +@import "label_templates/*"; @import "reports/*"; @import "settings/*"; @import "shared/*"; diff --git a/app/assets/stylesheets/label_template_index.scss b/app/assets/stylesheets/label_templates/index.scss similarity index 100% rename from app/assets/stylesheets/label_template_index.scss rename to app/assets/stylesheets/label_templates/index.scss diff --git a/app/assets/stylesheets/label_templates/promo.scss b/app/assets/stylesheets/label_templates/promo.scss new file mode 100644 index 000000000..e1e826660 --- /dev/null +++ b/app/assets/stylesheets/label_templates/promo.scss @@ -0,0 +1,45 @@ +// scss-lint:disable SelectorDepth NestingDepth +.content-label-templates-promo { + align-items: center; + display: flex; + justify-content: center; + + .promo-container { + margin-top: 2em; + max-width: 800px; + position: relative; + } + + .promo-image { + left: 0; + position: absolute; + top: 0; + + img { + max-width: 60vw; + } + } + + .promo-text { + margin-left: 420px; + margin-top: 150px; + + .title { + margin-bottom: 1em; + } + + .description-item { + align-items: center; + display: flex; + margin-bottom: 1em; + + img { + margin-right: 1em; + } + } + + .btn { + margin-top: 1em; + } + } +} diff --git a/app/controllers/label_templates_controller.rb b/app/controllers/label_templates_controller.rb index 25b7f1455..94d92fe78 100644 --- a/app/controllers/label_templates_controller.rb +++ b/app/controllers/label_templates_controller.rb @@ -3,6 +3,7 @@ class LabelTemplatesController < ApplicationController include InputSanitizeHelper + before_action :check_feature_enabled before_action :check_view_permissions, only: %i(index datatable) before_action :check_manage_permissions, only: %i(new duplicate set_default delete) before_action :load_label_templates, only: %i(index datatable) @@ -69,6 +70,10 @@ class LabelTemplatesController < ApplicationController private + def check_feature_enabled + render :promo unless LabelTemplate.enabled? + end + def check_view_permissions render_403 unless can_view_label_templates?(current_team) end diff --git a/app/models/label_template.rb b/app/models/label_template.rb index e002e86de..a4a91d32b 100644 --- a/app/models/label_template.rb +++ b/app/models/label_template.rb @@ -11,6 +11,10 @@ class LabelTemplate < ApplicationRecord validate :default_template + def self.enabled? + ApplicationSettings.instance.values['label_templates_enabled'] + end + def render(locals) locals.reduce(content.dup) do |rendered_content, (key, value)| rendered_content.gsub!(/\{\{#{key}\}\}/, value.to_s) diff --git a/app/views/label_templates/promo.html.erb b/app/views/label_templates/promo.html.erb new file mode 100644 index 000000000..ecbfea4b4 --- /dev/null +++ b/app/views/label_templates/promo.html.erb @@ -0,0 +1,35 @@ +<% provide(:sidebar_title, t('sidebar.templates.sidebar_title')) %> +<% provide(:container_class, "no-second-nav-container") %> +<%= content_for :sidebar do %> + <%= render partial: "/shared/sidebar/templates_sidebar", locals: {active: :label} %> +<% end %> + +
+ \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index 24c4bc381..2a27de532 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -838,6 +838,14 @@ en: title: 'Delete Label template(s)' description: 'Are you sure you want to delete the selected Label template(s)?' + promo: + head_title: 'Label templates' + promo_title: 'Label all your tubes & containers by your own standards' + description_0: 'Easily track your inventory items with labels' + description_1: 'Print labels fast & easy' + description_2: 'Always have 100% accurate standard output' + action_button: 'Try Label templates' + label_printers: create: success: "Successfully added %{printer_name}"