workarea-blog 3.4.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.editorconfig +20 -0
- data/.eslintignore +2 -0
- data/.eslintrc +24 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +37 -0
- data/.github/ISSUE_TEMPLATE/documentation-request.md +17 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.gitignore +16 -0
- data/.rspec +2 -0
- data/.scss-lint.yml +188 -0
- data/.tailor +180 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +1123 -0
- data/CODE_OF_CONDUCT.md +3 -0
- data/CONTRIBUTING.md +3 -0
- data/Gemfile +7 -0
- data/LICENSE +52 -0
- data/README.md +140 -0
- data/Rakefile +42 -0
- data/app/assets/images/workarea/admin/blog/content_block_types/blog_entry.svg +1 -0
- data/app/assets/images/workarea/admin/blog/icons/blog.svg +1 -0
- data/app/assets/images/workarea/admin/blog/icons/blog_entry.svg +1 -0
- data/app/assets/images/workarea/admin/blog/icons/blog_post_comment.svg +1 -0
- data/app/assets/javascripts/workarea/storefront/blog/modules/blog_comment_placeholder.js +33 -0
- data/app/assets/stylesheets/workarea/admin/blog/components/_blog_entry_card.scss +14 -0
- data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry.scss +91 -0
- data/app/assets/stylesheets/workarea/storefront/blog/components/_blog_entry_summary.scss +74 -0
- data/app/assets/stylesheets/workarea/storefront/blog/components/_featured_entry_content_block.scss +22 -0
- data/app/controllers/workarea/admin/application_controller.decorator +5 -0
- data/app/controllers/workarea/admin/content_blog_comments_controller.rb +54 -0
- data/app/controllers/workarea/admin/content_blog_entries_controller.rb +70 -0
- data/app/controllers/workarea/admin/content_blogs_controller.rb +56 -0
- data/app/controllers/workarea/admin/create_content_blog_entries_controller.rb +69 -0
- data/app/controllers/workarea/storefront/blog_comments_controller.rb +14 -0
- data/app/controllers/workarea/storefront/blog_entries_controller.rb +48 -0
- data/app/controllers/workarea/storefront/blogs_controller.rb +19 -0
- data/app/helpers/workarea/admin/blogs_helper.rb +61 -0
- data/app/models/workarea/content/blog.rb +26 -0
- data/app/models/workarea/content/blog_comment.rb +67 -0
- data/app/models/workarea/content/blog_entry.rb +35 -0
- data/app/models/workarea/content/fields/blog_entry_id.rb +11 -0
- data/app/models/workarea/content/fields/blog_id.rb +8 -0
- data/app/models/workarea/search/admin/content_blog.rb +27 -0
- data/app/models/workarea/search/admin/content_blog_entry.rb +37 -0
- data/app/queries/workarea/metadata/content_blog.rb +6 -0
- data/app/queries/workarea/metadata/content_blog_entry.rb +6 -0
- data/app/queries/workarea/search/admin_blog_entries.rb +24 -0
- data/app/queries/workarea/search/admin_blogs.rb +20 -0
- data/app/seeds/workarea/blog_comments_seeds.rb +26 -0
- data/app/seeds/workarea/blog_entry_seeds.rb +73 -0
- data/app/seeds/workarea/blog_seeds.rb +53 -0
- data/app/services/workarea/search/queries/blog_admin.rb +20 -0
- data/app/services/workarea/search/queries/blog_entry_admin.rb +13 -0
- data/app/services/workarea/set_navigable.decorator +10 -0
- data/app/view_models/workarea/admin/blog_comments_view_model.rb +45 -0
- data/app/view_models/workarea/admin/blog_entries_view_model.rb +31 -0
- data/app/view_models/workarea/admin/blog_entry_view_model.rb +29 -0
- data/app/view_models/workarea/admin/blog_search_view_model.rb +6 -0
- data/app/view_models/workarea/admin/blog_view_model.rb +13 -0
- data/app/view_models/workarea/storefront/blog_entry_view_model.rb +43 -0
- data/app/view_models/workarea/storefront/blog_index_view_model.rb +17 -0
- data/app/view_models/workarea/storefront/blog_view_model.rb +83 -0
- data/app/view_models/workarea/storefront/content_blocks/blog_entry_content_block_view_model.rb +63 -0
- data/app/views/workarea/admin/activities/_content_blog_comment_create.html.haml +12 -0
- data/app/views/workarea/admin/activities/_content_blog_comment_destroy.html.haml +9 -0
- data/app/views/workarea/admin/activities/_content_blog_comment_update.html.haml +10 -0
- data/app/views/workarea/admin/activities/_content_blog_create.html.haml +12 -0
- data/app/views/workarea/admin/activities/_content_blog_destroy.html.haml +10 -0
- data/app/views/workarea/admin/activities/_content_blog_entry_create.html.haml +12 -0
- data/app/views/workarea/admin/activities/_content_blog_entry_destroy.html.haml +10 -0
- data/app/views/workarea/admin/activities/_content_blog_entry_update.html.haml +10 -0
- data/app/views/workarea/admin/activities/_content_blog_update.html.haml +10 -0
- data/app/views/workarea/admin/blog/_dashboard_navigation.html.haml +1 -0
- data/app/views/workarea/admin/blog/_menu.html.haml +13 -0
- data/app/views/workarea/admin/content_blocks/_blog_entry_id.html.haml +4 -0
- data/app/views/workarea/admin/content_blocks/_blog_id.html.haml +3 -0
- data/app/views/workarea/admin/content_blog_comments/_summary.html.haml +24 -0
- data/app/views/workarea/admin/content_blog_comments/edit.html.haml +60 -0
- data/app/views/workarea/admin/content_blog_comments/index.html.haml +49 -0
- data/app/views/workarea/admin/content_blog_entries/_aux_navigation.html.haml +4 -0
- data/app/views/workarea/admin/content_blog_entries/_cards.html.haml +113 -0
- data/app/views/workarea/admin/content_blog_entries/_summary.html.haml +10 -0
- data/app/views/workarea/admin/content_blog_entries/edit.html.haml +75 -0
- data/app/views/workarea/admin/content_blog_entries/index.html.haml +80 -0
- data/app/views/workarea/admin/content_blog_entries/index.json.jbuilder +5 -0
- data/app/views/workarea/admin/content_blog_entries/show.html.haml +20 -0
- data/app/views/workarea/admin/content_blog_entries/thumbnail_image.html.haml +55 -0
- data/app/views/workarea/admin/content_blogs/_aux_navigation.html.haml +2 -0
- data/app/views/workarea/admin/content_blogs/_cards.html.haml +58 -0
- data/app/views/workarea/admin/content_blogs/_summary.html.haml +6 -0
- data/app/views/workarea/admin/content_blogs/edit.html.haml +51 -0
- data/app/views/workarea/admin/content_blogs/index.html.haml +76 -0
- data/app/views/workarea/admin/content_blogs/index.json.jbuilder +4 -0
- data/app/views/workarea/admin/content_blogs/new.html.haml +33 -0
- data/app/views/workarea/admin/content_blogs/show.html.haml +19 -0
- data/app/views/workarea/admin/create_content_blog_entries/content.html.haml +28 -0
- data/app/views/workarea/admin/create_content_blog_entries/featured_products.html.haml +71 -0
- data/app/views/workarea/admin/create_content_blog_entries/publish.html.haml +51 -0
- data/app/views/workarea/admin/create_content_blog_entries/setup.html.haml +61 -0
- data/app/views/workarea/admin/create_content_blog_entries/thumbnail_image.html.haml +48 -0
- data/app/views/workarea/storefront/blog_comments/index.html.haml +31 -0
- data/app/views/workarea/storefront/blog_entries/_summary.html.haml +25 -0
- data/app/views/workarea/storefront/blog_entries/show.html.haml +85 -0
- data/app/views/workarea/storefront/blog_metadata/_publisher.html.haml +7 -0
- data/app/views/workarea/storefront/blogs/_blog_navigation.html.haml +7 -0
- data/app/views/workarea/storefront/blogs/index.html.haml +25 -0
- data/app/views/workarea/storefront/blogs/show.atom.builder +26 -0
- data/app/views/workarea/storefront/blogs/show.html.haml +31 -0
- data/app/views/workarea/storefront/content_blocks/_blog_entry.html.haml +20 -0
- data/app/workers/workarea/generate_content_metadata.decorator +15 -0
- data/bin/rails +18 -0
- data/config/initializers/appends.rb +26 -0
- data/config/initializers/content_block_types.rb +13 -0
- data/config/initializers/jump_to_navigation.rb +3 -0
- data/config/initializers/seeds.rb +5 -0
- data/config/initializers/workarea.rb +15 -0
- data/config/locales/en.yml +244 -0
- data/config/routes.rb +49 -0
- data/data/blog_thumbnails/thumbnail_1.png +0 -0
- data/data/blog_thumbnails/thumbnail_2.png +0 -0
- data/data/blog_thumbnails/thumbnail_3.png +0 -0
- data/lib/tasks/import_wordpress.rake +13 -0
- data/lib/tasks/import_wordpress_attachments.rake +18 -0
- data/lib/tasks/import_wordpress_pages.rake +21 -0
- data/lib/tasks/import_wordpress_posts.rake +25 -0
- data/lib/workarea/blog/engine.rb +8 -0
- data/lib/workarea/blog/import/wordpress/attachment.rb +40 -0
- data/lib/workarea/blog/import/wordpress/content_cleaner.rb +64 -0
- data/lib/workarea/blog/import/wordpress/entry.rb +76 -0
- data/lib/workarea/blog/import/wordpress/entry_parser.rb +64 -0
- data/lib/workarea/blog/import/wordpress/page.rb +69 -0
- data/lib/workarea/blog/import/wordpress/page_parser.rb +50 -0
- data/lib/workarea/blog/version.rb +5 -0
- data/lib/workarea/blog.rb +11 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/config/manifest.js +4 -0
- data/test/dummy/app/assets/images/.keep +0 -0
- data/test/dummy/app/assets/javascripts/application.js +13 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/controllers/concerns/.keep +0 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/jobs/application_job.rb +2 -0
- data/test/dummy/app/mailers/application_mailer.rb +4 -0
- data/test/dummy/app/models/concerns/.keep +0 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
- data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/bin/setup +34 -0
- data/test/dummy/bin/update +29 -0
- data/test/dummy/config/application.rb +26 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/cable.yml +9 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +59 -0
- data/test/dummy/config/environments/production.rb +86 -0
- data/test/dummy/config/environments/test.rb +43 -0
- data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
- data/test/dummy/config/initializers/assets.rb +11 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/new_framework_defaults.rb +18 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/workarea.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/puma.rb +47 -0
- data/test/dummy/config/routes.rb +5 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/config/spring.rb +6 -0
- data/test/dummy/config.ru +5 -0
- data/test/dummy/db/seeds.rb +2 -0
- data/test/dummy/lib/assets/.keep +0 -0
- data/test/dummy/log/.keep +0 -0
- data/test/factories/blog.rb +33 -0
- data/test/factories/wordpress_import.rb +17 -0
- data/test/fixtures/test_wordpress.xml +493 -0
- data/test/integration/workarea/blog/admin_integration_test.rb +55 -0
- data/test/integration/workarea/blog/create_blog_entries_integration_test.rb +106 -0
- data/test/integration/workarea/blog/storefront_integration_test.rb +112 -0
- data/test/integration/workarea/blog/wordpress_import_integration_test.rb +26 -0
- data/test/lib/workarea/blog/import/wordpress/attachment_test.rb +20 -0
- data/test/lib/workarea/blog/import/wordpress/content_cleaner_test.rb +65 -0
- data/test/lib/workarea/blog/import/wordpress/entry_parser_test.rb +42 -0
- data/test/lib/workarea/blog/import/wordpress/entry_test.rb +61 -0
- data/test/lib/workarea/blog/import/wordpress/page_parser_test.rb +35 -0
- data/test/lib/workarea/blog/import/wordpress/page_test.rb +52 -0
- data/test/models/workarea/content/blog_comment_test.rb +57 -0
- data/test/models/workarea/content/blog_entry_test.rb +17 -0
- data/test/queries/workarea/metadata/content_blog_entry_test.rb +36 -0
- data/test/queries/workarea/metadata/content_blog_test.rb +36 -0
- data/test/support/workarea/blog/stub_wordpress_assets.rb +19 -0
- data/test/system/workarea/admin/blog_entries_system_test.rb +103 -0
- data/test/system/workarea/admin/blog_system_test.rb +93 -0
- data/test/system/workarea/admin/blog_taxonomy_system_test.rb +21 -0
- data/test/system/workarea/admin/blog_user_comments_system_test.rb +138 -0
- data/test/system/workarea/storefront/blog_content_block_system_test.rb +36 -0
- data/test/system/workarea/storefront/blog_system_test.rb +256 -0
- data/test/test_helper.rb +9 -0
- data/test/view_models/workarea/admin/blog_comments_view_model_test.rb +77 -0
- data/test/view_models/workarea/admin/blog_entries_view_model_test.rb +36 -0
- data/test/view_models/workarea/storefront/blog_entry_content_block_view_model_test.rb +100 -0
- data/test/view_models/workarea/storefront/blog_entry_view_model_test.rb +47 -0
- data/test/view_models/workarea/storefront/blog_view_model_test.rb +149 -0
- data/test/workers/workarea/generate_content_blog_metadata_test.rb +18 -0
- data/workarea-blog.gemspec +19 -0
- metadata +274 -0
@@ -0,0 +1,49 @@
|
|
1
|
+
- @page_title = t('workarea.admin.content_blogs_comments.index.page_title')
|
2
|
+
|
3
|
+
.view.comments
|
4
|
+
.view__header
|
5
|
+
.grid.grid--right.grid--middle
|
6
|
+
.grid__cell.grid__cell--50
|
7
|
+
.view__heading
|
8
|
+
- if @blog_comments.blog_entry.present?
|
9
|
+
= link_to t('workarea.admin.content_blogs_comments.index.dashboard_link', blog_name: @blog_comments.blog_entry.blog.name), content_blog_blog_entries_path(@blog_comments.blog_entry.blog.slug)
|
10
|
+
- else
|
11
|
+
= link_to t('workarea.admin.content_blogs_comments.index.all_blogs'), content_blogs_path
|
12
|
+
- if @blog_comments.blog_entry.present?
|
13
|
+
%h1= link_to t('workarea.admin.content_blogs_comments.index.comments_for_entry', entry_name: @blog_comments.blog_entry.name), url_for(@blog_comments.blog_entry)
|
14
|
+
- else
|
15
|
+
%h1= t('workarea.admin.content_blogs_comments.index.blog_entry_comments')
|
16
|
+
.grid__cell.grid__cell--25
|
17
|
+
- if @blog_comments.blog_entry.present?
|
18
|
+
= render_aux_navigation_for(@blog_comments.blog_entry)
|
19
|
+
|
20
|
+
.view__container.view__container--narrow
|
21
|
+
- if @blog_comments.comments.any?
|
22
|
+
- form_path = @blog_comments.blog_entry.present? ? content_blog_user_comments_path(content_blog_entry_id: @blog_comments.blog_entry) : content_blog_user_comments_path
|
23
|
+
= form_tag form_path, method: 'get', id: 'blog_comments_sort_form' do
|
24
|
+
= hidden_field_tag 'content_blog_entry_id', params[:content_blog_entry_id] if params[:content_blog_entry_id].present?
|
25
|
+
|
26
|
+
.browsing-controls.browsing-controls--with-divider.browsing-controls--center
|
27
|
+
.property.property--inline
|
28
|
+
= label_tag 'sort', t('workarea.admin.search.sort_by'), class: 'property__name'
|
29
|
+
= select_tag 'sort', options_for_select(sort_options(@blog_comments), params[:sort]), data: { form_submitting_control: '' }
|
30
|
+
|
31
|
+
%p.browsing-controls__count{ data: { browsing_controls_count: @blog_comments.comments.total_count } }
|
32
|
+
= t('workarea.admin.content_blogs_comments.index.comments', count: @blog_comments.comments.total_count)
|
33
|
+
|
34
|
+
.comments__comment-group
|
35
|
+
- @blog_comments.comments.each do |blog_comment|
|
36
|
+
= render_summary_for(blog_comment)
|
37
|
+
|
38
|
+
- if @blog_comments.comments.total_pages > 1
|
39
|
+
= render 'workarea/admin/shared/pagination', collection: @blog_comments.comments
|
40
|
+
|
41
|
+
.workflow-bar
|
42
|
+
.grid
|
43
|
+
.grid__cell.grid__cell--50
|
44
|
+
.grid.grid--auto
|
45
|
+
.grid__cell= link_to t('workarea.admin.shared.bulk_actions.import'), new_data_file_import_path(model_type: Workarea::Content::BlogComment, return_to: form_path), class: 'workflow-bar__button'
|
46
|
+
.grid__cell= link_to t('workarea.admin.shared.bulk_actions.export'), new_data_file_export_path(model_type: Workarea::Content::BlogComment, query_id: generic_admin_search_query_id(model_type: Workarea::Content::BlogComment, entry_id: @blog_comments&.blog_entry&.id), return_to: form_path), class: 'workflow-bar__button'
|
47
|
+
|
48
|
+
- else
|
49
|
+
%p= t('workarea.admin.content_blogs_comments.index.no_comments_found')
|
@@ -0,0 +1,4 @@
|
|
1
|
+
.grid.grid--auto.grid--right.grid--middle
|
2
|
+
- if @blog_entry.present?
|
3
|
+
.grid__cell= link_to t('workarea.admin.content_blog_entries.aux_navigation.view_blog'), content_blog_path(@blog_entry.blog)
|
4
|
+
.grid__cell= link_to t('workarea.admin.actions.view_on_storefront'), storefront.blog_entry_path(model)
|
@@ -0,0 +1,113 @@
|
|
1
|
+
.grid.grid--auto.grid--flush.grid--center
|
2
|
+
.grid__cell
|
3
|
+
.card{ class: card_classes(:attributes, local_assigns[:active]) }
|
4
|
+
= link_to edit_content_blog_entry_path(model), class: 'card__header' do
|
5
|
+
%span.card__header-text= t('workarea.admin.content_blog_entries.cards.attributes.title')
|
6
|
+
= inline_svg 'workarea/admin/icons/attributes.svg', class: 'card__icon'
|
7
|
+
|
8
|
+
- if local_assigns[:active].blank?
|
9
|
+
.card__body
|
10
|
+
%ul.list-reset
|
11
|
+
%li
|
12
|
+
%strong= t('workarea.admin.content_blog_entries.cards.attributes.author')
|
13
|
+
= model.author.titleize
|
14
|
+
%li
|
15
|
+
%strong= t('workarea.admin.content_blog_entries.cards.attributes.summary')
|
16
|
+
= model.summary.presence || t('workarea.admin.content_blog_entries.cards.attributes.none')
|
17
|
+
%li
|
18
|
+
%strong= t('workarea.admin.content_blog_entries.cards.attributes.tags')
|
19
|
+
= model.tags.join(', ').presence || t('workarea.admin.content_blog_entries.cards.attributes.none')
|
20
|
+
%li
|
21
|
+
%strong= t('workarea.admin.content_blog_entries.cards.attributes.featured')
|
22
|
+
= model.featured.to_s.titleize
|
23
|
+
%li
|
24
|
+
%strong= t('workarea.admin.content_blog_entries.cards.attributes.written_at')
|
25
|
+
= local_time(model.written_at)
|
26
|
+
%li
|
27
|
+
%strong= t('workarea.admin.fields.updated_at')
|
28
|
+
#{local_time_ago(model.updated_at)}
|
29
|
+
%li
|
30
|
+
%strong= t('workarea.admin.content_blog_entries.cards.attributes.created')
|
31
|
+
#{local_time_ago(model.created_at)}
|
32
|
+
= link_to edit_content_blog_entry_path(model), class: 'card__button' do
|
33
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.attributes.button')
|
34
|
+
|
35
|
+
.grid__cell
|
36
|
+
.card{ class: card_classes(:thumbnail_image, local_assigns[:active]) }
|
37
|
+
= link_to thumbnail_image_content_blog_entry_path(model), class: 'card__header' do
|
38
|
+
%span.card__header-text= t('workarea.admin.content_blog_entries.cards.thumbnail_image.title')
|
39
|
+
= inline_svg 'workarea/admin/icons/images.svg', class: 'card__icon'
|
40
|
+
|
41
|
+
- if local_assigns[:active].blank?
|
42
|
+
.card__body
|
43
|
+
- if model.thumbnail_image.present?
|
44
|
+
= image_tag(model.thumbnail_image_url, itemprop: 'image' )
|
45
|
+
= link_to thumbnail_image_content_blog_entry_path(model), class: 'card__button' do
|
46
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.thumbnail_image.button_edit')
|
47
|
+
- else
|
48
|
+
.card__empty-note
|
49
|
+
%p= t('workarea.admin.content_blog_entries.cards.thumbnail_image.no_thumbnail_image')
|
50
|
+
%p= t('workarea.admin.content_blog_entries.cards.thumbnail_image.description')
|
51
|
+
= link_to thumbnail_image_content_blog_entry_path(model), class: 'card__button' do
|
52
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.thumbnail_image.button_add')
|
53
|
+
|
54
|
+
.grid__cell
|
55
|
+
= render 'workarea/admin/content/card', content: model.content, active: local_assigns[:active]
|
56
|
+
|
57
|
+
.grid__cell
|
58
|
+
.card{ class: card_classes(:featured_products, local_assigns[:active]) }
|
59
|
+
= link_to select_featured_product_path(model.to_global_id), class: 'card__header' do
|
60
|
+
%span.card__header-text= t('workarea.admin.content_blog_entries.cards.featured_products.title')
|
61
|
+
= inline_svg 'workarea/admin/icons/featured_products.svg', class: 'card__icon'
|
62
|
+
|
63
|
+
- if local_assigns[:active].blank?
|
64
|
+
.card__body
|
65
|
+
- if model.featured_products.empty?
|
66
|
+
.card__empty-note
|
67
|
+
%p= t('workarea.admin.content_blog_entries.cards.featured_products.empty')
|
68
|
+
%p= t('workarea.admin.content_blog_entries.cards.featured_products.description')
|
69
|
+
= link_to select_featured_product_path(model.to_global_id), class: 'card__button' do
|
70
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.featured_products.empty_button')
|
71
|
+
- else
|
72
|
+
%ol.grid
|
73
|
+
- model.featured_products.take(4).each_with_index do |product, i|
|
74
|
+
%li.grid__cell.grid__cell--50
|
75
|
+
.card__photo-box
|
76
|
+
- if i == 3 && model.featured_products.size > 4
|
77
|
+
%span.card__photo +#{model.featured_products.size - i}
|
78
|
+
- else
|
79
|
+
= image_tag product_image_url(product.primary_image, :medium), alt: product.name, class: 'card__photo'
|
80
|
+
= link_to edit_featured_product_path(model.to_global_id), class: 'card__button' do
|
81
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.featured_products.button')
|
82
|
+
|
83
|
+
.grid__cell
|
84
|
+
.card{ class: card_classes(:user_comments, local_assigns[:active]) }
|
85
|
+
= link_to content_blog_entry_comments_path(content_blog_entry_id: model.slug), class: 'card__header' do
|
86
|
+
%span.card__header-text= t('workarea.admin.content_blog_entries.cards.comments.title')
|
87
|
+
= inline_svg 'workarea/admin/icons/comments.svg', class: 'card__icon'
|
88
|
+
|
89
|
+
- if local_assigns[:active].blank?
|
90
|
+
.card__body
|
91
|
+
- if model.comments.present?
|
92
|
+
.comments
|
93
|
+
%ul.comments__comment-group
|
94
|
+
- model.comments.take(3).each do |comment|
|
95
|
+
%li.comments__comment
|
96
|
+
.comments__comment-avatar
|
97
|
+
= avatar_for comment.author
|
98
|
+
.comments__comment-body
|
99
|
+
%span.comments__comment-author= comment.author.name
|
100
|
+
%span= comment.body
|
101
|
+
%span.comments__comment-time #{time_ago_in_words(comment.created_at)} ago
|
102
|
+
|
103
|
+
= link_to content_blog_entry_comments_path(content_blog_entry_id: model.slug), class: 'card__button' do
|
104
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.comments.button_edit')
|
105
|
+
- else
|
106
|
+
%p= t('workarea.admin.content_blog_entries.cards.comments.no_comments')
|
107
|
+
|
108
|
+
= link_to content_blog_user_comments_path(blog_entry_id: model.slug), class: 'card__button' do
|
109
|
+
%span.button.button--small= t('workarea.admin.content_blog_entries.cards.comments.button_add')
|
110
|
+
|
111
|
+
.grid__cell
|
112
|
+
= render 'workarea/admin/timeline/card', timeline: model.timeline, active: local_assigns[:active]
|
113
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
= link_to content_blog_entry_path(model), class: 'summary' do
|
2
|
+
%span.summary__type= t('workarea.admin.content_blog_entries.summary.blog_entry')
|
3
|
+
%span.summary__name= model.name
|
4
|
+
.summary__info-container
|
5
|
+
- if model.written_at.present?
|
6
|
+
%span.summary__info #{local_time(model.written_at)}
|
7
|
+
- else
|
8
|
+
%span.summary__info #{local_time(model.updated_at)}
|
9
|
+
|
10
|
+
%span.summary__info= t('workarea.admin.content_blog_entries.summary.comments', count: model.comment_count)
|
@@ -0,0 +1,75 @@
|
|
1
|
+
- @page_title = t('workarea.admin.content_blog_entries.edit.page_title', name: @blog_entry.name)
|
2
|
+
|
3
|
+
.view
|
4
|
+
.view__header
|
5
|
+
.grid.grid--middle
|
6
|
+
.grid__cell.grid__cell--25
|
7
|
+
= render 'workarea/admin/releases/select'
|
8
|
+
.grid__cell.grid__cell--50
|
9
|
+
.view__heading
|
10
|
+
= link_to "↑ #{t('workarea.admin.content_blog_entries.show.index_link', name: @blog_entry.blog.name)}", content_blog_blog_entries_path(content_blog_id: @blog_entry.blog.slug), class: 'view__dashboard-button'
|
11
|
+
%h1= link_to @blog_entry.name, url_for(@blog_entry)
|
12
|
+
.grid__cell.grid__cell--25
|
13
|
+
= render_aux_navigation_for(@blog_entry)
|
14
|
+
|
15
|
+
.view__container
|
16
|
+
= render_cards_for(@blog_entry, :attributes)
|
17
|
+
|
18
|
+
.view__container.view__container--narrow
|
19
|
+
|
20
|
+
- if @blog_entry.errors.present?
|
21
|
+
= render 'workarea/admin/shared/errors', errors: @blog_entry.errors
|
22
|
+
|
23
|
+
= form_tag content_blog_entry_path(@blog_entry), method: 'put', id: 'blog_entry_form', multipart: true do
|
24
|
+
|
25
|
+
.section
|
26
|
+
|
27
|
+
.property.property--required
|
28
|
+
= label_tag 'blog_entry[name]', nil, class: 'property__name' do
|
29
|
+
%span.property__text= t('workarea.admin.content_blog_entries.edit.name')
|
30
|
+
= text_field_tag 'blog_entry[name]', @blog_entry.name, class: 'text-box text-box--i18n', required: true
|
31
|
+
|
32
|
+
.property
|
33
|
+
= label_tag 'blog_entry[tag_list]', nil, class: 'property__name' do
|
34
|
+
%span.property__text= t('workarea.admin.fields.tags')
|
35
|
+
= text_field_tag 'blog_entry[tag_list]', @blog_entry.tag_list, class: 'text-box'
|
36
|
+
%span.property__note= t('workarea.admin.content_blog_entries.edit.tags_note')
|
37
|
+
|
38
|
+
.property
|
39
|
+
= label_tag 'blog_entry[slug]', t('workarea.admin.content_blog_entries.edit.slug_label'), class: 'property__name'
|
40
|
+
%span= storefront.blog_entry_url('')
|
41
|
+
= text_field_tag 'blog_entry[slug]', @blog_entry.slug, class: 'text-box text-box--medium', placeholder: @blog_entry.slug || 'your-slug-here'
|
42
|
+
|
43
|
+
.property
|
44
|
+
= label_tag 'blog_entry[author]', nil, class: 'property__name' do
|
45
|
+
%span.property__text= t('workarea.admin.content_blog_entries.edit.author')
|
46
|
+
%span.property__requirement *
|
47
|
+
= text_field_tag 'blog_entry[author]', @blog_entry.author, class: 'text-box', required: true
|
48
|
+
|
49
|
+
.property
|
50
|
+
= label_tag 'blog_entry[summary]', nil, class: 'property__name' do
|
51
|
+
%span.property__text= t('workarea.admin.content_blog_entries.edit.summary')
|
52
|
+
= text_area_tag 'blog_entry[summary]', @blog_entry.summary, class: 'text-box text-box--multi-line'
|
53
|
+
|
54
|
+
.grid
|
55
|
+
.grid__cell.grid__cell--50-at-medium
|
56
|
+
.property
|
57
|
+
= label_tag 'blog_entry[written_at]', nil, class: 'property__name' do
|
58
|
+
%span.property__text= t('workarea.admin.content_blog_entries.edit.date_written')
|
59
|
+
= hidden_field_tag 'blog_entry[written_at]', @blog_entry.written_at, class: 'text-box', data: { datetimepicker_field: { inline: true } }
|
60
|
+
|
61
|
+
.grid.grid--hug
|
62
|
+
.grid__cell.grid__cell--50.grid__cell--25-at-medium
|
63
|
+
.compound-property
|
64
|
+
%span.compound-property__name= t('workarea.admin.fields.active')
|
65
|
+
= toggle_button_for 'blog_entry[active]', @blog_entry.active?
|
66
|
+
|
67
|
+
.grid__cell.grid__cell--50.grid__cell--25-at-medium
|
68
|
+
.compound-property
|
69
|
+
%span.compound-property__name= t('workarea.admin.content_blog_entries.edit.featured')
|
70
|
+
= toggle_button_for 'blog_entry[featured]', @blog_entry.featured
|
71
|
+
|
72
|
+
.workflow-bar
|
73
|
+
.grid.grid--auto.grid--right.grid--middle
|
74
|
+
.grid__cell= render 'workarea/admin/shared/publishing_select'
|
75
|
+
.grid__cell= button_tag t('workarea.admin.form.save_changes'), value: 'save_blog_entry', class: 'workflow-bar__button workflow-bar__button--update'
|
@@ -0,0 +1,80 @@
|
|
1
|
+
- @page_title = t('workarea.admin.content_blog_entries.index.entries_for', name: @blog.name)
|
2
|
+
|
3
|
+
.view
|
4
|
+
.view__header
|
5
|
+
.grid.grid--middle.grid--right
|
6
|
+
.grid__cell.grid__cell--50
|
7
|
+
.view__heading
|
8
|
+
= link_to "↑ #{t('workarea.admin.content_blogs.edit.index_link')}", content_blogs_path, class: 'view__dashboard-button'
|
9
|
+
%h1= link_to t('workarea.admin.content_blog_entries.index.entries_for', name: @blog.name), url_for(@blog)
|
10
|
+
.grid__cell.grid__cell--25
|
11
|
+
= render_aux_navigation_for(@blog)
|
12
|
+
|
13
|
+
.view__container
|
14
|
+
= render_cards_for(@blog, :blog_entries)
|
15
|
+
|
16
|
+
.browsing-controls.browsing-controls--with-divider.browsing-controls--center
|
17
|
+
= form_tag content_blog_blog_entries_path(content_blog_id: params[:content_blog_id]), method: 'get', id: 'blog_entry_search_form' do
|
18
|
+
= facet_hidden_inputs(@search.facets)
|
19
|
+
.browsing-controls__sort
|
20
|
+
.property.property--inline
|
21
|
+
= label_tag 'sort', t('workarea.admin.search.sort_by'), class: 'property__name'
|
22
|
+
= select_tag :sort, options_for_select(@search.sorts, selected: @search.sort), data: { form_submitting_control: '' }
|
23
|
+
|
24
|
+
.browsing-controls__search
|
25
|
+
.search-form
|
26
|
+
= text_field_tag :q, params[:q], class: 'search-form__input', id: 'search_categories', title: t('workarea.admin.search.keywords'), placeholder: t('workarea.admin.search.keywords')
|
27
|
+
= submit_tag 'search_categories', class: 'search-form__button'
|
28
|
+
|
29
|
+
= render 'workarea/admin/shared/creation_date', search: @search, form_path: catalog_categories_path
|
30
|
+
|
31
|
+
- if @search.displayed_facets.present?
|
32
|
+
- @search.displayed_facets.each do |facet|
|
33
|
+
= render "workarea/admin/facets/#{facet.type}", facet: facet
|
34
|
+
|
35
|
+
.browsing-controls__toggle-filters
|
36
|
+
%button.text-button{ type: 'button', data: { toggle_filters: '' } }= t('workarea.admin.search.show_filters')
|
37
|
+
|
38
|
+
- if @search.results.total_pages > 1
|
39
|
+
.index-filters__row.hidden-if-js-enabled
|
40
|
+
.index-filters__cell= render 'workarea/admin/shared/pagination', collection: @search.results
|
41
|
+
|
42
|
+
%p.browsing-controls__count{ data: { browsing_controls_count: @search.total } }
|
43
|
+
= pluralize(@search.total, 'blog content')
|
44
|
+
|
45
|
+
- if @search.results.any?
|
46
|
+
%table.index-table
|
47
|
+
%thead
|
48
|
+
%tr
|
49
|
+
%th.index-table__control-cell
|
50
|
+
.checkbox
|
51
|
+
= check_box_tag 'select_all', nil, false, id: 'select_all', class: 'checkbox__input', data: { bulk_action_select_all: '' }
|
52
|
+
= label_tag 'select_all', t('workarea.admin.bulk_actions.select_all'), class: 'checkbox__label'
|
53
|
+
%th= t('workarea.admin.fields.name')
|
54
|
+
%th= t('workarea.admin.content_blog_entries.fields.author')
|
55
|
+
%th.align-center= t('workarea.admin.content_blog_entries.fields.featured')
|
56
|
+
%th.align-center= t('workarea.admin.content_blog_entries.fields.comments')
|
57
|
+
%th.align-center= t('workarea.admin.fields.content_blocks')
|
58
|
+
%th= t('workarea.admin.fields.updated_at')
|
59
|
+
%tbody
|
60
|
+
- @search.results.each do |result|
|
61
|
+
%tr.index-table__row{ class: ('index-table__row--inactive' unless result.active) }
|
62
|
+
%td.index-table__control-cell
|
63
|
+
.checkbox
|
64
|
+
= check_box_tag 'global_id', result.to_gid_param, false, class: 'checkbox__input', id: dom_id(result), data: { bulk_action_item: '' }
|
65
|
+
= label_tag dom_id(result), '', class: 'checkbox__label', title: t('workarea.admin.bulk_actions.add_summary_button')
|
66
|
+
%td
|
67
|
+
= link_to result.name, content_blog_entry_path(result)
|
68
|
+
= upcoming_changesets_icon_for(result)
|
69
|
+
%td= result.author.titleize
|
70
|
+
%td.align-center= t("workarea.admin.#{result.featured}")
|
71
|
+
%td.align-center= result.comments.count
|
72
|
+
%td.align-center= result.content.blocks.count
|
73
|
+
%td= local_time_ago(result.updated_at)
|
74
|
+
|
75
|
+
.workflow-bar
|
76
|
+
.grid
|
77
|
+
.grid__cell.grid__cell--50
|
78
|
+
= render 'workarea/admin/shared/bulk_actions', klass: Workarea::Content::BlogEntry, search: @search
|
79
|
+
.grid__cell.grid__cell--50.align-right
|
80
|
+
= link_to t('workarea.admin.content_blog_entries.index.new_blog_entry'), content_blog_create_entry_path(content_blog_id: @blog), id: 'add_blog_entry', class: 'workflow-bar__button workflow-bar__button--create'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
- @page_title = @blog_entry.name
|
2
|
+
- @selected_navigation_nodes = ['Marketing', 'Blogs']
|
3
|
+
|
4
|
+
.view
|
5
|
+
.view__header
|
6
|
+
.grid.grid--middle
|
7
|
+
.grid__cell.grid__cell--25
|
8
|
+
= render 'workarea/admin/releases/select'
|
9
|
+
.grid__cell.grid__cell--50
|
10
|
+
.view__heading
|
11
|
+
= link_to "↑ #{t('workarea.admin.content_blog_entries.show.index_link', name: @blog_entry.blog.name)}", content_blog_blog_entries_path(content_blog_id: @blog_entry.blog.slug), class: 'view__dashboard-button'
|
12
|
+
%h1= @blog_entry.name
|
13
|
+
.grid__cell.grid__cell--25
|
14
|
+
= render_aux_navigation_for(@blog_entry)
|
15
|
+
|
16
|
+
.view__container
|
17
|
+
= render_cards_for(@blog_entry)
|
18
|
+
|
19
|
+
.workflow-bar
|
20
|
+
= link_to t('workarea.admin.actions.delete'), content_blog_entry_path(@blog_entry), class: 'workflow-bar__button workflow-bar__button--delete', data: { method: 'delete', confirm: t('workarea.admin.actions.delete_confirmation') }
|
@@ -0,0 +1,55 @@
|
|
1
|
+
- @page_title = t('workarea.admin.content_blog_entries.thumbnail_image.page_title', name: @blog_entry.name)
|
2
|
+
|
3
|
+
.view
|
4
|
+
.view__header
|
5
|
+
.grid.grid--middle
|
6
|
+
.grid__cell.grid__cell--25
|
7
|
+
= render 'workarea/admin/releases/select'
|
8
|
+
.grid__cell.grid__cell--50
|
9
|
+
.view__heading
|
10
|
+
= link_to "↑ #{t('workarea.admin.content_blog_entries.thumbnail_image.index_link', name: @blog_entry.blog.name)}", content_blog_blog_entries_path(content_blog_id: @blog_entry.blog.slug)
|
11
|
+
%h1= link_to @blog_entry.name, url_for(@blog_entry)
|
12
|
+
.grid__cell.grid__cell--25
|
13
|
+
= render_aux_navigation_for(@blog_entry)
|
14
|
+
|
15
|
+
.view__container
|
16
|
+
= render_cards_for(@blog_entry, :thumbnail_image)
|
17
|
+
|
18
|
+
.view__container.view__container--narrow
|
19
|
+
|
20
|
+
- if @blog_entry.errors.present?
|
21
|
+
= render 'workarea/admin/shared/errors', errors: @blog_entry.errors
|
22
|
+
|
23
|
+
= form_tag update_thumbnail_image_content_blog_entry_path(@blog_entry), method: 'put', id: 'blog_entry_form', multipart: true do
|
24
|
+
.section
|
25
|
+
%h2= t('workarea.admin.content_blog_entries.thumbnail_image.thumbnail_image')
|
26
|
+
- if @blog_entry.has_thumbnail_image?
|
27
|
+
%table.data-pairs
|
28
|
+
%tbody
|
29
|
+
%tr
|
30
|
+
%th
|
31
|
+
%span.data-pairs__name= t('workarea.admin.content_blog_entries.thumbnail_image.current_image')
|
32
|
+
%td= link_to image_tag(@blog_entry.thumbnail_image_url, alt: t('workarea.admin.content_blog_entries.thumbnail_image.view_thumbnail_image')), @blog_entry.thumbnail_image_url, target: '_blank'
|
33
|
+
|
34
|
+
.property
|
35
|
+
= label_tag 'blog_entry[thumbnail_image]', class: 'property__name' do
|
36
|
+
%span.property__text= t('workarea.admin.content_blog_entries.thumbnail_image.choose_image_file')
|
37
|
+
|
38
|
+
.asset-picker-field{ data: { asset_picker_field: '' } }
|
39
|
+
.asset-picker-field__cell
|
40
|
+
= hidden_field_tag "blog_entry[thumbnail_image]", @blog_entry[:thumbnail_image], class: 'text-box text-box--i18n'
|
41
|
+
|
42
|
+
%span{ data: { asset_name: true } }
|
43
|
+
- asset = Workarea::Content::Asset.find_or_initialize_by(id: @blog_entry[:thumbnail_image])
|
44
|
+
= asset.name.presence || t('workarea.admin.content_blocks.asset.name_missing')
|
45
|
+
|
46
|
+
.asset-picker-field__cell= link_to t('workarea.admin.content_blocks.asset.select_an_asset'), insert_content_assets_path(file_type: 'image'), class: 'text-button', data: { asset_picker_field_open: '', turbolinks: false }
|
47
|
+
- if asset.name.present?
|
48
|
+
.asset-picker-field__cell= button_tag t('workarea.admin.content_blocks.asset.clear_asset'), type: 'button', value: 'clear_asset', id: 'clear_asset', class: 'text-button text-button--destroy', data: { asset_picker_field_clear: '' }
|
49
|
+
|
50
|
+
%span.property__note= t('workarea.admin.content_blog_entries.thumbnail_image.asset_input_note')
|
51
|
+
|
52
|
+
.workflow-bar
|
53
|
+
.grid.grid--auto.grid--right.grid--middle
|
54
|
+
.grid__cell= render 'workarea/admin/shared/publishing_select'
|
55
|
+
.grid__cell= button_tag t('workarea.admin.form.save_changes'), value: 'save_blog_entry', class: 'workflow-bar__button workflow-bar__button--update'
|
@@ -0,0 +1,58 @@
|
|
1
|
+
.grid.grid--auto.grid--flush.grid--center
|
2
|
+
.grid__cell
|
3
|
+
.card{ class: card_classes(:attributes, local_assigns[:active]) }
|
4
|
+
= link_to edit_content_blog_path(model), class: 'card__header' do
|
5
|
+
%span.card__header-text= t('workarea.admin.content_blogs.cards.attributes.title')
|
6
|
+
= inline_svg 'workarea/admin/icons/attributes.svg', class: 'card__icon'
|
7
|
+
|
8
|
+
- if local_assigns[:active].blank?
|
9
|
+
.card__body
|
10
|
+
%ul.list-reset
|
11
|
+
%li
|
12
|
+
%strong= t('workarea.admin.content_blogs.cards.attributes.entries')
|
13
|
+
= model.entries.count
|
14
|
+
%li
|
15
|
+
%strong= t('workarea.admin.content_blogs.cards.attributes.navigation')
|
16
|
+
= model.navigation.to_s.titleize
|
17
|
+
%li
|
18
|
+
%strong= t('workarea.admin.content_blogs.cards.attributes.modified')
|
19
|
+
#{local_time_ago(model.updated_at)}
|
20
|
+
%li
|
21
|
+
%strong= t('workarea.admin.content_blogs.cards.attributes.created')
|
22
|
+
#{local_time_ago(model.created_at)}
|
23
|
+
= link_to edit_content_blog_path(model), class: 'card__button' do
|
24
|
+
%span.button.button--small= t('workarea.admin.content_blogs.cards.attributes.button')
|
25
|
+
|
26
|
+
.grid__cell
|
27
|
+
.card{ class: card_classes(:blog_entries, local_assigns[:active]) }
|
28
|
+
= link_to content_blog_blog_entries_path(content_blog_id: model.slug), class: 'card__header' do
|
29
|
+
%span.card__header-text= t('workarea.admin.content_blogs.cards.blog_entries.title')
|
30
|
+
= inline_svg 'workarea/admin/blog/icons/blog_entry.svg', class: 'card__icon'
|
31
|
+
|
32
|
+
- if local_assigns[:active].blank?
|
33
|
+
.card__body
|
34
|
+
- if model.entries.empty?
|
35
|
+
.card__empty-note
|
36
|
+
%p= t('workarea.admin.content_blogs.cards.blog_entries.empty')
|
37
|
+
= link_to create_content_blog_entries_path(content_blog_id: model), class: 'card__button' do
|
38
|
+
%span.button.button--small= t('workarea.admin.content_blogs.cards.blog_entries.button_create')
|
39
|
+
- else
|
40
|
+
%ul.list-reset
|
41
|
+
- model.entries.take(10).each_with_index do |entry, i|
|
42
|
+
%li
|
43
|
+
%p
|
44
|
+
= entry.name
|
45
|
+
%br
|
46
|
+
= t('workarea.admin.content_blogs.cards.blog_entries.by', author: entry.author)
|
47
|
+
|
48
|
+
= link_to content_blog_blog_entries_path(content_blog_id: model.slug), class: 'card__button' do
|
49
|
+
%span.button.button--small= t('workarea.admin.content_blogs.cards.blog_entries.button')
|
50
|
+
|
51
|
+
.grid__cell
|
52
|
+
= render 'workarea/admin/content/card', content: model.content, active: local_assigns[:active]
|
53
|
+
|
54
|
+
.grid__cell
|
55
|
+
= render 'workarea/admin/timeline/card', timeline: model.timeline, active: local_assigns[:active]
|
56
|
+
|
57
|
+
.grid__cell
|
58
|
+
= render 'workarea/admin/comments/card', commentable: model, active: local_assigns[:active]
|
@@ -0,0 +1,6 @@
|
|
1
|
+
= link_to content_blog_path(model), class: 'summary' do
|
2
|
+
%span.summary__type= t('workarea.admin.content_blogs.summary.type')
|
3
|
+
%span.summary__name= model.name
|
4
|
+
.summary__info-container
|
5
|
+
%span.summary__info #{local_time_ago(model.updated_at)}
|
6
|
+
%span.summary__info= t('workarea.admin.content_blogs.summary.entries', count: model.entries.count)
|
@@ -0,0 +1,51 @@
|
|
1
|
+
- @page_title = t('workarea.admin.content_blogs.edit.page_title', name: @blog.name)
|
2
|
+
|
3
|
+
.view
|
4
|
+
.view__header
|
5
|
+
.grid.grid--middle
|
6
|
+
.grid__cell.grid__cell--25
|
7
|
+
= render 'workarea/admin/releases/select'
|
8
|
+
.grid__cell.grid__cell--50
|
9
|
+
.view__heading
|
10
|
+
= link_to "↑ #{t('workarea.admin.content_blogs.edit.index_link')}", content_blogs_path, class: 'view__dashboard-button'
|
11
|
+
%h1= link_to t('workarea.admin.content_blogs.edit.page_title', name: @blog.name), url_for(@blog)
|
12
|
+
.grid__cell.grid__cell--25
|
13
|
+
= render_aux_navigation_for(@blog)
|
14
|
+
|
15
|
+
.view__container
|
16
|
+
= render_cards_for(@blog, :attributes)
|
17
|
+
|
18
|
+
.view__container.view__container--narrow
|
19
|
+
|
20
|
+
- if @blog.errors.present?
|
21
|
+
= render 'workarea/admin/shared/errors', errors: @blog.errors
|
22
|
+
|
23
|
+
= form_tag content_blog_path(@blog), method: 'put', id: 'blog_form' do
|
24
|
+
.section
|
25
|
+
.property
|
26
|
+
= label_tag 'blog_name', nil, class: 'property__name' do
|
27
|
+
%span.property__text= t('workarea.admin.content_blogs.edit.name')
|
28
|
+
%span.property__requirement *
|
29
|
+
= text_field_tag 'blog[name]', @blog.name, class: 'text-box text-box--i18n', required: true
|
30
|
+
.property
|
31
|
+
= label_tag 'blog_slug', nil, class: 'property__name' do
|
32
|
+
%span.property__text= t('workarea.admin.content_blogs.edit.page_url')
|
33
|
+
|
34
|
+
%span= storefront.blog_url('')
|
35
|
+
= text_field_tag 'blog[slug]', @blog.slug, class: 'text-box text-box--medium', placeholder: @blog.slug || 'your-slug-here'
|
36
|
+
%span.property__note= t('workarea.admin.content_blogs.edit.page_url_note')
|
37
|
+
|
38
|
+
.grid
|
39
|
+
.grid__cell.grid__cell--50.grid__cell--25-at-medium
|
40
|
+
.property
|
41
|
+
= label_tag 'blog_updated_at', t('workarea.admin.fields.updated_at'), class: 'property__name'
|
42
|
+
= local_time(@blog.updated_at)
|
43
|
+
.grid__cell.grid__cell--50.grid__cell--25-at-medium
|
44
|
+
.property
|
45
|
+
= label_tag 'blog_created_at', t('workarea.admin.fields.created_at'), class: 'property__name'
|
46
|
+
= local_time(@blog.created_at)
|
47
|
+
|
48
|
+
.workflow-bar
|
49
|
+
.grid.grid--auto.grid--right.grid--middle
|
50
|
+
.grid__cell= render 'workarea/admin/shared/publishing_select'
|
51
|
+
.grid__cell= button_tag 'Save changes', value: 'save_blog', class: 'workflow-bar__button workflow-bar__button--update'
|
@@ -0,0 +1,76 @@
|
|
1
|
+
- @page_title = t('workarea.admin.content_blogs.index.title')
|
2
|
+
|
3
|
+
.view
|
4
|
+
.view__header
|
5
|
+
.grid.grid--middle.grid--center
|
6
|
+
.grid__cell.grid__cell--50
|
7
|
+
.view__heading
|
8
|
+
= link_to "↑ #{t('workarea.admin.content_blogs.index.dashboard_link')}", root_path, class: 'view__dashboard-button'
|
9
|
+
%h1= t('workarea.admin.content_blogs.index.title')
|
10
|
+
|
11
|
+
.view__container
|
12
|
+
.browsing-controls.browsing-controls--with-divider.browsing-controls--center
|
13
|
+
= form_tag content_blogs_path, method: 'get', id: 'blog_search_form' do
|
14
|
+
= facet_hidden_inputs(@search.facets)
|
15
|
+
.browsing-controls__sort
|
16
|
+
.property.property--inline
|
17
|
+
= label_tag 'sort', t('workarea.admin.search.sort_by'), class: 'property__name'
|
18
|
+
= select_tag :sort, options_for_select(@search.sorts, selected: @search.sort), data: { form_submitting_control: '' }
|
19
|
+
|
20
|
+
.browsing-controls__search
|
21
|
+
.search-form
|
22
|
+
= text_field_tag :q, params[:q], class: 'search-form__input', id: 'search_categories', title: t('workarea.admin.search.keywords'), placeholder: t('workarea.admin.search.keywords')
|
23
|
+
= submit_tag 'search_categories', class: 'search-form__button'
|
24
|
+
|
25
|
+
= render 'workarea/admin/shared/creation_date', search: @search, form_path: catalog_categories_path
|
26
|
+
|
27
|
+
- if @search.facets.present?
|
28
|
+
- @search.facets.each do |facet|
|
29
|
+
= render "workarea/admin/facets/#{facet.type}", facet: facet
|
30
|
+
|
31
|
+
.browsing-controls__toggle-filters
|
32
|
+
%button.text-button{ type: 'button', data: { toggle_filters: '' } }= t('workarea.admin.search.show_filters')
|
33
|
+
|
34
|
+
- if @search.facet_selections.any?
|
35
|
+
= render 'workarea/admin/facets/applied', search: @search, reset_path: catalog_categories_path
|
36
|
+
|
37
|
+
%p.browsing-controls__count{ data: { browsing_controls_count: @search.total } }
|
38
|
+
= pluralize(@search.total, 'blog')
|
39
|
+
|
40
|
+
- if @search.results.any?
|
41
|
+
%table.index-table
|
42
|
+
%thead
|
43
|
+
%tr
|
44
|
+
%th.index-table__control-cell
|
45
|
+
.checkbox
|
46
|
+
= check_box_tag 'select_all', nil, false, id: 'select_all', class: 'checkbox__input', data: { bulk_action_select_all: '' }
|
47
|
+
= label_tag 'select_all', t('workarea.admin.bulk_actions.select_all'), class: 'checkbox__label'
|
48
|
+
%th= t('workarea.admin.fields.name')
|
49
|
+
%th.align-center= t('workarea.admin.content_blogs.fields.entries')
|
50
|
+
%th= t('workarea.admin.content_blogs.fields.navigation')
|
51
|
+
%th= t('workarea.admin.fields.updated_at')
|
52
|
+
%tbody
|
53
|
+
- @search.results.each do |result|
|
54
|
+
%tr.index-table__row
|
55
|
+
%td.index-table__control-cell
|
56
|
+
.checkbox
|
57
|
+
= check_box_tag 'global_id', result.to_gid_param, false, class: 'checkbox__input', id: dom_id(result), data: { bulk_action_item: '' }
|
58
|
+
= label_tag dom_id(result), '', class: 'checkbox__label', title: t('workarea.admin.bulk_actions.add_summary_button')
|
59
|
+
%td
|
60
|
+
= link_to result.name, content_blog_path(result)
|
61
|
+
= upcoming_changesets_icon_for(result)
|
62
|
+
= comments_icon_for(result)
|
63
|
+
%td.align-center= result.entries.count
|
64
|
+
%td
|
65
|
+
- unless result.navigation.blank?
|
66
|
+
= result.navigation.to_s.titleize
|
67
|
+
- else
|
68
|
+
= t('workarea.admin.content_blogs.cards.attributes.no_navigation')
|
69
|
+
%td= local_time_ago(result.created_at)
|
70
|
+
|
71
|
+
.workflow-bar
|
72
|
+
.grid
|
73
|
+
.grid__cell.grid__cell--50
|
74
|
+
= render 'workarea/admin/shared/bulk_actions', klass: Workarea::Content::Blog, search: @search
|
75
|
+
.grid__cell.grid__cell--50.align-right
|
76
|
+
= link_to t('workarea.admin.content_blogs.index.button'), new_content_blog_path, id: 'add_blog', class: 'workflow-bar__button workflow-bar__button--create'
|