pageflow 15.7.1 → 16.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +33 -243
- data/README.md +1 -9
- data/Rakefile +4 -1
- data/admins/pageflow/accounts.rb +12 -16
- data/admins/pageflow/entry.rb +57 -28
- data/admins/pageflow/entry_templates.rb +5 -7
- data/admins/pageflow/sites.rb +50 -0
- data/admins/pageflow/user.rb +7 -0
- data/app/assets/javascripts/pageflow/admin/entries.js +53 -4
- data/app/assets/stylesheets/pageflow/admin/permalink_input.scss +65 -0
- data/app/assets/stylesheets/pageflow/admin.scss +1 -0
- data/app/assets/stylesheets/pageflow/editor/base.scss +2 -6
- data/app/assets/stylesheets/pageflow/editor/dialogs.scss +2 -0
- data/app/assets/stylesheets/pageflow/editor/drop_down_button.scss +9 -0
- data/app/assets/stylesheets/pageflow/editor/info_box.scss +13 -3
- data/app/assets/stylesheets/pageflow/mixins/buttons.scss +1 -0
- data/app/assets/stylesheets/pageflow/page.scss +0 -2
- data/app/assets/stylesheets/pageflow/themes/default/page.scss +1 -1
- data/app/assets/stylesheets/pageflow/ui/forms.scss +4 -1
- data/app/controllers/pageflow/editor/file_import_controller.rb +32 -42
- data/app/controllers/pageflow/entries_controller.rb +27 -3
- data/app/helpers/pageflow/admin/permalinks_helper.rb +15 -0
- data/app/helpers/pageflow/common_entry_seed_helper.rb +1 -1
- data/app/helpers/pageflow/embed_code_helper.rb +1 -1
- data/app/helpers/pageflow/entries_helper.rb +25 -17
- data/app/helpers/pageflow/sites_helper.rb +11 -0
- data/app/helpers/pageflow/social_share_helper.rb +2 -2
- data/app/inputs/pageflow_permalink_input.rb +47 -0
- data/app/models/concerns/pageflow/permalinkable.rb +12 -0
- data/app/models/concerns/pageflow/reusable_file.rb +5 -0
- data/app/models/concerns/pageflow/uploadable_file.rb +4 -0
- data/app/models/pageflow/account.rb +7 -33
- data/app/models/pageflow/{cname_theming_request_scope.rb → cname_site_request_scope.rb} +3 -3
- data/app/models/pageflow/customized_theme.rb +5 -3
- data/app/models/pageflow/entry.rb +8 -4
- data/app/models/pageflow/entry_at_revision.rb +4 -3
- data/app/models/pageflow/entry_duplicate.rb +8 -1
- data/app/models/pageflow/entry_template.rb +4 -4
- data/app/models/pageflow/home_button.rb +7 -7
- data/app/models/pageflow/image_file_url_templates.rb +2 -2
- data/app/models/pageflow/permalink.rb +39 -0
- data/app/models/pageflow/permalink_directory.rb +10 -0
- data/app/models/pageflow/published_entry.rb +19 -2
- data/app/models/pageflow/revision.rb +1 -1
- data/app/models/pageflow/site.rb +59 -0
- data/app/models/pageflow/theme_customization.rb +1 -1
- data/app/models/pageflow/theme_customization_file.rb +6 -1
- data/app/policies/pageflow/account_policy.rb +2 -2
- data/app/policies/pageflow/entry_policy.rb +2 -2
- data/app/policies/pageflow/entry_template_policy.rb +1 -1
- data/app/policies/pageflow/{theming_policy.rb → site_policy.rb} +13 -11
- data/app/views/admin/accounts/_entry_template_details.html.arb +1 -1
- data/app/views/admin/accounts/_form.html.erb +4 -22
- data/app/views/admin/accounts/_site_defaults_inline_help.html.erb +5 -0
- data/app/views/admin/entries/_form.html.erb +11 -12
- data/app/views/admin/entries/_permalink_inputs.html.erb +6 -0
- data/app/views/admin/entries/_site_input.html.erb +15 -0
- data/app/views/admin/entries/{entry_type_name_input.html.erb → entry_site_and_type_name_input.html.erb} +3 -0
- data/app/views/admin/entries/permalink_inputs.html.erb +7 -0
- data/app/views/admin/entry_templates/_form.html.erb +5 -5
- data/app/views/admin/sites/_attributes_table.html.arb +9 -0
- data/app/views/admin/sites/_fields.html.erb +17 -0
- data/app/views/admin/sites/_form.html.erb +5 -0
- data/app/views/components/pageflow/admin/entries_tab.rb +1 -2
- data/app/views/components/pageflow/admin/entry_templates_tab.rb +10 -11
- data/app/views/components/pageflow/admin/features_tab.rb +1 -1
- data/app/views/components/pageflow/admin/sites_tab.rb +32 -0
- data/app/views/components/pageflow/admin/users_tab.rb +1 -2
- data/app/views/pageflow/editor/entries/seed.json.erb +1 -1
- data/app/views/pageflow/editor/file_import/start_import_job.json.jbuilder +10 -0
- data/app/views/pageflow/editor/sites/_site.json.jbuilder +1 -0
- data/app/views/pageflow/entries/{_theming.css.erb → _site.css.erb} +0 -0
- data/app/views/pageflow/entries/stylesheet.css.erb +1 -1
- data/app/views/pageflow/files/_file.json.jbuilder +1 -0
- data/app/views/pageflow/social_share/_entry_meta_tags.html.erb +1 -1
- data/app/views/pageflow/social_share/_page_meta_tags.html.erb +1 -1
- data/config/initializers/admin_resource_tabs.rb +29 -12
- data/config/initializers/mime_types.rb +1 -0
- data/config/locales/de.yml +19 -17
- data/config/locales/en.yml +19 -17
- data/config/routes.rb +8 -5
- data/db/migrate/20221024100724_create_pageflow_permalink_directories.rb +10 -0
- data/db/migrate/20221025074049_add_permalink_attributes_to_entries.rb +5 -0
- data/db/migrate/20221027065022_create_pageflow_permalinks.rb +12 -0
- data/db/migrate/20221215101134_rename_theming_to_site.rb +9 -0
- data/db/migrate/20221215120856_associate_entry_templates_with_sites.rb +34 -0
- data/db/migrate/20221219203023_add_name_to_sites.rb +5 -0
- data/db/migrate/20230103155934_associate_theme_customizations_with_sites.rb +27 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +176 -179
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/frontend.js +49 -7
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-client.js +5 -5
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/react-server.js +1 -1
- data/entry_types/paged/config/initializers/features.rb +2 -0
- data/entry_types/paged/config/locales/{new/help.de.yml → de.yml} +74 -65
- data/entry_types/paged/config/locales/{new/help.en.yml → en.yml} +66 -56
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/favicon_helper.rb +39 -13
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/generated_media_queries_helper.rb +55 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/themes_helper.rb +6 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_head.html.erb +2 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/_manifest.json.jbuilder +16 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +9 -3
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +5 -5
- data/entry_types/scrolled/app/views/pageflow_scrolled/favicons/_entry.html.erb +16 -10
- data/entry_types/scrolled/config/locales/de.yml +265 -76
- data/entry_types/scrolled/config/locales/en.yml +266 -77
- data/entry_types/scrolled/lib/pageflow_scrolled/configuration.rb +3 -3
- data/entry_types/scrolled/lib/pageflow_scrolled/plugin.rb +14 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/react_widget_type.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +1 -1
- data/entry_types/scrolled/lib/pageflow_scrolled/web_app_manifest.rb +11 -0
- data/entry_types/scrolled/lib/pageflow_scrolled.rb +39 -1
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled/storybook.rake +3 -2
- data/entry_types/scrolled/package/contentElements-editor.js +124 -38
- data/entry_types/scrolled/package/contentElements-frontend.css +1 -1
- data/entry_types/scrolled/package/contentElements-frontend.js +321 -27
- data/entry_types/scrolled/package/editor.js +1345 -739
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-14c7b097.js +5314 -0
- data/entry_types/scrolled/package/frontend/{PhonePlatformContext-9fb97827.js → PhonePlatformContext-f6093cc6.js} +87 -223
- data/entry_types/scrolled/package/frontend/{Viewer-e2290ea0.js → Viewer-b6becc57.js} +6 -40
- data/entry_types/scrolled/package/frontend/arrowRight-78a7cee4.js +42 -0
- data/entry_types/scrolled/package/frontend/{components-6ab26015.js → components-b3160dd7.js} +546 -361
- data/entry_types/scrolled/package/frontend/index.css +1 -1
- data/entry_types/scrolled/package/frontend/index.js +398 -3692
- data/entry_types/scrolled/package/package.json +3 -2
- data/entry_types/scrolled/package/testHelpers.js +12 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.css +2 -2
- data/entry_types/scrolled/package/widgets/defaultNavigation.js +50 -40
- data/entry_types/scrolled/spec/fixtures/image.ico +0 -0
- data/lib/pageflow/ability_mixin.rb +16 -8
- data/lib/pageflow/admin/attributes_table_rows.rb +1 -1
- data/lib/pageflow/admin/form_inputs.rb +1 -1
- data/lib/pageflow/admin/tabs.rb +1 -1
- data/lib/pageflow/configuration/permissions.rb +3 -3
- data/lib/pageflow/configuration.rb +17 -17
- data/lib/pageflow/entry_export_import/entry_serialization.rb +1 -1
- data/lib/pageflow/entry_type.rb +6 -2
- data/lib/pageflow/primary_domain_entry_redirect.rb +7 -7
- data/lib/pageflow/seeds.rb +10 -10
- data/lib/pageflow/theme_customizations.rb +10 -10
- data/lib/pageflow/version.rb +1 -1
- data/package/editor.js +129 -156
- data/package/frontend.js +19 -2
- data/package/testHelpers.js +39 -6
- data/spec/factories/accounts.rb +5 -2
- data/spec/factories/draft_entries.rb +2 -2
- data/spec/factories/entries.rb +18 -1
- data/spec/factories/entry_templates.rb +1 -1
- data/spec/factories/permalink_directory.rb +6 -0
- data/spec/factories/permalinks.rb +4 -0
- data/spec/factories/published_entries.rb +4 -2
- data/spec/factories/sites.rb +9 -0
- metadata +50 -62
- data/app/assets/javascripts/pageflow/dist/editor.js +0 -11890
- data/app/assets/javascripts/pageflow/dist/frontend.js +0 -5800
- data/app/assets/javascripts/pageflow/dist/react-client.js +0 -22
- data/app/assets/javascripts/pageflow/dist/react-server.js +0 -19
- data/app/helpers/pageflow/themings_helper.rb +0 -11
- data/app/models/pageflow/theming.rb +0 -29
- data/app/views/admin/accounts/_theming_defaults_inline_help.html.erb +0 -5
- data/app/views/admin/accounts/_theming_details.html.arb +0 -5
- data/app/views/pageflow/editor/themings/_theming.json.jbuilder +0 -1
- data/entry_types/paged/config/locales/new/video_contain.de.yml +0 -7
- data/entry_types/paged/config/locales/new/video_contain.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/before_after_slider.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/before_after_slider.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/center_ragged.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/consent.de.yml +0 -25
- data/entry_types/scrolled/config/locales/new/consent.en.yml +0 -24
- data/entry_types/scrolled/config/locales/new/content_element_categories.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/content_element_categories.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/default_transition.de.yml +0 -14
- data/entry_types/scrolled/config/locales/new/default_transition.en.yml +0 -14
- data/entry_types/scrolled/config/locales/new/header_line_breaks.de.yml +0 -28
- data/entry_types/scrolled/config/locales/new/header_line_breaks.en.yml +0 -27
- data/entry_types/scrolled/config/locales/new/header_size.de.yml +0 -17
- data/entry_types/scrolled/config/locales/new/header_size.en.yml +0 -17
- data/entry_types/scrolled/config/locales/new/iframe_embed.de.yml +0 -39
- data/entry_types/scrolled/config/locales/new/iframe_embed.en.yml +0 -39
- data/entry_types/scrolled/config/locales/new/inline_loops.de.yml +0 -26
- data/entry_types/scrolled/config/locales/new/inline_loops.en.yml +0 -26
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.de.yml +0 -9
- data/entry_types/scrolled/config/locales/new/portrait_inline_image.en.yml +0 -9
- data/entry_types/scrolled/config/locales/new/section_width.de.yml +0 -10
- data/entry_types/scrolled/config/locales/new/section_width.en.yml +0 -10
- data/entry_types/scrolled/config/locales/new/typography_variants.de.yml +0 -7
- data/entry_types/scrolled/config/locales/new/typography_variants.en.yml +0 -7
- data/entry_types/scrolled/config/locales/new/video_embed_poster.de.yml +0 -8
- data/entry_types/scrolled/config/locales/new/video_embed_poster.en.yml +0 -8
- data/entry_types/scrolled/config/locales/new/waveform_styles.de.yml +0 -11
- data/entry_types/scrolled/config/locales/new/waveform_styles.en.yml +0 -12
- data/entry_types/scrolled/config/locales/new/widgets.de.yml +0 -6
- data/entry_types/scrolled/config/locales/new/widgets.en.yml +0 -6
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/browserconfig.xml +0 -9
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/mstile-150x150.png +0 -0
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/safari-pinned-tab.svg +0 -46
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/templates/theme/favicons/site.webmanifest +0 -19
- data/entry_types/scrolled/package/frontend/EditableInlineText.module-b9923660.js +0 -993
- data/entry_types/scrolled/package/frontend/usePhonePlatform-2857c22b.js +0 -34
- data/spec/factories/themings.rb +0 -7
@@ -10,29 +10,11 @@
|
|
10
10
|
<% end %>
|
11
11
|
<% end %>
|
12
12
|
|
13
|
-
|
14
|
-
<%= f.
|
15
|
-
<%=
|
16
|
-
<%= theming.input :additional_cnames, hint: t('pageflow.admin.themings.additional_cnames_hint') %>
|
17
|
-
<%= theming.input :home_url, hint: t('pageflow.admin.themings.home_url_hint') %>
|
13
|
+
<% if resource.new_record? %>
|
14
|
+
<%= f.semantic_fields_for :default_site do |site| %>
|
15
|
+
<%= render 'admin/sites/fields', f: site, account_config: account_config %>
|
18
16
|
<% end %>
|
19
|
-
|
20
|
-
<%= f.inputs do %>
|
21
|
-
<%= theming.input :imprint_link_label %>
|
22
|
-
<%= theming.input :imprint_link_url %>
|
23
|
-
<%= theming.input :copyright_link_label %>
|
24
|
-
<%= theming.input :copyright_link_url %>
|
25
|
-
<%= theming.input :privacy_link_url %>
|
26
|
-
|
27
|
-
<% account_config.admin_form_inputs.find_all_for(:theming).each do |form_input| %>
|
28
|
-
<%= form_input.build(theming) %>
|
29
|
-
<% end %>
|
30
|
-
<% end %>
|
31
|
-
<% end %>
|
32
|
-
|
33
|
-
<p>
|
34
|
-
<%= t('pageflow.admin.accounts.entry_template_hint') %>
|
35
|
-
</p>
|
17
|
+
<% end %>
|
36
18
|
|
37
19
|
<%= f.actions do %>
|
38
20
|
<%= f.action(:submit) %>
|
@@ -1,6 +1,8 @@
|
|
1
1
|
<%= admin_form_for([:admin, resource]) do |f| %>
|
2
2
|
<%= f.inputs do %>
|
3
|
-
<%= f.input
|
3
|
+
<%= f.input(:title,
|
4
|
+
hint: @entry.site.permalink_directories.blank? &&
|
5
|
+
I18n.t('pageflow.admin.entries.title_hint')) %>
|
4
6
|
|
5
7
|
<% if authorized?(:update_account_on, resource) &&
|
6
8
|
account_policy_scope.entry_creatable.many? %>
|
@@ -14,17 +16,14 @@
|
|
14
16
|
input_html: {class: 'entry_account_input'}) %>
|
15
17
|
<%end %>
|
16
18
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
}
|
26
|
-
},
|
27
|
-
include_blank: false) %>
|
19
|
+
<%= render('admin/entries/site_input',
|
20
|
+
entry: resource,
|
21
|
+
form: f) %>
|
22
|
+
|
23
|
+
<%= f.fields_for(:permalink, @entry.permalink || Pageflow::Permalink.new) do |permalink| %>
|
24
|
+
<%= render('admin/entries/permalink_inputs',
|
25
|
+
entry: resource,
|
26
|
+
form: permalink) %>
|
28
27
|
<% end %>
|
29
28
|
|
30
29
|
<% if resource.new_record? %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<% if authorized?(:update_site_on, entry) %>
|
2
|
+
<%= form.input(:site,
|
3
|
+
as: :searchable_select,
|
4
|
+
ajax: {
|
5
|
+
resource: Pageflow::Entry,
|
6
|
+
collection_name: :eligible_sites,
|
7
|
+
params: {
|
8
|
+
account_id: entry.account_id
|
9
|
+
}
|
10
|
+
},
|
11
|
+
include_blank: false,
|
12
|
+
wrapper_html: {
|
13
|
+
style: ('display: none' if site_policy_scope.sites_allowed_for(entry.account).one?)
|
14
|
+
}) %>
|
15
|
+
<% end %>
|
@@ -1,4 +1,7 @@
|
|
1
1
|
<%= fields_for(:entry, @entry, builder: ActiveAdmin::FormBuilder) do |form| %>
|
2
|
+
<%= render('admin/entries/site_input',
|
3
|
+
entry: @entry,
|
4
|
+
form: form) %>
|
2
5
|
<%= render('pageflow/admin/entries/entry_type_name_input',
|
3
6
|
form: form,
|
4
7
|
entry_types: Pageflow.config_for(@entry.account).entry_types) %>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<%= fields_for(:entry, @entry, builder: ActiveAdmin::FormBuilder) do |form| %>
|
2
|
+
<%= form.fields_for(:permalink, @entry.permalink || Pageflow::Permalink.new) do |permalink| %>
|
3
|
+
<%= render('admin/entries/permalink_inputs',
|
4
|
+
entry: @entry,
|
5
|
+
form: permalink) %>
|
6
|
+
<% end %>
|
7
|
+
<% end %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
<%= f.inputs do %>
|
6
6
|
<%= f.semantic_errors :entry_type_name %>
|
7
|
-
<%= render('admin/accounts/
|
7
|
+
<%= render('admin/accounts/site_defaults_inline_help') %>
|
8
8
|
<%= f.hidden_field :entry_type_name, value: entry_type_name %>
|
9
9
|
<%= f.input :default_locale,
|
10
10
|
as: :select,
|
@@ -12,15 +12,15 @@
|
|
12
12
|
collection: Pageflow.config.available_public_locales.map{ |locale|
|
13
13
|
[t('pageflow.public._language', locale: locale), locale.to_s]
|
14
14
|
},
|
15
|
-
hint: t('pageflow.admin.
|
15
|
+
hint: t('pageflow.admin.sites.default_locale_hint') %>
|
16
16
|
<%= f.input :default_author,
|
17
|
-
hint: t('pageflow.admin.
|
17
|
+
hint: t('pageflow.admin.sites.default_author_hint'),
|
18
18
|
placeholder: Pageflow.config.default_author_meta_tag %>
|
19
19
|
<%= f.input :default_publisher,
|
20
|
-
hint: t('pageflow.admin.
|
20
|
+
hint: t('pageflow.admin.sites.default_publisher_hint'),
|
21
21
|
placeholder: Pageflow.config.default_publisher_meta_tag %>
|
22
22
|
<%= f.input :default_keywords,
|
23
|
-
hint: t('pageflow.admin.
|
23
|
+
hint: t('pageflow.admin.sites.default_keywords_hint'),
|
24
24
|
placeholder: Pageflow.config.default_keywords_meta_tag %>
|
25
25
|
<%= render('admin/accounts/share_providers_label') %>
|
26
26
|
<%= f.semantic_fields_for :share_providers,
|
@@ -0,0 +1,9 @@
|
|
1
|
+
extensible_attributes_table_for(site,
|
2
|
+
Pageflow.config_for(site.account)
|
3
|
+
.admin_attributes_table_rows.for(:site)) do
|
4
|
+
row :host, class: 'host'
|
5
|
+
row :account, class: 'account' do
|
6
|
+
link_to(site.account.name,
|
7
|
+
admin_account_path(site.account, tab: 'sites'))
|
8
|
+
end
|
9
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%= f.inputs do %>
|
2
|
+
<%= f.input :cname, hint: t('pageflow.admin.sites.cname_hint') %>
|
3
|
+
<%= f.input :additional_cnames, hint: t('pageflow.admin.sites.additional_cnames_hint') %>
|
4
|
+
<%= f.input :home_url, hint: t('pageflow.admin.sites.home_url_hint') %>
|
5
|
+
<% end %>
|
6
|
+
|
7
|
+
<%= f.inputs do %>
|
8
|
+
<%= f.input :imprint_link_label %>
|
9
|
+
<%= f.input :imprint_link_url %>
|
10
|
+
<%= f.input :copyright_link_label %>
|
11
|
+
<%= f.input :copyright_link_url %>
|
12
|
+
<%= f.input :privacy_link_url %>
|
13
|
+
|
14
|
+
<% account_config.admin_form_inputs.find_all_for(:site).each do |form_input| %>
|
15
|
+
<%= form_input.build(f) %>
|
16
|
+
<% end %>
|
17
|
+
<% end %>
|
@@ -1,8 +1,7 @@
|
|
1
1
|
module Pageflow
|
2
2
|
module Admin
|
3
3
|
class EntriesTab < ViewComponent
|
4
|
-
def build(
|
5
|
-
account = theming.account
|
4
|
+
def build(account)
|
6
5
|
embedded_index_table(account.entries,
|
7
6
|
blank_slate_text: I18n.t('pageflow.admin.entries.no_members')) do
|
8
7
|
table_for_collection(sortable: true, class: 'entries', i18n: Pageflow::Entry) do
|
@@ -1,9 +1,8 @@
|
|
1
1
|
module Pageflow
|
2
2
|
module Admin
|
3
3
|
class EntryTemplatesTab < ViewComponent
|
4
|
-
def build(
|
5
|
-
|
6
|
-
table_subjects = account.existing_and_potential_entry_templates
|
4
|
+
def build(site)
|
5
|
+
table_subjects = site.existing_and_potential_entry_templates
|
7
6
|
|
8
7
|
table_for(table_subjects, i18n: Pageflow::EntryTemplate) do
|
9
8
|
column do |entry_template|
|
@@ -15,30 +14,30 @@ module Pageflow
|
|
15
14
|
end
|
16
15
|
column do |entry_template|
|
17
16
|
if entry_template.id
|
18
|
-
edit_link(entry_template,
|
17
|
+
edit_link(entry_template, site)
|
19
18
|
else
|
20
|
-
new_link(entry_template,
|
19
|
+
new_link(entry_template, site)
|
21
20
|
end
|
22
21
|
end
|
23
22
|
end
|
24
23
|
end
|
25
24
|
|
26
|
-
def new_link(entry_template,
|
25
|
+
def new_link(entry_template, site)
|
27
26
|
link_to(
|
28
27
|
I18n.t('active_admin.new'),
|
29
|
-
|
30
|
-
|
28
|
+
new_admin_site_entry_template_path(
|
29
|
+
site,
|
31
30
|
entry_template,
|
32
31
|
entry_type_name: entry_template.entry_type_name
|
33
32
|
)
|
34
33
|
)
|
35
34
|
end
|
36
35
|
|
37
|
-
def edit_link(entry_template,
|
36
|
+
def edit_link(entry_template, site)
|
38
37
|
link_to(
|
39
38
|
I18n.t('active_admin.edit'),
|
40
|
-
|
41
|
-
|
39
|
+
edit_admin_site_entry_template_path(
|
40
|
+
site,
|
42
41
|
entry_template
|
43
42
|
)
|
44
43
|
)
|
@@ -2,7 +2,7 @@ module Pageflow
|
|
2
2
|
module Admin
|
3
3
|
class FeaturesTab < ViewComponent
|
4
4
|
def build(resource)
|
5
|
-
feature_target = resource.is_a?(
|
5
|
+
feature_target = resource.is_a?(Site) ? resource.account : resource
|
6
6
|
render('admin/features/form', resource: feature_target)
|
7
7
|
end
|
8
8
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Pageflow
|
2
|
+
module Admin
|
3
|
+
class SitesTab < ViewComponent
|
4
|
+
def build(account)
|
5
|
+
embedded_index_table(account.sites,
|
6
|
+
blank_slate_text: I18n.t('pageflow.admin.accounts.no_sites')) do
|
7
|
+
table_for_collection class: 'sites', i18n: Pageflow::Site do
|
8
|
+
column :name do |site|
|
9
|
+
link_to(site.display_name,
|
10
|
+
admin_account_site_path(site.account, site))
|
11
|
+
end
|
12
|
+
column :host do |site|
|
13
|
+
site.host.presence || '-'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
add_button(account)
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def add_button(account)
|
24
|
+
return unless authorized?(:create, Site)
|
25
|
+
|
26
|
+
text_node(link_to(t('pageflow.admin.sites.add'),
|
27
|
+
new_admin_account_site_path(account),
|
28
|
+
class: 'button'))
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,8 +1,7 @@
|
|
1
1
|
module Pageflow
|
2
2
|
module Admin
|
3
3
|
class UsersTab < ViewComponent
|
4
|
-
def build(
|
5
|
-
account = theming.account
|
4
|
+
def build(account)
|
6
5
|
embedded_index_table(account.memberships.on_accounts.includes(:user)
|
7
6
|
.accessible_by(current_ability, :index)
|
8
7
|
.where('pageflow_memberships.user_id IS NOT NULL'),
|
@@ -12,7 +12,7 @@
|
|
12
12
|
"files": <%= editor_files_json_seed(@entry) %>,
|
13
13
|
|
14
14
|
"account": <%= render_json_seed(@entry.account) %>,
|
15
|
-
"
|
15
|
+
"site": <%= render_json_seed(@entry.site) %>,
|
16
16
|
"widget_types": <%= widget_types_json_seeds(@entry_config) %>,
|
17
17
|
"page_types": <%= page_type_json_seeds(@entry_config) %>,
|
18
18
|
"themes": <%= theme_json_seeds(@entry_config) %>,
|
@@ -0,0 +1 @@
|
|
1
|
+
json.pretty_url pretty_site_url(site)
|
File without changes
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<%= tag :meta, property: "og:title", content: pretty_entry_title(entry) %>
|
6
6
|
<%= tag :meta, property: "og:description", name: "description", content: social_share_entry_description(entry) %>
|
7
7
|
<%= tag :meta, property: "og:url", content: social_share_entry_url(entry) %>
|
8
|
-
<%= tag :meta, property: "og:site_name", content: entry.
|
8
|
+
<%= tag :meta, property: "og:site_name", content: entry.site.cname_domain %>
|
9
9
|
<%= tag :meta, property: "og:type", content: "website" %>
|
10
10
|
|
11
11
|
<%= tag :meta, name: "twitter:card", content: "summary_large_image" %>
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<%= tag :meta, property: "og:title", content: social_share_page_title(page) %>
|
6
6
|
<%= tag :meta, property: "og:description", name: "description", content: social_share_page_description(entry, page) %>
|
7
7
|
<%= tag :meta, property: "og:url", content: social_share_page_url(entry, page) %>
|
8
|
-
<%= tag :meta, property: "og:site_name", content: entry.
|
8
|
+
<%= tag :meta, property: "og:site_name", content: entry.site.cname_domain %>
|
9
9
|
<%= tag :meta, property: "og:type", content: "website" %>
|
10
10
|
|
11
11
|
<%= tag :meta, name: "twitter:card", content: "summary_large_image" %>
|
@@ -1,17 +1,34 @@
|
|
1
1
|
Pageflow.configure do |config|
|
2
|
-
config.admin_resource_tabs.register(:entry,
|
3
|
-
|
2
|
+
config.admin_resource_tabs.register(:entry,
|
3
|
+
name: :members,
|
4
|
+
component: Pageflow::Admin::MembersTab)
|
5
|
+
config.admin_resource_tabs.register(:entry,
|
6
|
+
name: :revisions,
|
7
|
+
component: Pageflow::Admin::RevisionsTab)
|
8
|
+
|
9
|
+
config.admin_resource_tabs.register(:user,
|
10
|
+
name: :accounts,
|
11
|
+
component: Pageflow::Admin::UserAccountsTab)
|
12
|
+
config.admin_resource_tabs.register(:user,
|
13
|
+
name: :entries,
|
14
|
+
component: Pageflow::Admin::UserEntriesTab)
|
4
15
|
|
5
|
-
config.admin_resource_tabs.register(:
|
6
|
-
|
16
|
+
config.admin_resource_tabs.register(:account,
|
17
|
+
name: :entries,
|
18
|
+
component: Pageflow::Admin::EntriesTab)
|
19
|
+
config.admin_resource_tabs.register(:account,
|
20
|
+
name: :users,
|
21
|
+
component: Pageflow::Admin::UsersTab)
|
22
|
+
config.admin_resource_tabs.register(:account,
|
23
|
+
name: :sites,
|
24
|
+
component: Pageflow::Admin::SitesTab)
|
7
25
|
|
8
|
-
config.admin_resource_tabs.register(:
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
)
|
26
|
+
config.admin_resource_tabs.register(:site,
|
27
|
+
name: :entries,
|
28
|
+
component: Pageflow::Admin::EntriesTab)
|
29
|
+
config.admin_resource_tabs.register(:site,
|
30
|
+
name: :entry_templates,
|
31
|
+
component: Pageflow::Admin::EntryTemplatesTab)
|
15
32
|
end
|
16
33
|
|
17
34
|
Pageflow.after_configure do |config|
|
@@ -27,7 +44,7 @@ Pageflow.after_configure do |config|
|
|
27
44
|
component: Pageflow::Admin::FeaturesTab,
|
28
45
|
**features_tab_permissions)
|
29
46
|
|
30
|
-
config.admin_resource_tabs.register(:
|
47
|
+
config.admin_resource_tabs.register(:account,
|
31
48
|
name: :features,
|
32
49
|
component: Pageflow::Admin::FeaturesTab,
|
33
50
|
**features_tab_permissions)
|
@@ -0,0 +1 @@
|
|
1
|
+
Mime::Type.register 'application/manifest+json', :webmanifest
|
data/config/locales/de.yml
CHANGED
@@ -161,7 +161,7 @@ de:
|
|
161
161
|
pageflow/account:
|
162
162
|
created_at: Erstellt am
|
163
163
|
default_file_rights: Standard Urheber
|
164
|
-
|
164
|
+
default_site: Standard-Site
|
165
165
|
entries_count: "# Beiträge"
|
166
166
|
landing_page_name: Einstiegsseite
|
167
167
|
name: Name
|
@@ -265,11 +265,7 @@ de:
|
|
265
265
|
published_at: Publiziert am
|
266
266
|
published_until: Publiziert bis
|
267
267
|
updated_at: Geändert am
|
268
|
-
pageflow/
|
269
|
-
kind: Art
|
270
|
-
label: Label
|
271
|
-
srclang: Sprache
|
272
|
-
pageflow/theming:
|
268
|
+
pageflow/site:
|
273
269
|
additional_cnames: Zusätzliche CNAMES
|
274
270
|
cname: CNAME
|
275
271
|
copyright_link_label: Copyright-Link Text
|
@@ -279,6 +275,10 @@ de:
|
|
279
275
|
imprint_link_url: Impressum-Link URL
|
280
276
|
privacy_link_url: Datenschutz-Link URL
|
281
277
|
share_providers: Standard Share Links
|
278
|
+
pageflow/text_track_file:
|
279
|
+
kind: Art
|
280
|
+
label: Label
|
281
|
+
srclang: Sprache
|
282
282
|
pageflow/video_file:
|
283
283
|
dimensions: Maße
|
284
284
|
duration: Länge
|
@@ -406,21 +406,21 @@ de:
|
|
406
406
|
pageflow/revision:
|
407
407
|
one: Revision
|
408
408
|
other: Revisionen
|
409
|
+
pageflow/site:
|
410
|
+
one: Site
|
411
|
+
other: Sites
|
409
412
|
pageflow/text_track_file:
|
410
413
|
one: Textspur-Datei
|
411
414
|
other: Textspur-Dateien
|
412
|
-
pageflow/theming:
|
413
|
-
one: Theming
|
414
|
-
other: Themings
|
415
415
|
pageflow/video_file:
|
416
416
|
one: Videodatei
|
417
417
|
other: Videodateien
|
418
418
|
revision:
|
419
419
|
one: Revision
|
420
420
|
other: Revisionen
|
421
|
-
|
422
|
-
one:
|
423
|
-
other:
|
421
|
+
site:
|
422
|
+
one: Site
|
423
|
+
other: Sites
|
424
424
|
user:
|
425
425
|
one: Nutzer
|
426
426
|
other: Nutzer
|
@@ -499,7 +499,7 @@ de:
|
|
499
499
|
- Fr
|
500
500
|
- Sa
|
501
501
|
abbr_month_names:
|
502
|
-
-
|
502
|
+
-
|
503
503
|
- Jan
|
504
504
|
- Feb
|
505
505
|
- Mär
|
@@ -525,7 +525,7 @@ de:
|
|
525
525
|
long: "%e. %B %Y"
|
526
526
|
short: "%e. %b"
|
527
527
|
month_names:
|
528
|
-
-
|
528
|
+
-
|
529
529
|
- Januar
|
530
530
|
- Februar
|
531
531
|
- März
|
@@ -798,10 +798,9 @@ de:
|
|
798
798
|
cannot_add: Was Sie tun möchten, ist nicht möglich.
|
799
799
|
none_addable_tooltip: Kein Konto verfügbar
|
800
800
|
accounts:
|
801
|
-
entry_template_hint: Einige Formularfelder sind ab sofort im Beitragsvorlagen-Tab auf der Informations-Seite dieses Kontos zu finden.
|
802
801
|
no_entries: Keine Beiträge
|
803
802
|
no_members: Keine Benutzer
|
804
|
-
|
803
|
+
site_defaults_inline_help: Die folgenden Einstellungen werden als Standard für neue Beiträge des Kontos verwendet. Änderungen wirken sich nicht auf existierende Beiträge aus.
|
805
804
|
entries:
|
806
805
|
add_folder: Ordner hinzufügen
|
807
806
|
confirm_depublish: Soll der Beitrag wirklich depubliziert werden?
|
@@ -881,16 +880,19 @@ de:
|
|
881
880
|
features: Features
|
882
881
|
members: Mitglieder
|
883
882
|
revisions: Revisionen
|
883
|
+
sites: Sites
|
884
884
|
users: Benutzer
|
885
885
|
revisions:
|
886
886
|
published_until_hint: Freilassen, um Beitrag unbegrenzt zu veröffentlichen.
|
887
887
|
restored: Revision wiederhergestellt
|
888
|
-
|
888
|
+
sites:
|
889
|
+
add: Site hinzufügen
|
889
890
|
additional_cnames_hint: Kommaseparierte Liste von weiteren CNAMES. Ausschließlich zur Auswahl der Redirect URL genutzt.
|
890
891
|
cname_hint: Wird in Share Links verwendet.
|
891
892
|
default_author_hint: Voreinstellung 'author' Meta-Feld für Eintrage
|
892
893
|
default_keywords_hint: Voreinstellung 'keywords' Meta-Feld für Eintrage
|
893
894
|
default_locale_hint: Voreinstellung Sprache für Einträge
|
895
|
+
default_name: "(Standard)"
|
894
896
|
default_publisher_hint: Voreinstellung 'publisher' Meta-Feld für Eintrage
|
895
897
|
home_url_hint: Wird einer der obigen CNAMES ohne Pfad in der URL verwendet, wird zu dieser URL umgeleitet. Standard Link Ziel des Home Buttons.
|
896
898
|
name: "%{account_name}"
|
data/config/locales/en.yml
CHANGED
@@ -161,7 +161,7 @@ en:
|
|
161
161
|
pageflow/account:
|
162
162
|
created_at: Created at
|
163
163
|
default_file_rights: Default file credits
|
164
|
-
|
164
|
+
default_site: Default site
|
165
165
|
entries_count: "# Stories"
|
166
166
|
landing_page_name: Landing page
|
167
167
|
name: Name
|
@@ -265,11 +265,7 @@ en:
|
|
265
265
|
published_at: Published at
|
266
266
|
published_until: Published until
|
267
267
|
updated_at: Updated at
|
268
|
-
pageflow/
|
269
|
-
kind: Kind
|
270
|
-
label: Label
|
271
|
-
srclang: Language
|
272
|
-
pageflow/theming:
|
268
|
+
pageflow/site:
|
273
269
|
additional_cnames: Additional CNAMES
|
274
270
|
cname: CNAME
|
275
271
|
copyright_link_label: Copyright link Text
|
@@ -279,6 +275,10 @@ en:
|
|
279
275
|
imprint_link_url: Legal notice link URL
|
280
276
|
privacy_link_url: Privacy link URL
|
281
277
|
share_providers: Default Share Links
|
278
|
+
pageflow/text_track_file:
|
279
|
+
kind: Kind
|
280
|
+
label: Label
|
281
|
+
srclang: Language
|
282
282
|
pageflow/video_file:
|
283
283
|
dimensions: Dimensions
|
284
284
|
duration: Duration
|
@@ -406,21 +406,21 @@ en:
|
|
406
406
|
pageflow/revision:
|
407
407
|
one: Version
|
408
408
|
other: Versions
|
409
|
+
pageflow/site:
|
410
|
+
one: Site
|
411
|
+
other: Sites
|
409
412
|
pageflow/text_track_file:
|
410
413
|
one: Text Track File
|
411
414
|
other: Text Track Files
|
412
|
-
pageflow/theming:
|
413
|
-
one: Theming
|
414
|
-
other: Themings
|
415
415
|
pageflow/video_file:
|
416
416
|
one: Video File
|
417
417
|
other: Video Files
|
418
418
|
revision:
|
419
419
|
one: Version
|
420
420
|
other: Versions
|
421
|
-
|
422
|
-
one:
|
423
|
-
other:
|
421
|
+
site:
|
422
|
+
one: Site
|
423
|
+
other: Sites
|
424
424
|
user:
|
425
425
|
one: User
|
426
426
|
other: Users
|
@@ -499,7 +499,7 @@ en:
|
|
499
499
|
- Fri
|
500
500
|
- Sat
|
501
501
|
abbr_month_names:
|
502
|
-
-
|
502
|
+
-
|
503
503
|
- Jan
|
504
504
|
- Feb
|
505
505
|
- Mar
|
@@ -525,7 +525,7 @@ en:
|
|
525
525
|
long: "%B %d, %Y"
|
526
526
|
short: "%b %d"
|
527
527
|
month_names:
|
528
|
-
-
|
528
|
+
-
|
529
529
|
- January
|
530
530
|
- February
|
531
531
|
- March
|
@@ -792,10 +792,9 @@ en:
|
|
792
792
|
cannot_add: What you want to do is not possible at the moment.
|
793
793
|
none_addable_tooltip: No account available
|
794
794
|
accounts:
|
795
|
-
entry_template_hint: Some of the form fields can now be found in the story template tab on the info page for this account
|
796
795
|
no_entries: No Stories
|
797
796
|
no_members: No members
|
798
|
-
|
797
|
+
site_defaults_inline_help: The following settings will be used as defaults for new stories in this account. Changes do not affect existing stories.
|
799
798
|
entries:
|
800
799
|
add_folder: Add folder
|
801
800
|
confirm_depublish: Depublish this story?
|
@@ -875,16 +874,19 @@ en:
|
|
875
874
|
features: Features
|
876
875
|
members: Members
|
877
876
|
revisions: Versions
|
877
|
+
sites: Sites
|
878
878
|
users: User
|
879
879
|
revisions:
|
880
880
|
published_until_hint: Leave blank to publish indefinitely.
|
881
881
|
restored: Version restored
|
882
|
-
|
882
|
+
sites:
|
883
|
+
add: Add site
|
883
884
|
additional_cnames_hint: Comma separated list of additional CNAMES. Used only to select the correct redirect URL.
|
884
885
|
cname_hint: Used in public sharing URLs.
|
885
886
|
default_author_hint: Default 'author' meta field for stories
|
886
887
|
default_keywords_hint: Default 'keywords' meta field for stories
|
887
888
|
default_locale_hint: Default language for stories
|
889
|
+
default_name: "(Default)"
|
888
890
|
default_publisher_hint: Default 'publisher' meta field for stories
|
889
891
|
home_url_hint: Used for requests to the root path with one of the above CNAMES. Default target location for the home button.
|
890
892
|
name: "%{account_name}"
|