merrycms 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README +15 -0
- data/app/controllers/admin/base_controller.rb +11 -0
- data/app/controllers/admin/categories_controller.rb +63 -0
- data/app/controllers/admin/pages_controller.rb +73 -0
- data/app/controllers/admin/translations_controller.rb +55 -0
- data/app/controllers/admin/users_controller.rb +53 -0
- data/app/helpers/admin/categories_helper.rb +32 -0
- data/app/helpers/admin/pages_helper.rb +24 -0
- data/app/helpers/admin/translations_helper.rb +25 -0
- data/app/helpers/admin/users_helper.rb +10 -0
- data/app/models/category.rb +11 -0
- data/app/models/page.rb +66 -0
- data/app/models/role.rb +6 -0
- data/app/models/translation.rb +48 -0
- data/app/models/user.rb +42 -0
- data/app/views/admin/_nav.html.erb +10 -0
- data/app/views/admin/categories/_form.erb +24 -0
- data/app/views/admin/categories/edit.html.erb +3 -0
- data/app/views/admin/categories/index.html.erb +22 -0
- data/app/views/admin/categories/new.html.erb +3 -0
- data/app/views/admin/categories/sort.html.erb +29 -0
- data/app/views/admin/pages/_form.html.erb +25 -0
- data/app/views/admin/pages/_search.erb +15 -0
- data/app/views/admin/pages/edit.html.erb +3 -0
- data/app/views/admin/pages/index.html.erb +32 -0
- data/app/views/admin/pages/new.html.erb +3 -0
- data/app/views/admin/translations/_filter.html.erb +8 -0
- data/app/views/admin/translations/destroy.js +4 -0
- data/app/views/admin/translations/index.html.erb +40 -0
- data/app/views/admin/translations/new.html.erb +49 -0
- data/app/views/admin/users/_form.html.erb +33 -0
- data/app/views/admin/users/edit.html.erb +3 -0
- data/app/views/admin/users/index.html.erb +18 -0
- data/app/views/admin/users/new.html.erb +3 -0
- data/app/views/devise/confirmations/new.html.erb +10 -0
- data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/devise/passwords/edit.html.erb +15 -0
- data/app/views/devise/passwords/new.html.erb +16 -0
- data/app/views/devise/registrations/edit.html.erb +24 -0
- data/app/views/devise/registrations/new.html.erb +31 -0
- data/app/views/devise/sessions/new.html.erb +24 -0
- data/app/views/devise/shared/_links.erb +19 -0
- data/app/views/devise/unlocks/new.html.erb +11 -0
- data/app/views/layouts/admin.html.erb +22 -0
- data/app/views/layouts/login.html.erb +17 -0
- data/app/views/shared/_error_messages.html.erb +9 -0
- data/app/views/shared/_flashbox.html.erb +5 -0
- data/app/views/shared/_toplinks.html.erb +8 -0
- data/config/locales/en/admin/missing.yml +4 -0
- data/config/locales/fr/admin/admin.fr.yml +9 -0
- data/config/locales/fr/admin/category.fr.yml +22 -0
- data/config/locales/fr/admin/devise.fr.yml +129 -0
- data/config/locales/fr/admin/merrycms.fr.yml +6 -0
- data/config/locales/fr/admin/missing.yml +5 -0
- data/config/locales/fr/admin/pages.fr.yml +51 -0
- data/config/locales/fr/admin/pagination.fr.yml +6 -0
- data/config/locales/fr/admin/toplinks.fr.yml +9 -0
- data/config/locales/fr/admin/translations.fr.yml +46 -0
- data/config/locales/fr/admin/users.fr.yml +14 -0
- data/lib/generators/merrycms/install_generator.rb +78 -0
- data/lib/generators/merrycms/templates/create_pages_and_categories_migration.rb +36 -0
- data/lib/generators/merrycms/templates/create_roles_migration.rb +14 -0
- data/lib/generators/merrycms/templates/create_translations_migration.rb +17 -0
- data/lib/generators/merrycms/templates/devise_create_users_migration.rb +26 -0
- data/lib/generators/merrycms/templates/devise_initializer.rb +142 -0
- data/lib/generators/merrycms/templates/locale_initializer.rb +10 -0
- data/lib/generators/merrycms/templates/roles_users_migration.rb +13 -0
- data/lib/generators/merrycms/views_generator.rb +11 -0
- data/lib/merrycms/engine.rb +38 -0
- data/lib/merrycms/rails/routes.rb +35 -0
- data/lib/merrycms/railties/merrycms_tasks.rake +72 -0
- data/lib/merrycms.rb +1 -0
- metadata +270 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= form_for @search, :url => admin_pages_path, :html => {:method => :get, :class => 'search'} do |f| %>
|
2
|
+
<div>
|
3
|
+
<h3><%= t('pages.search.title') %></h3>
|
4
|
+
<div class='top'>
|
5
|
+
<%= f.label :title_or_content_contains, t('pages.search.page_title'), :class => 'desc' %>
|
6
|
+
<%= f.text_field :title_or_content_contains, :size => "20" %>
|
7
|
+
</div>
|
8
|
+
<div class='top'>
|
9
|
+
<label> </label>
|
10
|
+
<p>
|
11
|
+
<%= f.submit t('pages.search.submit') %>
|
12
|
+
</p>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<h1><%= t('pages.index.title') %></h1>
|
2
|
+
|
3
|
+
<p><%= link_to t('pages.index.new_page'), new_admin_page_path, :class => "button" %></p>
|
4
|
+
|
5
|
+
<%= render 'search' %>
|
6
|
+
|
7
|
+
<table>
|
8
|
+
<tr>
|
9
|
+
<th><%= t('activerecord.attributes.page.title') %></th>
|
10
|
+
<th><%= t('activerecord.attributes.page.link') %></th>
|
11
|
+
<th><%= t('categories.category') %></th>
|
12
|
+
<th><%= t('pages.state') %></th>
|
13
|
+
<th></th>
|
14
|
+
</tr>
|
15
|
+
<% if @pages.size == 0 %>
|
16
|
+
<tr>
|
17
|
+
<td colspan="5">Aucune page</td>
|
18
|
+
</tr>
|
19
|
+
<% else %>
|
20
|
+
<% @pages.each do |page| %>
|
21
|
+
<tr>
|
22
|
+
<td><%= link_to page.title, edit_admin_page_path(page) %></a></td>
|
23
|
+
<td><%= page.link %></td>
|
24
|
+
<td><%= display_page_category(page) %></td>
|
25
|
+
<td><%= display_state(page) %></td>
|
26
|
+
<td><%= display_events(page) %></td>
|
27
|
+
</tr>
|
28
|
+
<% end %>
|
29
|
+
<% end %>
|
30
|
+
</table>
|
31
|
+
|
32
|
+
<%= paginate @pages %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<%= form_tag new_admin_translation_path, :method => :get do %>
|
2
|
+
<div>
|
3
|
+
<%= hidden_field_tag "language", params[:language] %>
|
4
|
+
<%= hidden_field_tag "type", params[:type] %>
|
5
|
+
<%= text_field_tag "query", params[:query] %>
|
6
|
+
<%= submit_tag t('translations.filter') %>
|
7
|
+
</div>
|
8
|
+
<% end %>
|
@@ -0,0 +1,40 @@
|
|
1
|
+
<div id="translations">
|
2
|
+
<h1><%= t('translations.index.title') %></h1>
|
3
|
+
|
4
|
+
<p>
|
5
|
+
<%= t('translations.available_locales')%> : <%= display_available_locales %>
|
6
|
+
</p>
|
7
|
+
|
8
|
+
<h2><%= t('translations.pending') %></h2>
|
9
|
+
<% if @pending_translations.size > 0 %>
|
10
|
+
<ul class='pending'>
|
11
|
+
<% @pending_translations.each do |translation| %>
|
12
|
+
<li>
|
13
|
+
<%= link_to t("translations.locales.#{translation[0]}"), new_admin_translation_path(:language => translation[0], :type => 'pending') %>
|
14
|
+
<span class="count"><%= translation[1].size %></span>
|
15
|
+
</li>
|
16
|
+
<% end %>
|
17
|
+
</ul>
|
18
|
+
<% else %>
|
19
|
+
<p><%= t('translations.no_pending') %></p>
|
20
|
+
<% end %>
|
21
|
+
|
22
|
+
<h2><%= t('translations.all') %></h2>
|
23
|
+
<% if @all_translations.size > 0 %>
|
24
|
+
<ul class='all'>
|
25
|
+
<% @all_translations.each do |translation| %>
|
26
|
+
<li>
|
27
|
+
<%= link_to t("translations.locales.#{translation[0]}"), new_admin_translation_path(:language => translation[0]) %>
|
28
|
+
<span class="count"><%= translation[1].size %></span>
|
29
|
+
</li>
|
30
|
+
<% end %>
|
31
|
+
</ul>
|
32
|
+
<% else %>
|
33
|
+
<p><%= t('translations.no_translation') %></p>
|
34
|
+
<% end %>
|
35
|
+
|
36
|
+
<p>
|
37
|
+
<%= link_to t('translations.dump.link'), dump_admin_translations_path, :confirm => t('translations.dump.confirm'), :class => 'button' %>
|
38
|
+
</p>
|
39
|
+
|
40
|
+
</div>
|
@@ -0,0 +1,49 @@
|
|
1
|
+
<div id="translations">
|
2
|
+
<h1><%= t('translations.new.title') %></h1>
|
3
|
+
|
4
|
+
<p><%= t('translations.you_are_editing') %> : <%= t("translations.version.#{params[:language]}") %></p>
|
5
|
+
|
6
|
+
<%= render "filter" %>
|
7
|
+
|
8
|
+
<%= paginate @translations %>
|
9
|
+
|
10
|
+
<%= form_tag admin_translations_path do %>
|
11
|
+
<table>
|
12
|
+
<tr>
|
13
|
+
<th><%= t('translations.key') %></th>
|
14
|
+
<th><%= t("translations.locales.#{params[:language]}")%></th>
|
15
|
+
<th></th>
|
16
|
+
</tr>
|
17
|
+
<% @translations.each_with_index do |translation, index| %>
|
18
|
+
<tr id="translation-<%= translation[:id] %>">
|
19
|
+
<td>
|
20
|
+
<%= display_translation_if_exist(translation) %>
|
21
|
+
<span class='key'><%= translation.key %></span></td>
|
22
|
+
<td>
|
23
|
+
<%= hidden_field_tag "translations[#{index}][id]", translation[:id] %>
|
24
|
+
<%= hidden_field_tag "translations[#{index}][locale]", translation[:locale] %>
|
25
|
+
<%= hidden_field_tag "translations[#{index}][key]", translation[:key] %>
|
26
|
+
<%= hidden_field_tag "translations[#{index}][destroy]", false, :class => 'translation-destroy' %>
|
27
|
+
<%= text_area_tag "translations[#{index}][value]", translation[:value] %>
|
28
|
+
</td>
|
29
|
+
<td class="actions"><%= link_to t('translations.delete'), admin_translation_path(translation[:id], :type => params[:type], :language => params[:language]), :method => :delete, :class => :delete, :remote => true %></td>
|
30
|
+
</tr>
|
31
|
+
<% end %>
|
32
|
+
<tr>
|
33
|
+
<td colspan="3">
|
34
|
+
<%= submit_tag t('translations.submit') %>
|
35
|
+
<%= link_to t("cancel"), admin_translations_path %>
|
36
|
+
</td>
|
37
|
+
</tr>
|
38
|
+
</table>
|
39
|
+
<% end %>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<% content_for (:head) do %>
|
43
|
+
<script type="text/javascript">
|
44
|
+
$(function() {
|
45
|
+
|
46
|
+
$('table textarea').autoResize().trigger('change');
|
47
|
+
});
|
48
|
+
</script>
|
49
|
+
<% end %>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<%= form_for [:admin, @user] do |f| %>
|
2
|
+
<%= render "shared/error_messages", :target => @user %>
|
3
|
+
<div>
|
4
|
+
<%= f.label :email, :class => "desc required" %>
|
5
|
+
<%= f.text_field :email, :size => "60" %>
|
6
|
+
</div>
|
7
|
+
<div>
|
8
|
+
<%= f.label :password, t('users.password'), :class => "desc required" %>
|
9
|
+
<%= f.password_field :password, :size => "30" %>
|
10
|
+
</div>
|
11
|
+
<div>
|
12
|
+
<%= f.label :password_confirmation, t('users.password_confirmation'), :class => "desc required" %>
|
13
|
+
<%= f.password_field :password_confirmation, :size => "30" %>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
<ul id="roles">
|
17
|
+
<% for role in Role::ROLES %>
|
18
|
+
<li><%= check_box_tag "roles[]", role, @user.has_role?(role), :disabled => @user.last_admin? %><%= role %></li>
|
19
|
+
<% end -%>
|
20
|
+
</ul>
|
21
|
+
|
22
|
+
<div>
|
23
|
+
<%= f.submit "Envoyer" %>
|
24
|
+
<%= link_to t('cancel'), admin_users_path %>
|
25
|
+
</div>
|
26
|
+
<% end %>
|
27
|
+
|
28
|
+
<% if @user.id %>
|
29
|
+
<%= form_for [:admin, @user], :html => { :method => "delete" } do |f| %>
|
30
|
+
<input type="hidden" name="_method" value="delete" />
|
31
|
+
<button type="submit">Supprimer cet utilisateur</button>
|
32
|
+
<% end %>
|
33
|
+
<% end %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<h1><%= t('users.index.title')%></h1>
|
2
|
+
|
3
|
+
<p><%= link_to "Ajouter un utilisateur", new_admin_user_path, :class => "button" %></p>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<tr>
|
7
|
+
<th><%= t('activerecord.attributes.user.email') %></th>
|
8
|
+
<th><%= t('users.index.roles') %></th>
|
9
|
+
</tr>
|
10
|
+
<% for user in @users %>
|
11
|
+
<tr>
|
12
|
+
<td><%= link_to user.email, edit_admin_user_path(user) %></td>
|
13
|
+
<td><%= display_user_roles(user) %></td>
|
14
|
+
</tr>
|
15
|
+
<% end %>
|
16
|
+
</table>
|
17
|
+
|
18
|
+
<%= paginate @users %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<h2>Resend confirmation instructions</h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
|
4
|
+
<p><%= f.label :email %><br />
|
5
|
+
<%= f.text_field :email %></p>
|
6
|
+
|
7
|
+
<p><%= f.submit "Resend confirmation instructions" %></p>
|
8
|
+
<% end %>
|
9
|
+
|
10
|
+
<%= render :partial => "devise/shared/links" %>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<p>Hello <%= @resource.email %>!</p>
|
2
|
+
|
3
|
+
<p>Someone has requested a link to change your password, and you can do this through the link below.</p>
|
4
|
+
|
5
|
+
<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
|
6
|
+
|
7
|
+
<p>If you didn't request this, please ignore this email.</p>
|
8
|
+
<p>Your password won't change until you access the link above and create a new one.</p>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
<p>Hello <%= @resource.email %>!</p>
|
2
|
+
|
3
|
+
<p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
|
4
|
+
|
5
|
+
<p>Click the link below to unlock your account:</p>
|
6
|
+
|
7
|
+
<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<h2>Change your password</h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
|
4
|
+
<%= f.hidden_field :reset_password_token %>
|
5
|
+
|
6
|
+
<p><%= f.label :password %><br />
|
7
|
+
<%= f.password_field :password %></p>
|
8
|
+
|
9
|
+
<p><%= f.label :password_confirmation %><br />
|
10
|
+
<%= f.password_field :password_confirmation %></p>
|
11
|
+
|
12
|
+
<p><%= f.submit "Change my password" %></p>
|
13
|
+
<% end %>
|
14
|
+
|
15
|
+
<%= render :partial => "devise/shared/links" %>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<h1><%= t('.title') %></h1>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
|
4
|
+
<%= render "shared/error_messages", :target => resource %>
|
5
|
+
<ul>
|
6
|
+
<li>
|
7
|
+
<%= f.label :email, :class => 'desc' %>
|
8
|
+
<%= f.text_field :email %>
|
9
|
+
</li>
|
10
|
+
<li>
|
11
|
+
<%= f.submit t('.send_me_reset_password_instructions') %>
|
12
|
+
</li>
|
13
|
+
</ul>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= render :partial => "devise/shared/links" %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h2>Edit <%= resource_name.to_s.humanize %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
4
|
+
|
5
|
+
<p><%= f.label :email %><br />
|
6
|
+
<%= f.text_field :email %></p>
|
7
|
+
|
8
|
+
<p><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
|
9
|
+
<%= f.password_field :password %></p>
|
10
|
+
|
11
|
+
<p><%= f.label :password_confirmation %><br />
|
12
|
+
<%= f.password_field :password_confirmation %></p>
|
13
|
+
|
14
|
+
<p><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
|
15
|
+
<%= f.password_field :current_password %></p>
|
16
|
+
|
17
|
+
<p><%= f.submit "Update" %></p>
|
18
|
+
<% end %>
|
19
|
+
|
20
|
+
<h3>Cancel my account</h3>
|
21
|
+
|
22
|
+
<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>.</p>
|
23
|
+
|
24
|
+
<%= link_to "Back", :back %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<h1><%= t('.title') %></h1>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
4
|
+
<%= render "shared/error_messages", :target => resource %>
|
5
|
+
<ul>
|
6
|
+
<li>
|
7
|
+
<%= f.label :email, :class => 'desc' %>
|
8
|
+
<%= f.text_field :email %>
|
9
|
+
</li>
|
10
|
+
<li>
|
11
|
+
<%= f.label :password, t('.password'), :class => 'desc' %>
|
12
|
+
<%= f.password_field :password %>
|
13
|
+
</li>
|
14
|
+
<li>
|
15
|
+
<%= f.label :password_confirmation, t('.password_confirmation'), :class => 'desc' %>
|
16
|
+
<%= f.password_field :password_confirmation %>
|
17
|
+
</li>
|
18
|
+
<li>
|
19
|
+
<%= f.submit t('.sign_up') %>
|
20
|
+
</li>
|
21
|
+
</ul>
|
22
|
+
</p>
|
23
|
+
|
24
|
+
<p></p>
|
25
|
+
|
26
|
+
<p></p>
|
27
|
+
|
28
|
+
<p></p>
|
29
|
+
<% end %>
|
30
|
+
|
31
|
+
<%= render :partial => "devise/shared/links" %>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<h1><%= t('.title') %></h1>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
|
4
|
+
<ul>
|
5
|
+
<li>
|
6
|
+
<%= f.label :email, :class => "desc" %>
|
7
|
+
<%= f.text_field :email %>
|
8
|
+
</li>
|
9
|
+
<li>
|
10
|
+
<%= f.label :password, t(".password"), :class => "desc" %>
|
11
|
+
<%= f.password_field :password %>
|
12
|
+
</li>
|
13
|
+
<% if devise_mapping.rememberable? -%>
|
14
|
+
<li>
|
15
|
+
<%= f.check_box :remember_me, :class => "checkbox" %> <%= f.label :remember_me, t(".remember_me"), :class => "choice" %>
|
16
|
+
</li>
|
17
|
+
<% end -%>
|
18
|
+
<li>
|
19
|
+
<%= f.submit t(".sign_in") %>
|
20
|
+
</li>
|
21
|
+
</ul>
|
22
|
+
<% end %>
|
23
|
+
|
24
|
+
<%= render :partial => "devise/shared/links" %>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%- if controller_name != 'sessions' %>
|
2
|
+
<%= link_to t(".sign_in"), new_session_path(resource_name) %>
|
3
|
+
<% end -%>
|
4
|
+
|
5
|
+
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
6
|
+
<%= link_to t(".sign_up"), new_registration_path(resource_name) %>
|
7
|
+
<% end -%>
|
8
|
+
|
9
|
+
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
10
|
+
<%= link_to t('.forgot_your_password?'), new_password_path(resource_name) %>
|
11
|
+
<% end -%>
|
12
|
+
|
13
|
+
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
14
|
+
<%= link_to t('.didnt_receive_confirmation_instructions?'), new_confirmation_path(resource_name) %>
|
15
|
+
<% end -%>
|
16
|
+
|
17
|
+
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
18
|
+
<%= link_to t('.didnt_receive_unlock_instructions?'), new_unlock_path(resource_name) %>
|
19
|
+
<% end -%>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<h2>Resend unlock instructions</h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
|
4
|
+
|
5
|
+
<p><%= f.label :email %><br />
|
6
|
+
<%= f.text_field :email %></p>
|
7
|
+
|
8
|
+
<p><%= f.submit "Resend unlock instructions" %></p>
|
9
|
+
<% end %>
|
10
|
+
|
11
|
+
<%= render :partial => "devise/shared/links" %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<title>:: Admin ::</title>
|
4
|
+
<%= stylesheet_link_tag ['reset', 'font', 'form', 'admin'] %>
|
5
|
+
<%= javascript_include_tag ['jquery', 'jquery-ui.min', 'autoresize.jquery.min', 'rails', 'admin'] %>
|
6
|
+
<%= csrf_meta_tag %>
|
7
|
+
|
8
|
+
<%= yield(:head) %>
|
9
|
+
|
10
|
+
</head>
|
11
|
+
<body>
|
12
|
+
<div id="container"><div id="wrapper">
|
13
|
+
<%= render 'shared/toplinks' %>
|
14
|
+
<%= render 'admin/nav' %>
|
15
|
+
<div id="main">
|
16
|
+
<%= render 'shared/flashbox' %>
|
17
|
+
|
18
|
+
<%= yield %>
|
19
|
+
</div>
|
20
|
+
</div></div>
|
21
|
+
</body>
|
22
|
+
</html>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<html>
|
2
|
+
<head>
|
3
|
+
<title>:: Login ::</title>
|
4
|
+
<%= stylesheet_link_tag ['reset', 'font', 'form', 'login'] %>
|
5
|
+
<%= javascript_include_tag :defaults %>
|
6
|
+
<%= csrf_meta_tag %>
|
7
|
+
</head>
|
8
|
+
<body id="login">
|
9
|
+
<div id="container"><div id="wrapper">
|
10
|
+
<div id="main">
|
11
|
+
<%= render 'shared/flashbox' %>
|
12
|
+
|
13
|
+
<%= yield %>
|
14
|
+
</div>
|
15
|
+
</div></div>
|
16
|
+
</body>
|
17
|
+
</html>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<div id="toplinks">
|
2
|
+
<% if user_signed_in? %>
|
3
|
+
<%= t('.signed_in_as', :user => current_user.email) %>.
|
4
|
+
<%= link_to t('.sign_out'), destroy_user_session_path %>
|
5
|
+
<% else %>
|
6
|
+
<%= link_to t('.sign_up'), new_user_registration_path %> <%= t('.or') %> <%= link_to t('.sign_in'), new_user_session_path %>
|
7
|
+
<% end %>
|
8
|
+
</div>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
fr:
|
2
|
+
categories:
|
3
|
+
name: Nom
|
4
|
+
link: Lien
|
5
|
+
parent: Parent
|
6
|
+
category: Catégorie
|
7
|
+
|
8
|
+
submit: Envoyer
|
9
|
+
delete: Supprimer cette catégorie
|
10
|
+
|
11
|
+
links:
|
12
|
+
new: Nouvelle catégorie
|
13
|
+
edit: modifier
|
14
|
+
sort: trier
|
15
|
+
|
16
|
+
edit:
|
17
|
+
title: Modifier la catégorie
|
18
|
+
new:
|
19
|
+
title: Ajouter une catégorie
|
20
|
+
sort:
|
21
|
+
title: Trier les catégories
|
22
|
+
stop_sorting: arréter de trier
|