pages_core 3.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +29 -0
- data/Rakefile +10 -0
- data/app/assets/images/pages/admin/description-bg.gif +0 -0
- data/app/assets/images/pages/admin/drag-handle.gif +0 -0
- data/app/assets/images/pages/admin/drag-icon.png +0 -0
- data/app/assets/images/pages/admin/flash-error-bg.gif +0 -0
- data/app/assets/images/pages/admin/formelement-bg.gif +0 -0
- data/app/assets/images/pages/admin/header-tab-current-bg.gif +0 -0
- data/app/assets/images/pages/admin/icon.png +0 -0
- data/app/assets/images/pages/admin/image-editor-bg.png +0 -0
- data/app/assets/images/pages/admin/list-table-pin-blue.gif +0 -0
- data/app/assets/images/pages/admin/list-table-pin-disabled.gif +0 -0
- data/app/assets/images/pages/admin/list-table-pin-green.gif +0 -0
- data/app/assets/images/pages/admin/list-table-pin-red.gif +0 -0
- data/app/assets/images/pages/admin/list-table-pin-yellow.gif +0 -0
- data/app/assets/images/pages/admin/list-table-td-bg.gif +0 -0
- data/app/assets/images/pages/admin/loading-modal.gif +0 -0
- data/app/assets/images/pages/admin/sidebar-bg.gif +0 -0
- data/app/assets/images/pages/admin/textarea_controls.gif +0 -0
- data/app/assets/images/pages/admin/warning-icon.gif +0 -0
- data/app/assets/images/pages/favicon.gif +0 -0
- data/app/assets/images/pages/feed-icon-14x14.png +0 -0
- data/app/assets/javascripts/pages/admin/controllers/base.js.coffee +4 -0
- data/app/assets/javascripts/pages/admin/controllers/pages_controller.js.coffee +139 -0
- data/app/assets/javascripts/pages/admin/controllers/users_controller.js.coffee +9 -0
- data/app/assets/javascripts/pages/admin/features/content_tabs.js.coffee +47 -0
- data/app/assets/javascripts/pages/admin/features/editable_image.js.coffee.erb +122 -0
- data/app/assets/javascripts/pages/admin/features/modal.js.coffee +66 -0
- data/app/assets/javascripts/pages/admin/features/page_images.js +329 -0
- data/app/assets/javascripts/pages/admin/features/rich_text.js.coffee +40 -0
- data/app/assets/javascripts/pages/admin/features/tag_editor.js +159 -0
- data/app/assets/javascripts/pages/admin/lib/ajax_extensions.js.coffee +17 -0
- data/app/assets/javascripts/pages/admin/lib/center_on_screen.js.coffee +21 -0
- data/app/assets/javascripts/pages/admin/lib/jrichtextarea.js +57 -0
- data/app/assets/javascripts/pages/admin.js.coffee +54 -0
- data/app/assets/javascripts/pages/login_form.js.coffee +17 -0
- data/app/assets/stylesheets/pages/admin/buttons.css.erb +5 -0
- data/app/assets/stylesheets/pages/admin/controllers/artists.css.erb +94 -0
- data/app/assets/stylesheets/pages/admin/controllers/files.css.erb +58 -0
- data/app/assets/stylesheets/pages/admin/controllers/pages.css.scss.erb +178 -0
- data/app/assets/stylesheets/pages/admin/controllers/users.css.erb +3 -0
- data/app/assets/stylesheets/pages/admin/editable_image.css.erb +19 -0
- data/app/assets/stylesheets/pages/admin/forms.css.scss.erb +73 -0
- data/app/assets/stylesheets/pages/admin/header.css.erb +129 -0
- data/app/assets/stylesheets/pages/admin/images.css.scss.erb +160 -0
- data/app/assets/stylesheets/pages/admin/links.css.erb +34 -0
- data/app/assets/stylesheets/pages/admin/list_table.css.erb +56 -0
- data/app/assets/stylesheets/pages/admin/login.css.scss.erb +32 -0
- data/app/assets/stylesheets/pages/admin/modal.css.erb +14 -0
- data/app/assets/stylesheets/pages/admin/pagination.css.scss +22 -0
- data/app/assets/stylesheets/pages/admin/print.css.erb +17 -0
- data/app/assets/stylesheets/pages/admin/sidebar.css.erb +39 -0
- data/app/assets/stylesheets/pages/admin/sortable_images.css.erb +18 -0
- data/app/assets/stylesheets/pages/admin/tag_editor.css.scss.erb +48 -0
- data/app/assets/stylesheets/pages/admin/textarea.css.erb +55 -0
- data/app/assets/stylesheets/pages/admin.css.erb +404 -0
- data/app/assets/stylesheets/pages/errors.css +126 -0
- data/app/controller_dummies/admin/admin_controller.rb +6 -0
- data/app/controller_dummies/application_controller.rb +6 -0
- data/app/controller_dummies/frontend_controller.rb +4 -0
- data/app/controller_dummies/images_controller.rb +4 -0
- data/app/controller_dummies/page_files_controller.rb +4 -0
- data/app/controller_dummies/pages_controller.rb +4 -0
- data/app/controller_dummies/sitemaps_controller.rb +4 -0
- data/app/controllers/admin/categories_controller.rb +57 -0
- data/app/controllers/admin/images_controller.rb +48 -0
- data/app/controllers/admin/invites_controller.rb +79 -0
- data/app/controllers/admin/page_comments_controller.rb +61 -0
- data/app/controllers/admin/page_files_controller.rb +81 -0
- data/app/controllers/admin/page_images_controller.rb +116 -0
- data/app/controllers/admin/pages_controller.rb +179 -0
- data/app/controllers/admin/password_resets_controller.rb +83 -0
- data/app/controllers/admin/users_controller.rb +102 -0
- data/app/controllers/concerns/pages_core/authentication.rb +48 -0
- data/app/controllers/concerns/pages_core/domain_based_cache.rb +28 -0
- data/app/controllers/concerns/pages_core/exception_handler.rb +114 -0
- data/app/controllers/concerns/pages_core/policies_helper.rb +40 -0
- data/app/controllers/concerns/pages_core/process_titler.rb +44 -0
- data/app/controllers/errors_controller.rb +45 -0
- data/app/controllers/pages_core/admin_controller.rb +109 -0
- data/app/controllers/pages_core/application_controller.rb +31 -0
- data/app/controllers/pages_core/frontend/page_files_controller.rb +42 -0
- data/app/controllers/pages_core/frontend/pages_controller.rb +308 -0
- data/app/controllers/pages_core/frontend_controller.rb +34 -0
- data/app/controllers/pages_core/images_controller.rb +15 -0
- data/app/controllers/pages_core/sitemaps_controller.rb +73 -0
- data/app/controllers/sessions_controller.rb +38 -0
- data/app/formatters/pages_core/html_formatter.rb +86 -0
- data/app/helpers/admin/admin_helper.rb +7 -0
- data/app/helpers/admin/menu_helper.rb +65 -0
- data/app/helpers/admin/pages_helper.rb +74 -0
- data/app/helpers/application_helper.rb +5 -0
- data/app/helpers/frontend_helper.rb +5 -0
- data/app/helpers/pages_core/admin/admin_helper.rb +108 -0
- data/app/helpers/pages_core/admin/labelled_field_helper.rb +73 -0
- data/app/helpers/pages_core/admin/tag_editor_helper.rb +46 -0
- data/app/helpers/pages_core/application_helper.rb +65 -0
- data/app/helpers/pages_core/form_builder.rb +187 -0
- data/app/helpers/pages_core/frontend_helper.rb +21 -0
- data/app/helpers/pages_core/head_tags_helper.rb +270 -0
- data/app/helpers/pages_core/images_helper.rb +36 -0
- data/app/helpers/pages_core/login_helper.rb +14 -0
- data/app/indices/page_file_index.rb +9 -0
- data/app/indices/page_index.rb +29 -0
- data/app/indices/user_index.rb +11 -0
- data/app/jobs/pages_core/autopublish_job.rb +11 -0
- data/app/jobs/pages_core/sweep_cache_job.rb +11 -0
- data/app/mailers/admin_mailer.rb +46 -0
- data/app/models/autopublisher.rb +33 -0
- data/app/models/category.rb +23 -0
- data/app/models/concerns/pages_core/has_roles.rb +25 -0
- data/app/models/concerns/pages_core/humanizable_param.rb +17 -0
- data/app/models/concerns/pages_core/page_tree.rb +85 -0
- data/app/models/concerns/pages_core/searchable_page.rb +33 -0
- data/app/models/concerns/pages_core/sweepable.rb +23 -0
- data/app/models/concerns/pages_core/taggable.rb +46 -0
- data/app/models/concerns/pages_core/templateable.rb +85 -0
- data/app/models/image.rb +23 -0
- data/app/models/invite.rb +33 -0
- data/app/models/invite_role.rb +11 -0
- data/app/models/localization.rb +27 -0
- data/app/models/page.rb +281 -0
- data/app/models/page_builder.rb +61 -0
- data/app/models/page_comment.rb +18 -0
- data/app/models/page_file.rb +74 -0
- data/app/models/page_image.rb +62 -0
- data/app/models/password_reset_token.rb +38 -0
- data/app/models/role.rb +51 -0
- data/app/models/tag.rb +64 -0
- data/app/models/tagging.rb +22 -0
- data/app/models/user.rb +131 -0
- data/app/policies/invite_policy.rb +29 -0
- data/app/policies/page_file_policy.rb +25 -0
- data/app/policies/page_image_policy.rb +25 -0
- data/app/policies/page_policy.rb +33 -0
- data/app/policies/policy.rb +64 -0
- data/app/policies/user_policy.rb +49 -0
- data/app/serializers/admin/image_serializer.rb +10 -0
- data/app/serializers/admin/page_image_serializer.rb +6 -0
- data/app/serializers/page_image_serializer.rb +38 -0
- data/app/serializers/page_serializer.rb +21 -0
- data/app/views/admin/invites/new.html.erb +16 -0
- data/app/views/admin/invites/show.html.erb +25 -0
- data/app/views/admin/pages/_edit_comments.html.erb +21 -0
- data/app/views/admin/pages/_edit_content.html.erb +10 -0
- data/app/views/admin/pages/_edit_images.html.erb +84 -0
- data/app/views/admin/pages/_edit_metadata.html.erb +24 -0
- data/app/views/admin/pages/_edit_options.html.erb +72 -0
- data/app/views/admin/pages/_pagelisting.html.erb +63 -0
- data/app/views/admin/pages/edit.html.erb +161 -0
- data/app/views/admin/pages/index.html.erb +67 -0
- data/app/views/admin/pages/new.html.erb +48 -0
- data/app/views/admin/pages/news.html.erb +69 -0
- data/app/views/admin/password_resets/show.html.erb +24 -0
- data/app/views/admin/users/_access_control.html.erb +14 -0
- data/app/views/admin/users/_list.html.erb +62 -0
- data/app/views/admin/users/_login_form.html.erb +47 -0
- data/app/views/admin/users/deactivated.html.erb +12 -0
- data/app/views/admin/users/edit.html.erb +54 -0
- data/app/views/admin/users/index.html.erb +27 -0
- data/app/views/admin/users/login.html.erb +15 -0
- data/app/views/admin/users/new.html.erb +23 -0
- data/app/views/admin/users/new_password.html.erb +19 -0
- data/app/views/admin/users/show.html.erb +64 -0
- data/app/views/admin_mailer/comment_notification.text.erb +7 -0
- data/app/views/admin_mailer/error_report.html.erb +70 -0
- data/app/views/admin_mailer/invite.text.erb +9 -0
- data/app/views/admin_mailer/password_reset.text.erb +13 -0
- data/app/views/errors/403.html.erb +6 -0
- data/app/views/errors/404.html.erb +11 -0
- data/app/views/errors/405.html.erb +4 -0
- data/app/views/errors/500.html.erb +19 -0
- data/app/views/errors/500_critical.html.erb +7 -0
- data/app/views/errors/_generic_help.html.erb +21 -0
- data/app/views/errors/report.html.erb +4 -0
- data/app/views/feeds/pages.rss.builder +39 -0
- data/app/views/layouts/admin/_analytics.html.erb +18 -0
- data/app/views/layouts/admin/_header.html.erb +37 -0
- data/app/views/layouts/admin.html.erb +79 -0
- data/app/views/layouts/errors.html.erb +23 -0
- data/app/views/sitemaps/show.xml.builder +9 -0
- data/config/locales/en.yml +6 -0
- data/config/removed_migrations.yml +60 -0
- data/config/routes.rb +127 -0
- data/db/migrate/20111219033112_create_pages_tables.rb +281 -0
- data/db/migrate/20120627033112_rename_textbits.rb +19 -0
- data/db/migrate/20121010055412_drop_removed_tables.rb +83 -0
- data/db/migrate/20130130053932_add_queue_to_delayed_jobs.rb +11 -0
- data/db/migrate/20130303053932_remove_filter_from_localizations.rb +11 -0
- data/db/migrate/20130303160632_remove_imagesets.rb +24 -0
- data/db/migrate/20130303161732_remove_sms_subscribers.rb +16 -0
- data/db/migrate/20130823133208_update_page_redirect_to.rb +25 -0
- data/db/migrate/20140203183900_create_roles.rb +63 -0
- data/db/migrate/20140414150500_change_locale_names.rb +13 -0
- data/db/migrate/20140515130100_remove_sphinx_deltas.rb +15 -0
- data/db/migrate/20140604142100_remove_openid_url.rb +9 -0
- data/db/migrate/20140920231700_convert_images_to_dis.rb +79 -0
- data/db/migrate/20140922124600_convert_page_files_to_dis.rb +50 -0
- data/db/migrate/20141004003100_create_password_reset_tokens.rb +10 -0
- data/db/migrate/20141006181300_remove_user_cruft.rb +11 -0
- data/db/migrate/20141007173000_create_invites.rb +16 -0
- data/db/migrate/20150204130800_update_delayed_job_table.rb +9 -0
- data/db/migrate/20150401131300_localize_images.rb +39 -0
- data/db/migrate/20150520174300_add_meta_image_to_page.rb +5 -0
- data/db/migrate/20150904164200_add_pinned_to_tags.rb +5 -0
- data/lib/pages_core/admin_menu_item.rb +22 -0
- data/lib/pages_core/archive_finder.rb +75 -0
- data/lib/pages_core/cache_sweeper.rb +112 -0
- data/lib/pages_core/configuration/base.rb +85 -0
- data/lib/pages_core/configuration/pages.rb +23 -0
- data/lib/pages_core/configuration.rb +9 -0
- data/lib/pages_core/engine.rb +27 -0
- data/lib/pages_core/extensions/hash_extensions.rb +23 -0
- data/lib/pages_core/extensions/string_extensions.rb +17 -0
- data/lib/pages_core/extensions.rb +4 -0
- data/lib/pages_core/localizable/active_record_extension.rb +41 -0
- data/lib/pages_core/localizable/class_methods.rb +51 -0
- data/lib/pages_core/localizable/configuration.rb +50 -0
- data/lib/pages_core/localizable/instance_methods.rb +130 -0
- data/lib/pages_core/localizable/localizer.rb +72 -0
- data/lib/pages_core/localizable/scope_extension.rb +22 -0
- data/lib/pages_core/localizable.rb +49 -0
- data/lib/pages_core/pages_plugin.rb +14 -0
- data/lib/pages_core/paginates.rb +102 -0
- data/lib/pages_core/plugin.rb +118 -0
- data/lib/pages_core/templates/block_configuration.rb +17 -0
- data/lib/pages_core/templates/configuration.rb +81 -0
- data/lib/pages_core/templates/configuration_handler.rb +62 -0
- data/lib/pages_core/templates/configuration_proxy.rb +28 -0
- data/lib/pages_core/templates/controller_actions.rb +32 -0
- data/lib/pages_core/templates/template_configuration.rb +198 -0
- data/lib/pages_core/templates.rb +53 -0
- data/lib/pages_core/version.rb +5 -0
- data/lib/pages_core.rb +89 -0
- data/lib/rails/generators/pages_core/frontend/frontend_generator.rb +68 -0
- data/lib/rails/generators/pages_core/frontend/templates/application.css.scss.erb +3 -0
- data/lib/rails/generators/pages_core/frontend/templates/application.js.erb +16 -0
- data/lib/rails/generators/pages_core/frontend/templates/base.css.scss.erb +3 -0
- data/lib/rails/generators/pages_core/frontend/templates/breakpoints.css.scss.erb +24 -0
- data/lib/rails/generators/pages_core/frontend/templates/hidpi.css.scss.erb +8 -0
- data/lib/rails/generators/pages_core/frontend/templates/layout.html.erb +15 -0
- data/lib/rails/generators/pages_core/frontend/templates/normalize.css.erb +425 -0
- data/lib/rails/generators/pages_core/install/install_generator.rb +135 -0
- data/lib/rails/generators/pages_core/install/templates/active_job_initializer.rb +1 -0
- data/lib/rails/generators/pages_core/install/templates/application_controller.rb +11 -0
- data/lib/rails/generators/pages_core/install/templates/application_helper.rb +5 -0
- data/lib/rails/generators/pages_core/install/templates/cache_sweeper_initializer.rb +11 -0
- data/lib/rails/generators/pages_core/install/templates/default_page_template.html.erb +5 -0
- data/lib/rails/generators/pages_core/install/templates/delayed_job +7 -0
- data/lib/rails/generators/pages_core/install/templates/delayed_job_initializer.rb +3 -0
- data/lib/rails/generators/pages_core/install/templates/frontend_controller.rb +6 -0
- data/lib/rails/generators/pages_core/install/templates/frontend_helper.rb +5 -0
- data/lib/rails/generators/pages_core/install/templates/gitignore.erb +25 -0
- data/lib/rails/generators/pages_core/install/templates/page_templates_initializer.rb +67 -0
- data/lib/rails/generators/pages_core/install/templates/pages_controller.rb +4 -0
- data/lib/rails/generators/pages_core/install/templates/pages_initializer.rb +45 -0
- data/lib/rails/generators/pages_core/install/templates/thinking_sphinx.yml +12 -0
- data/lib/rails/generators/pages_core/rspec/rspec_generator.rb +34 -0
- data/lib/rails/generators/pages_core/rspec/templates/factories.rb +9 -0
- data/lib/rails/generators/pages_core/rspec/templates/mailer_macros.rb +9 -0
- data/lib/rails/generators/pages_core/rspec/templates/spec_helper.rb +51 -0
- data/lib/tasks/db.rake +96 -0
- data/lib/tasks/pages/assets.rake +65 -0
- data/lib/tasks/pages/cache.rake +16 -0
- data/lib/tasks/pages/update.rake +19 -0
- data/lib/tasks/pages.rake +76 -0
- data/template.rb +19 -0
- data/vendor/assets/javascripts/jquery.dimscreen.js +77 -0
- data/vendor/assets/javascripts/jquery.fieldselection.js +59 -0
- metadata +690 -0
@@ -0,0 +1,14 @@
|
|
1
|
+
<% if policy(f.object).policies? %>
|
2
|
+
<h2>
|
3
|
+
Access control
|
4
|
+
</h2>
|
5
|
+
<p>
|
6
|
+
<% if f.object.kind_of?(User) && f.object != current_user %>
|
7
|
+
<%= f.check_box :activated %> The user account is activated<br />
|
8
|
+
<% end %>
|
9
|
+
<% Role.roles.each do |role| %>
|
10
|
+
<%= check_box_tag "#{model_name_from_record_or_class(f.object).param_key}[role_names][]", role.name, f.object.role?(role.name.to_sym) %>
|
11
|
+
<%= role.description %><br>
|
12
|
+
<% end %>
|
13
|
+
</p>
|
14
|
+
<% end %>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<table class="users list">
|
2
|
+
<tr>
|
3
|
+
<th>Name</th>
|
4
|
+
<th>Email</th>
|
5
|
+
<th>Can access</th>
|
6
|
+
<th>Last seen</th>
|
7
|
+
<th></th>
|
8
|
+
</tr>
|
9
|
+
<% @invites.each do |invite| %>
|
10
|
+
<tr class="invite">
|
11
|
+
<td></td>
|
12
|
+
<td>
|
13
|
+
<%= invite.email %>
|
14
|
+
</td>
|
15
|
+
<td>
|
16
|
+
<%= invite.roles.map(&:to_s).to_sentence %>
|
17
|
+
</td>
|
18
|
+
<td>
|
19
|
+
<% if invite.sent_at? %>
|
20
|
+
Invited
|
21
|
+
<%= time_ago_in_words(invite.sent_at) %> ago
|
22
|
+
<% end %>
|
23
|
+
</td>
|
24
|
+
<td>
|
25
|
+
<%= link_to "Cancel invite", [:admin, invite], method: 'delete', data: {confirm: "Are you sure?"}, class: 'delete' %>
|
26
|
+
</td>
|
27
|
+
</tr>
|
28
|
+
<% end %>
|
29
|
+
<% @users.each do |user| -%>
|
30
|
+
<tr class="<%=
|
31
|
+
classes = []
|
32
|
+
classes.join( " " )
|
33
|
+
%>">
|
34
|
+
<td>
|
35
|
+
<strong><%= link_to user.name, admin_user_url( user ) %></strong>
|
36
|
+
<% if policy(user).edit? %>
|
37
|
+
(<%= link_to "edit", edit_admin_user_url( user ), class: :edit %>)
|
38
|
+
<% end %>
|
39
|
+
</td>
|
40
|
+
<td>
|
41
|
+
<%= user.email %>
|
42
|
+
</td>
|
43
|
+
<td><%= user.roles.map(&:to_s).to_sentence %></td>
|
44
|
+
<td>
|
45
|
+
<% if user.online? -%>
|
46
|
+
<strong>Online now</strong>
|
47
|
+
<% elsif user.last_login_at -%>
|
48
|
+
<%= time_ago_in_words( user.last_login_at ) %> ago
|
49
|
+
<% else %>
|
50
|
+
Not logged in yet
|
51
|
+
<% end -%>
|
52
|
+
</td>
|
53
|
+
<td class="note">
|
54
|
+
<%=
|
55
|
+
notes = []
|
56
|
+
notes << "Deactivated" unless user.activated?
|
57
|
+
notes.join( ", " )
|
58
|
+
%>
|
59
|
+
</td>
|
60
|
+
</tr>
|
61
|
+
<% end -%>
|
62
|
+
</table>
|
@@ -0,0 +1,47 @@
|
|
1
|
+
<div class="login-form">
|
2
|
+
|
3
|
+
<div class="login-tab password">
|
4
|
+
<%= form_tag session_path do %>
|
5
|
+
<%= hidden_field_tag :success_url, success_url %>
|
6
|
+
<%= hidden_field_tag :login_url, login_url %>
|
7
|
+
<p>
|
8
|
+
<label>Email address</label>
|
9
|
+
<%= text_field_tag :username, '' %>
|
10
|
+
</p>
|
11
|
+
<p>
|
12
|
+
<label>Password</label>
|
13
|
+
<%= password_field_tag :password, '' %>
|
14
|
+
</p>
|
15
|
+
<p>
|
16
|
+
<button type="submit">Sign in</button>
|
17
|
+
</p>
|
18
|
+
<ul>
|
19
|
+
<li>
|
20
|
+
<%= link_to "<b>Help!</b> I forgot my password!".html_safe, login_url, class: 'show-password-reset' %>
|
21
|
+
</li>
|
22
|
+
</ul>
|
23
|
+
<% end %>
|
24
|
+
</div>
|
25
|
+
|
26
|
+
<div class="login-tab password-reset">
|
27
|
+
<%= form_tag admin_password_resets_path do %>
|
28
|
+
<%= hidden_field_tag :login_url, login_url %>
|
29
|
+
<h2>
|
30
|
+
Forgot your password?
|
31
|
+
</h2>
|
32
|
+
<p>
|
33
|
+
Don't worry, it happens.
|
34
|
+
Enter your email address below,
|
35
|
+
and we'll send you a link where you can reset your password.
|
36
|
+
</p>
|
37
|
+
<p>
|
38
|
+
<%= text_field_tag :username, '' %>
|
39
|
+
</p>
|
40
|
+
<p>
|
41
|
+
<button type="submit">
|
42
|
+
Send
|
43
|
+
</button>
|
44
|
+
</p>
|
45
|
+
<% end %>
|
46
|
+
</div>
|
47
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "Deactivated users"
|
3
|
+
self.page_description = "Viewing deactivated users"
|
4
|
+
self.page_description_links = link_to("View active users", admin_users_path)
|
5
|
+
%>
|
6
|
+
|
7
|
+
|
8
|
+
<% content_for :sidebar do %>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
|
12
|
+
<%= render partial: 'list', locals: {users: @users} %>
|
@@ -0,0 +1,54 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "Editing user: #{@user.name}"
|
3
|
+
if @user == current_user
|
4
|
+
self.page_description = "You are editing " + link_to("your own", [:admin, @user]) + " profile."
|
5
|
+
else
|
6
|
+
self.page_description = "You are editing " + link_to("#{@user.name}", [:admin, @user]) + "'s profile."
|
7
|
+
end
|
8
|
+
self.page_description_links = link_to("View all users", admin_users_path)
|
9
|
+
%>
|
10
|
+
|
11
|
+
<% content_for :sidebar do %>
|
12
|
+
<% if @user != current_user %>
|
13
|
+
<h2>Preventing access</h2>
|
14
|
+
<p>
|
15
|
+
Unchecking the <cite>This account is activated</cite> box will effectively disable
|
16
|
+
logins.
|
17
|
+
</p>
|
18
|
+
<% end %>
|
19
|
+
<% end %>
|
20
|
+
|
21
|
+
<%= form_for [:admin, @user], html: {multipart: true}, builder: PagesCore::FormBuilder do |f| %>
|
22
|
+
|
23
|
+
<h2>Account details</h2>
|
24
|
+
<%= f.labelled_text_field :name %>
|
25
|
+
<%= f.labelled_text_field :email %>
|
26
|
+
|
27
|
+
<h2>Picture</h2>
|
28
|
+
<% if @user.image %>
|
29
|
+
<p id="user-image-info">
|
30
|
+
<%= (@user==current_user) ? "You already have" : "#{@user.name} already has" %> a profile picture.
|
31
|
+
You can
|
32
|
+
<%= link_to "delete it", delete_image_admin_user_path(@user), method: :delete, class: :delete %>
|
33
|
+
or upload a new file below to replace it.
|
34
|
+
</p>
|
35
|
+
<% end %>
|
36
|
+
|
37
|
+
<%= f.labelled_file_field :image %>
|
38
|
+
|
39
|
+
<% if policy(@user).change_password? %>
|
40
|
+
<h2>Password</h2>
|
41
|
+
<%= f.labelled_password_field :password, 'Change password' %>
|
42
|
+
<%= f.labelled_password_field :confirm_password, 'Confirm password' %>
|
43
|
+
<p>
|
44
|
+
Leave the password blank if you do not wish to change the password.
|
45
|
+
</p>
|
46
|
+
<% end %>
|
47
|
+
|
48
|
+
<%= render partial: "access_control", locals: { user: @user, f: f } %>
|
49
|
+
|
50
|
+
<p>
|
51
|
+
<button type="submit">Save</button>
|
52
|
+
</p>
|
53
|
+
|
54
|
+
<% end %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "Users"
|
3
|
+
self.page_description = "Viewing active users"
|
4
|
+
%>
|
5
|
+
|
6
|
+
|
7
|
+
<% content_for :sidebar do %>
|
8
|
+
<% if policy(User).new? %>
|
9
|
+
<h2>Invite</h2>
|
10
|
+
<p>
|
11
|
+
<%= link_to "Invite someone to Pages", new_admin_invite_path %>
|
12
|
+
</p>
|
13
|
+
<% end %>
|
14
|
+
<h2>Deactivated users</h2>
|
15
|
+
<p>
|
16
|
+
<% if User.deactivated.count == 0 %>
|
17
|
+
There are no deactivated user accounts.</p>
|
18
|
+
<% elsif User.deactivated.count == 1 %>
|
19
|
+
There is <%= link_to "one deactivated user", deactivated_admin_users_path %>.
|
20
|
+
<% else %>
|
21
|
+
There are <%= link_to "#{User.deactivated.count} deactivated users", deactivated_admin_users_path %>.
|
22
|
+
<% end %>
|
23
|
+
</p>
|
24
|
+
<% end %>
|
25
|
+
|
26
|
+
|
27
|
+
<%= render partial: 'list', locals: {users: @users} %>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "Sign in"
|
3
|
+
self.page_description = "Please enter your email address and password to sign in"
|
4
|
+
add_body_class "login"
|
5
|
+
-%>
|
6
|
+
|
7
|
+
<% content_for :sidebar do %>
|
8
|
+
<h2>Please note</h2>
|
9
|
+
<p>
|
10
|
+
Please contact support if you experience problems logging in or using Pages.
|
11
|
+
</p>
|
12
|
+
<% end %>
|
13
|
+
|
14
|
+
|
15
|
+
<%= login_form(success_url: admin_default_path, login_url: login_admin_users_path) %>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "Welcome"
|
3
|
+
self.page_description = "Welcome to Pages"
|
4
|
+
%>
|
5
|
+
|
6
|
+
<div class="content">
|
7
|
+
<p>Welcome to Pages! Before you can log on, we need to create the first user account.</p>
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<%= form_for [:admin, @user], builder: PagesCore::FormBuilder do |f| %>
|
11
|
+
|
12
|
+
<%= f.labelled_text_field :name %>
|
13
|
+
<%= f.labelled_text_field :email %>
|
14
|
+
<%= f.labelled_password_field :password %>
|
15
|
+
<%= f.labelled_password_field :confirm_password %>
|
16
|
+
|
17
|
+
<p>
|
18
|
+
<button type="submit">
|
19
|
+
Get started
|
20
|
+
</button>
|
21
|
+
</p>
|
22
|
+
|
23
|
+
<% end %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "Log in » Forgotten password"
|
3
|
+
self.page_description = "Creating a new password"
|
4
|
+
add_body_class = "login"
|
5
|
+
%>
|
6
|
+
<div class="content">
|
7
|
+
<p>
|
8
|
+
Did you lose your password? Don't worry, it happens.
|
9
|
+
</p>
|
10
|
+
<p>
|
11
|
+
Simply enter your <strong>email address</strong> below, and we'll email you a new password.
|
12
|
+
</p>
|
13
|
+
</div>
|
14
|
+
<%= form_tag(reset_password_admin_users_path, method: :post) do %>
|
15
|
+
<p>
|
16
|
+
<%= text_field_tag :username, '', size: 32 %>
|
17
|
+
<%= submit_tag "Find" %>
|
18
|
+
</p>
|
19
|
+
</form>
|
@@ -0,0 +1,64 @@
|
|
1
|
+
<%
|
2
|
+
self.page_title = "#{@user.name}"
|
3
|
+
if @user == current_user
|
4
|
+
self.page_description = "You are viewing " + link_to( "your own", admin_user_path( @user ) ) + " profile."
|
5
|
+
else
|
6
|
+
self.page_description = "You are viewing " + link_to( "#{@user.name}", admin_user_path( @user ) ) + "'s profile."
|
7
|
+
end
|
8
|
+
self.page_description_links = [ ( link_to( "Edit", edit_admin_user_path( @user ) ) if policy(@user).edit? ), link_to( "View all users", admin_users_path ) ].compact.join( link_separator )
|
9
|
+
%>
|
10
|
+
|
11
|
+
<% content_for :sidebar do %>
|
12
|
+
<h2>People</h2>
|
13
|
+
<% if @user.created_users.count > 0 -%>
|
14
|
+
<p><%= @user.name %> has invited <%= @user.created_users.count %> users:</p>
|
15
|
+
<ul>
|
16
|
+
<% @user.created_users.each do |created_user| %>
|
17
|
+
<li><%= link_to created_user.name, admin_user_url( created_user ) %></li>
|
18
|
+
<% end %>
|
19
|
+
</ul>
|
20
|
+
<% else -%>
|
21
|
+
<p><%= @user.name %> hasn't invited any users.</p>
|
22
|
+
<% end -%>
|
23
|
+
<% end %>
|
24
|
+
|
25
|
+
<div class="content">
|
26
|
+
<% if @user.image -%>
|
27
|
+
<div style="float: right;">
|
28
|
+
<%= editable_dynamic_image_tag(@user.image, size: '150x150', class: 'thumbnail') %>
|
29
|
+
</div>
|
30
|
+
<% end -%>
|
31
|
+
<h2><%= @user.name %></h2>
|
32
|
+
<table class="show">
|
33
|
+
<tr>
|
34
|
+
<th>Email address:</th>
|
35
|
+
<td><%= mail_to @user.email %></td>
|
36
|
+
</tr>
|
37
|
+
<% if @user.creator %>
|
38
|
+
<tr>
|
39
|
+
<th>Invited by:</th>
|
40
|
+
<td><%= link_to @user.creator.name, admin_user_url( @user.creator ) %> <%= time_ago_in_words @user.created_at %> ago.</td>
|
41
|
+
</tr>
|
42
|
+
<% end %>
|
43
|
+
<% if @user.created_at? -%>
|
44
|
+
<tr>
|
45
|
+
<th>Member since:</th>
|
46
|
+
<td>
|
47
|
+
<%= @user.created_at.to_formatted_s :long %>
|
48
|
+
</td>
|
49
|
+
</tr>
|
50
|
+
<% end -%>
|
51
|
+
<% if @user.last_login_at? -%>
|
52
|
+
<tr>
|
53
|
+
<th>Last seen:</th>
|
54
|
+
<td>
|
55
|
+
<% if @user.online? -%>
|
56
|
+
Online now
|
57
|
+
<% else -%>
|
58
|
+
<%= time_ago_in_words @user.last_login_at %> ago, on <%= @user.last_login_at.to_formatted_s :long %>
|
59
|
+
<% end -%>
|
60
|
+
</td>
|
61
|
+
</tr>
|
62
|
+
<% end -%>
|
63
|
+
</table>
|
64
|
+
</div>
|
@@ -0,0 +1,70 @@
|
|
1
|
+
<style type="text/css">
|
2
|
+
h3 {
|
3
|
+
margin-top: 20px;
|
4
|
+
margin-bottom: 10px;
|
5
|
+
font-size: 18px;
|
6
|
+
}
|
7
|
+
pre {
|
8
|
+
background: #eee;
|
9
|
+
border: 1px solid #ccc;
|
10
|
+
padding: 8px;
|
11
|
+
background: #f8f8f8;
|
12
|
+
}
|
13
|
+
table {
|
14
|
+
border-collapse: collapse;
|
15
|
+
}
|
16
|
+
td {
|
17
|
+
border: 1px solid #ccc;
|
18
|
+
padding: 4px 20px 4px 8px;
|
19
|
+
}
|
20
|
+
</style>
|
21
|
+
|
22
|
+
<table>
|
23
|
+
<tr>
|
24
|
+
<td><strong>Requested URL</strong></td>
|
25
|
+
<td><a href="<%= @error_report[:url] %>"><%= @error_report[:url] %></td>
|
26
|
+
</tr>
|
27
|
+
<tr>
|
28
|
+
<td><strong>Timestamp</strong></td>
|
29
|
+
<td><%= @error_report[:timestamp].to_s %></a></td>
|
30
|
+
</tr>
|
31
|
+
<tr>
|
32
|
+
<td><strong>Reported by</strong></td>
|
33
|
+
<td><a href="mailto:<%= @from %>"><%= @from %></a></td>
|
34
|
+
</tr>
|
35
|
+
<% if @error_report[:user] %>
|
36
|
+
<tr>
|
37
|
+
<td><strong>User account</strong></td>
|
38
|
+
<td>#<%= @error_report[:user].id %>: <a href="mailto:<%= @error_report[:user].email %>"><%= @error_report[:user].email %></a></td>
|
39
|
+
</tr>
|
40
|
+
<% end %>
|
41
|
+
</table>
|
42
|
+
|
43
|
+
<h3>Message</h3>
|
44
|
+
<pre><%= @error_report[:message].gsub('<', '<').gsub('>', '>') %></pre>
|
45
|
+
|
46
|
+
<% if @description && !@description.empty? %>
|
47
|
+
<h3>Description of error</h3>
|
48
|
+
<pre><%= @description %></pre>
|
49
|
+
<% end %>
|
50
|
+
|
51
|
+
<h3>Params</h3>
|
52
|
+
<pre><%= @error_report[:params].to_yaml %></pre>
|
53
|
+
|
54
|
+
<% if @error_report[:session] %>
|
55
|
+
<h3>Session data</h3>
|
56
|
+
<pre><%= @error_report[:session].to_yaml %></pre>
|
57
|
+
<% end %>
|
58
|
+
|
59
|
+
<h3>Backtrace</h3>
|
60
|
+
<pre><%= @error_report[:backtrace].join("\n") %></pre>
|
61
|
+
|
62
|
+
<h3>Environment</h3>
|
63
|
+
<table>
|
64
|
+
<% @error_report[:env].each do |key,value| %>
|
65
|
+
<tr>
|
66
|
+
<td><strong><%= key %></strong></td>
|
67
|
+
<td><%= (key == 'HTTP_COOKIE' ) ? value.split(/;[\s]*/).reject{|c| c =~ /^[\w\d]+_session=/}.join('<br />') : value %></td>
|
68
|
+
</tr>
|
69
|
+
<% end %>
|
70
|
+
</table>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
Welcome!
|
2
|
+
|
3
|
+
<%= @invite.user.name %> has invited you to Pages on <%= PagesCore.config(:site_name) %>.
|
4
|
+
|
5
|
+
Click the link below to create your account and get started.
|
6
|
+
|
7
|
+
<%= @url %>
|
8
|
+
|
9
|
+
If you have any further trouble, please don't hesitate in contacting us by sending us an email at support@manualdesign.no (or simply by replying to this message).
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Hi, <%= @user.name %>!
|
2
|
+
|
3
|
+
We've received a request to reset the password for your account on <%= PagesCore.config(:site_name) %>.
|
4
|
+
|
5
|
+
If you want to reset your password, please click the following link:
|
6
|
+
|
7
|
+
<%= @url %>
|
8
|
+
|
9
|
+
This will take you to a web page where you can set a new password of your choosing. The link will expire in 24 hours.
|
10
|
+
|
11
|
+
If you do not want to change your password, please ignore this email.
|
12
|
+
|
13
|
+
If you have any further trouble, please don't hesitate in contacting us by sending us an email at support@manualdesign.no (or simply by replying to this message).
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<%
|
2
|
+
@page_title = "Page not found"
|
3
|
+
%>
|
4
|
+
|
5
|
+
<p>
|
6
|
+
The page you were looking for could not be found. It might have been removed,
|
7
|
+
had its name changed, or is temporarily unavailable.
|
8
|
+
We apologize for the inconvenience.
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<%= render partial: 'errors/generic_help' %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%
|
2
|
+
@page_title = "Oh dear..."
|
3
|
+
%>
|
4
|
+
<p>
|
5
|
+
Something went terribly wrong. Of course, this shouldn't happen, and we'd really appreciate it if you
|
6
|
+
could click the button below to notify us about the problem.
|
7
|
+
</p>
|
8
|
+
<p>
|
9
|
+
Please include your email address if you'd like to hear back from us.
|
10
|
+
</p>
|
11
|
+
|
12
|
+
<form action="/errors/report" method="post">
|
13
|
+
<p>
|
14
|
+
<input name="email" type="text" class="text" value="<%= @email %>" placeholder="Your email (optional)" />
|
15
|
+
</p>
|
16
|
+
<p>
|
17
|
+
<button type="submit" class="clean-gray">Report error</button>
|
18
|
+
</p>
|
19
|
+
</form>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<h4>Please try one of the following options:</h4>
|
2
|
+
<ul>
|
3
|
+
<li>Check the Web address you’ve entered to make sure if it’s correct.</li>
|
4
|
+
<li>Go back to the <%= link_to "Home page", "/" %> and try finding the information you are looking for.</li>
|
5
|
+
<li>Click the Back button to try another link.</li>
|
6
|
+
<li>Try searching this site using <%= link_to "Google", "http://www.google.com/" %> for the information you want:</li>
|
7
|
+
</ul>
|
8
|
+
|
9
|
+
<form action="http://www.google.com/search" method="get" onSubmit="googleSearch( this );">
|
10
|
+
<input name="q" type="hidden" />
|
11
|
+
<input name="qinput" type="text" class="text with_button" />
|
12
|
+
<button type="submit" class="clean-gray">Search</button>
|
13
|
+
</form>
|
14
|
+
|
15
|
+
<script type="text/javascript">
|
16
|
+
function googleSearch( form ) {
|
17
|
+
var domainroot = "<%= request.env['HTTP_HOST'] %>";
|
18
|
+
var query = "site:" + domainroot + " " + form.qinput.value
|
19
|
+
form.q.value = query;
|
20
|
+
}
|
21
|
+
</script>
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
xml << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
|
4
|
+
xml.rss("version" => "2.0", "xmlns:dc" => "http://purl.org/dc/elements/1.1/") do
|
5
|
+
xml.channel do
|
6
|
+
xml.title(@title || PagesCore.config(:site_name))
|
7
|
+
xml.link(
|
8
|
+
url_for(controller: "pages", action: "index", only_path: false)
|
9
|
+
)
|
10
|
+
xml.description "Recent items"
|
11
|
+
xml.language locale
|
12
|
+
xml.generator "Pages"
|
13
|
+
xml.ttl "40"
|
14
|
+
@items.each do |item|
|
15
|
+
xml.item do
|
16
|
+
xml.title { xml.cdata! item.name.to_s }
|
17
|
+
xml.link page_url(@locale, item, only_path: false)
|
18
|
+
if PagesCore.config.rss_fulltext?
|
19
|
+
xml.description { xml.cdata! item.body.to_html }
|
20
|
+
else
|
21
|
+
xml.description do
|
22
|
+
xml.cdata! (item.extended? ? item.excerpt : item.body).to_html
|
23
|
+
end
|
24
|
+
end
|
25
|
+
xml.guid page_url(@locale, item, only_path: false)
|
26
|
+
xml.pubDate item.published_at.to_formatted_s(:rfc822)
|
27
|
+
xml.tag!("dc:creator", item.author.name)
|
28
|
+
if item.image
|
29
|
+
image_size = item.image.data.try(&:length)
|
30
|
+
xml.enclosure(
|
31
|
+
url: dynamic_image_url(item.image, size: "2000x2000"),
|
32
|
+
length: image_size,
|
33
|
+
type: item.image.content_type
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<script type="text/javascript">
|
2
|
+
var _gaq = _gaq || [];
|
3
|
+
_gaq.push(['_setAccount', 'UA-5468672-21']);
|
4
|
+
_gaq.push(['_setDomainName', 'none']);
|
5
|
+
_gaq.push(['_setAllowLinker', true]);
|
6
|
+
_gaq.push(['_trackPageview']);
|
7
|
+
|
8
|
+
(function() {
|
9
|
+
var ga = document.createElement('script');
|
10
|
+
ga.type = 'text/javascript';
|
11
|
+
ga.async = true;
|
12
|
+
ga.src = (
|
13
|
+
'https:' == document.location.protocol ? 'https://ssl' : 'http://www'
|
14
|
+
) + '.google-analytics.com/ga.js';
|
15
|
+
var s = document.getElementsByTagName('script')[0];
|
16
|
+
s.parentNode.insertBefore(ga, s);
|
17
|
+
})();
|
18
|
+
</script>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
<div id="header">
|
2
|
+
<div id="logo">
|
3
|
+
<%= link_to image_tag("pages/admin/icon.png"), '/admin' %>
|
4
|
+
</div>
|
5
|
+
<div id="site-name">
|
6
|
+
<h1>
|
7
|
+
<%= link_to "Pages", "/admin" %> <%= PagesCore.config :site_name %>
|
8
|
+
</h1>
|
9
|
+
</div>
|
10
|
+
<% if logged_in? %>
|
11
|
+
<div class="user">
|
12
|
+
Hello, <%= link_to(current_user.name, admin_user_url(current_user)) %>
|
13
|
+
<%= link_separator %>
|
14
|
+
<%= logout_link "Log out", login_url: login_admin_users_path %>
|
15
|
+
</div>
|
16
|
+
<% end %>
|
17
|
+
<div class="tabs">
|
18
|
+
<% if logged_in? %>
|
19
|
+
<%= header_tabs(:pages) %>
|
20
|
+
<%= header_tabs(:pages_plugins) %>
|
21
|
+
<%= header_tabs(:custom) %>
|
22
|
+
<%= header_tabs(:account) %>
|
23
|
+
<% end -%>
|
24
|
+
</div>
|
25
|
+
</div>
|
26
|
+
|
27
|
+
<% if flash[:error] %>
|
28
|
+
<div id="flash-error">
|
29
|
+
<%= flash[:error] %>
|
30
|
+
</div>
|
31
|
+
<% end %>
|
32
|
+
|
33
|
+
<% if flash[:notice] %>
|
34
|
+
<div id="flash-notice">
|
35
|
+
<%= flash[:notice] %>
|
36
|
+
</div>
|
37
|
+
<% end %>
|