refinerycms 0.9.8 → 0.9.8.1
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.
- data/Gemfile +6 -6
- data/app/controllers/application_controller.rb +2 -1
- data/bin/refinerycms +36 -32
- data/changelog.md +471 -0
- data/config/environments/production.rb +1 -1
- data/db/migrate/20100606135207_change_thumbnail_sizes_for_dragonfly.rb +4 -4
- data/db/migrate/20100826232810_move_inquiry_settings_to_refinery_settings.rb +2 -2
- data/db/migrate/20100831122919_move_page_to_nested_set.rb +28 -0
- data/db/schema.rb +7 -1
- data/db/seeds/refinery_settings.rb +2 -4
- data/license.md +21 -0
- data/readme.md +97 -0
- data/todo.md +61 -0
- data/vendor/refinerycms/authentication/app/views/admin/users/index.html.erb +5 -13
- data/vendor/refinerycms/authentication/app/views/layouts/login.html.erb +1 -1
- data/vendor/refinerycms/authentication/config/locales/de.yml +53 -56
- data/vendor/refinerycms/authentication/config/locales/en.yml +1 -2
- data/vendor/refinerycms/authentication/config/locales/lv.yml +38 -38
- data/vendor/refinerycms/authentication/config/locales/pt-BR.yml +21 -48
- data/vendor/refinerycms/authentication/features/lost_password.feature +40 -0
- data/vendor/refinerycms/authentication/features/manage_users.feature +57 -0
- data/vendor/refinerycms/authentication/features/step_definitions/lost_password.rb +8 -0
- data/vendor/refinerycms/authentication/features/step_definitions/user_steps.rb +32 -0
- data/vendor/refinerycms/authentication/features/support/factories.rb +17 -0
- data/vendor/refinerycms/authentication/features/support/paths.rb +24 -0
- data/vendor/refinerycms/authentication/lib/authenticated_system.rb +1 -1
- data/vendor/refinerycms/authentication/lib/authentication.rb +1 -1
- data/vendor/refinerycms/core/app/views/admin/_head.html.erb +4 -4
- data/vendor/refinerycms/core/app/views/admin/_menu_tab.html.erb +2 -2
- data/vendor/refinerycms/core/app/views/layouts/admin.html.erb +1 -1
- data/vendor/refinerycms/core/app/views/layouts/admin_dialog.html.erb +1 -1
- data/vendor/refinerycms/core/app/views/shared/_footer.html.erb +1 -1
- data/vendor/refinerycms/core/app/views/shared/_google_analytics.html.erb +1 -1
- data/vendor/refinerycms/core/app/views/shared/_header.html.erb +1 -1
- data/vendor/refinerycms/core/app/views/shared/_menu.html.erb +5 -2
- data/vendor/refinerycms/core/app/views/shared/_menu_branch.html.erb +6 -3
- data/vendor/refinerycms/core/app/views/shared/_site_bar.html.erb +11 -15
- data/vendor/refinerycms/core/app/views/shared/admin/_form_actions.html.erb +1 -0
- data/vendor/refinerycms/core/app/views/shared/admin/_image_picker.html.erb +3 -3
- data/vendor/refinerycms/core/app/views/shared/admin/_make_sortable.html.erb +2 -1
- data/vendor/refinerycms/core/app/views/shared/admin/_resource_picker.html.erb +24 -17
- data/vendor/refinerycms/core/app/views/wymiframe.html.erb +1 -1
- data/vendor/refinerycms/core/config/locales/de.yml +50 -51
- data/vendor/refinerycms/core/config/locales/en.yml +5 -2
- data/vendor/refinerycms/core/config/locales/lv.yml +6 -3
- data/vendor/refinerycms/core/config/locales/pt-BR.yml +34 -38
- data/vendor/refinerycms/core/crud.md +12 -12
- data/vendor/refinerycms/core/features/engine_generator.feature +27 -0
- data/vendor/refinerycms/core/features/search.feature +56 -0
- data/vendor/refinerycms/core/features/site_bar.feature +24 -0
- data/vendor/refinerycms/core/features/step_definitions/core_steps.rb +61 -0
- data/vendor/refinerycms/core/features/step_definitions/engine_generator_steps.rb +19 -0
- data/vendor/refinerycms/core/features/step_definitions/generator_steps.rb +11 -0
- data/vendor/refinerycms/core/features/support/paths.rb +14 -0
- data/vendor/refinerycms/core/features/uploads/beach.jpeg +0 -0
- data/vendor/refinerycms/core/features/uploads/refinery_is_awesome.txt +1 -0
- data/vendor/refinerycms/core/lib/core.rb +52 -53
- data/vendor/refinerycms/core/lib/generators/refinery_engine/refinery_engine_generator.rb +14 -3
- data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/controllers/admin/plural_name_controller.rb +3 -1
- data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/models/singular_name.rb +4 -3
- data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/admin/plural_name/_form.html.erb +2 -1
- data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/admin/plural_name/_singular_name.html.erb +6 -2
- data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/plural_name/index.html.erb +3 -1
- data/vendor/refinerycms/core/lib/generators/refinery_engine/templates/app/views/plural_name/show.html.erb +7 -3
- data/vendor/refinerycms/core/lib/refinery/application_controller.rb +85 -75
- data/vendor/refinerycms/core/lib/refinery/application_helper.rb +10 -190
- data/vendor/refinerycms/core/lib/refinery/crud.rb +283 -0
- data/vendor/refinerycms/core/lib/refinery/{form_helpers.rb → helpers/form_helper.rb} +0 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/html_truncation_helper.rb +26 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/image_helper.rb +37 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/menu_helper.rb +38 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/meta_helper.rb +67 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/script_helper.rb +36 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/site_bar_helper.rb +26 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/tag_helper.rb +19 -0
- data/vendor/refinerycms/core/lib/refinery/helpers/translation_helper.rb +17 -0
- data/vendor/refinerycms/core/lib/refinery/plugin.rb +3 -3
- data/vendor/refinerycms/core/lib/tasks/refinery.rake +4 -3
- data/vendor/refinerycms/core/public/javascripts/refinery/admin.js +93 -101
- data/vendor/refinerycms/core/public/javascripts/refinery/core.js +3 -0
- data/vendor/refinerycms/core/public/javascripts/refinery/nestedsortables.js +164 -0
- data/vendor/refinerycms/core/public/javascripts/refinery/serializelist.js +66 -0
- data/vendor/refinerycms/core/public/stylesheets/refinery/refinery.css +11 -73
- data/vendor/refinerycms/dashboard/config/locales/de.yml +6 -6
- data/vendor/refinerycms/dashboard/config/locales/pt-BR.yml +3 -5
- data/vendor/refinerycms/dashboard/features/dashboard.feature +54 -0
- data/vendor/refinerycms/dashboard/features/support/paths.rb +14 -0
- data/vendor/refinerycms/images/app/controllers/admin/images_controller.rb +6 -6
- data/vendor/refinerycms/images/app/helpers/admin/images_helper.rb +1 -1
- data/vendor/refinerycms/images/app/views/admin/images/_existing_image.html.erb +15 -13
- data/vendor/refinerycms/images/app/views/admin/images/_grid_view.html.erb +1 -1
- data/vendor/refinerycms/images/app/views/admin/images/_list_view_image.html.erb +1 -1
- data/vendor/refinerycms/images/config/locales/de.yml +21 -25
- data/vendor/refinerycms/images/config/locales/pt-BR.yml +13 -23
- data/vendor/refinerycms/images/features/manage_images.feature +48 -0
- data/vendor/refinerycms/images/features/step_definitions/image_steps.rb +37 -0
- data/vendor/refinerycms/images/features/support/paths.rb +17 -0
- data/vendor/refinerycms/images/features/uploads/beach.jpeg +0 -0
- data/vendor/refinerycms/images/features/uploads/id-rather-be-here.jpg +0 -0
- data/vendor/refinerycms/images/features/uploads/refinery_is_awesome.txt +1 -0
- data/vendor/refinerycms/images/lib/images.rb +6 -0
- data/vendor/refinerycms/images/readme.md +12 -36
- data/vendor/refinerycms/pages/app/controllers/admin/pages_controller.rb +4 -42
- data/vendor/refinerycms/pages/app/controllers/pages_controller.rb +1 -1
- data/vendor/refinerycms/pages/app/models/page.rb +3 -4
- data/vendor/refinerycms/pages/app/sweepers/page_sweeper.rb +18 -0
- data/vendor/refinerycms/pages/app/views/admin/pages/_form_advanced_options.html.erb +1 -1
- data/vendor/refinerycms/pages/app/views/admin/pages/_page.html.erb +6 -5
- data/vendor/refinerycms/pages/config/locales/de.yml +66 -36
- data/vendor/refinerycms/pages/config/locales/pt-BR.yml +29 -57
- data/vendor/refinerycms/pages/features/manage_pages.feature +45 -0
- data/vendor/refinerycms/pages/features/step_definitions/page_steps.rb +29 -0
- data/vendor/refinerycms/pages/features/support/paths.rb +18 -0
- data/vendor/refinerycms/pages/lib/pages.rb +5 -0
- data/vendor/refinerycms/pages/spec/models/page_spec.rb +13 -0
- data/vendor/refinerycms/refinery.rb +1 -1
- data/vendor/refinerycms/resources/app/views/admin/resources/_existing_resource.html.erb +2 -2
- data/vendor/refinerycms/resources/config/locales/de.yml +16 -17
- data/vendor/refinerycms/resources/config/locales/pt-BR.yml +15 -17
- data/vendor/refinerycms/resources/features/manage_files.feature +39 -0
- data/vendor/refinerycms/resources/features/step_definitions/file_steps.rb +21 -0
- data/vendor/refinerycms/resources/features/support/paths.rb +17 -0
- data/vendor/refinerycms/resources/features/uploads/beach.jpeg +0 -0
- data/vendor/refinerycms/resources/features/uploads/refinery_is_awesome.txt +1 -0
- data/vendor/refinerycms/resources/lib/resources.rb +17 -1
- data/vendor/refinerycms/settings/app/models/refinery_setting.rb +82 -64
- data/vendor/refinerycms/settings/config/locales/de.yml +36 -16
- data/vendor/refinerycms/settings/config/locales/pt-BR.yml +32 -34
- data/vendor/refinerycms/settings/features/manage_refinery_settings.feature +5 -0
- data/vendor/refinerycms/settings/lib/settings.rb +1 -1
- metadata +86 -53
- data/vendor/refinerycms/core/lib/crud.rb +0 -265
- data/vendor/refinerycms/core/lib/refinery/html_truncation_helper.rb +0 -22
- data/vendor/refinerycms/core/public/javascripts/jquery/jquery.nestedsortables.js +0 -186
|
@@ -1,31 +1,14 @@
|
|
|
1
1
|
pt-BR:
|
|
2
2
|
plugins:
|
|
3
|
-
pages:
|
|
4
|
-
title: Páginas
|
|
5
|
-
article: as
|
|
6
3
|
refinery_pages:
|
|
7
4
|
title: Páginas
|
|
8
|
-
|
|
9
|
-
activerecord:
|
|
10
|
-
models:
|
|
11
|
-
page: Página
|
|
12
|
-
attributes:
|
|
13
|
-
page:
|
|
14
|
-
title: Título
|
|
15
|
-
parent_id: Pai
|
|
16
|
-
custom_title: Título personalizado
|
|
17
|
-
skip_to_first_child: Pular para primeiro filho?
|
|
18
|
-
link_url: URL Personalizada
|
|
19
|
-
browser_title: Título do navegador
|
|
20
|
-
meta_description_help: Meta palavras-chave
|
|
21
|
-
meta_description_help: Meta descrição
|
|
22
|
-
show_in_menu: Mostrar no menu
|
|
5
|
+
description: Gerenciar páginas
|
|
23
6
|
admin:
|
|
24
7
|
pages_dialogs:
|
|
25
|
-
not_allowed: Você não ter permissão para acessar esta funcionalidade.
|
|
26
8
|
page_link:
|
|
27
|
-
link_to_this_page:
|
|
9
|
+
link_to_this_page: Link para esta página
|
|
28
10
|
link_to:
|
|
11
|
+
insert: Inserir
|
|
29
12
|
your_page:
|
|
30
13
|
tab_name: Sua página
|
|
31
14
|
web_address:
|
|
@@ -41,71 +24,60 @@ pt-BR:
|
|
|
41
24
|
subject_line_optional: Título opcional
|
|
42
25
|
body_optional: Corpo opcional
|
|
43
26
|
not_sure: Não sabe ao certo o que colocar na caixa acima?
|
|
44
|
-
step1: "Escreva ou copie e cole (ex. do seu catálogo de email) o endereço de email e coloque dentro do
|
|
45
|
-
step2: "Use o
|
|
27
|
+
step1: "Escreva ou copie e cole (ex. do seu catálogo de email) o endereço de email e coloque dentro do <strong>Email address</strong> na caixa acima."
|
|
28
|
+
step2: "Use o <strong>Subject Line</strong> na caixa acima se você quer que a mensagem seja composta por <strong>pre-written subject line</strong>."
|
|
46
29
|
step3: "Use o <strong>Email Body</strong> na caixa acima se você quer que a mensagem seja composta por <strong>pre-written message</strong>."
|
|
47
30
|
your_resource:
|
|
48
31
|
tab_name: Seu arquivo
|
|
49
32
|
link_to_this_resource: Link para este arquivo
|
|
50
33
|
pages:
|
|
34
|
+
delete: Remover esta página para sempre
|
|
35
|
+
edit: Editar esta página
|
|
51
36
|
page:
|
|
52
37
|
view_live: Vizualizar essa página agora <br/><em>(irá abrir uma nova janela)</em>
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
confirm_delete_page_message: "Você tem certeza que quer deletar a página '%{title}'?"
|
|
56
|
-
hidden: oculta
|
|
57
|
-
draft: rascunho
|
|
38
|
+
hidden: escondida
|
|
39
|
+
draft: Rascunho
|
|
58
40
|
form_new_page_parts:
|
|
59
41
|
title: Título
|
|
42
|
+
form_page_parts:
|
|
43
|
+
create_content_section: Criar seção de conteúdo
|
|
44
|
+
delete_content_section: Apagar seção de conteúdo
|
|
60
45
|
form_advanced_options:
|
|
61
46
|
toggle_advanced_options: Clique aqui para acessar as configurações de meta tag e opções do menu
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
advanced_options: Opções
|
|
65
|
-
|
|
66
|
-
redirect_to_first_child: "Marque esta caixa se você quiser que o visitante seja redirecionado para o primeiro filho desta página se esta página for selecionada."
|
|
67
|
-
title_type: "Tipo:"
|
|
47
|
+
page_options: Opções de página
|
|
48
|
+
parent_page: Página pai
|
|
49
|
+
advanced_options: Opções avançadas
|
|
50
|
+
custom_title: Título opcional
|
|
68
51
|
title_types:
|
|
69
52
|
none: Nenhum
|
|
70
53
|
text: Texto
|
|
71
|
-
image: Imagem
|
|
72
|
-
custom_url: URL personalizada
|
|
73
|
-
custom_url_explanation: "Entre uma URL caso esta página se ligue a site externo ou a um recurso pré-existente, p.e. uma página de contato. <br/> Nota: Esta URL deve apontar para uma localização existente; uma nova não será criada."
|
|
74
|
-
draft: Rascunho
|
|
75
|
-
show_in_menu_description: Marque esta caixa se esta página deve aparecer no menu do site
|
|
76
|
-
save_as_draft: Salvar como Rascunho
|
|
77
|
-
save: Salvar
|
|
78
|
-
cancel: Cancelar
|
|
79
54
|
show_in_menu_title: Mostrar no menu
|
|
80
55
|
show_in_menu_description: Mostra esta página no menu do site
|
|
81
56
|
show_in_menu_help: "Desmarque está opção caso queira remover a página do menu do site. Pode ser útil caso queira linkar um outra página para esta, mas não quer que esta apareça no menu do site."
|
|
57
|
+
save_as_draft: Salvar como rascunho
|
|
82
58
|
skip_to_first_child: Pular esta página
|
|
83
59
|
skip_to_first_child_label: Redieciona os visitante para a primeira página a baixo desta no menu.
|
|
84
|
-
skip_to_first_child_help: "Está opção faz com que o link desta página aponte para o primeiro link do menu a baixo dessa."
|
|
85
|
-
link_url: "Redirecionar esta página para outro site ou página"
|
|
60
|
+
skip_to_first_child_help: "Está opção faz com que o link desta página aponte para o primeiro link do menu a baixo dessa. Usado quando você tem sub-páginas."
|
|
61
|
+
link_url: "Redirecionar esta página para outro site ou página."
|
|
86
62
|
link_url_help: "Se você quer que esta página seja redicionada para outro site ou página quando você clicar nesta página no menu, digite a URL. ex. http://google.com ou deixe em branco."
|
|
87
|
-
parent_page: Página pai
|
|
88
63
|
parent_page_help: "Se você quer colocar está página a baixo de outra página no menu, selecione qual página aqui ou deixe em branco caso queria a página na raiz do menu."
|
|
89
|
-
custom_title: Título opcional
|
|
90
64
|
custom_title_help: "Se você quer que a página tenha um título diferente do que é mostrado no menu então selecione 'Texto' e digite o novo título."
|
|
91
65
|
form_advanced_options_seo:
|
|
92
66
|
seo: Otimização de Motor de Busca
|
|
93
|
-
seo_override_title:
|
|
94
|
-
seo_override_title_help:
|
|
95
|
-
meta_keywords_title:
|
|
96
|
-
meta_keywords_help: Digite
|
|
67
|
+
seo_override_title: Título para a busca
|
|
68
|
+
seo_override_title_help: Digite de 5 a 10 palvras pequenas que resumem o conteúdo desta página.
|
|
69
|
+
meta_keywords_title: Palavras-chave
|
|
70
|
+
meta_keywords_help: Digite de 5 a 10 palavras-chave presentes nesta página. Separe elas com vírgula.
|
|
97
71
|
meta_description_title: Meta descrição
|
|
98
72
|
meta_description_help: Digite duas ou três sentenças concisas descrevendo sobre o que é essa página.
|
|
99
|
-
js:
|
|
100
|
-
content_section:
|
|
101
|
-
create: Criar Seção de Conteúdo
|
|
102
|
-
already_exists: Uma seção de conteúdo com esse título já existe. Por favor, escolha outro.
|
|
103
|
-
title_empty: Você não escreveu um título para a seção de conteúdo. Por favor, escreva um.
|
|
104
|
-
confirm_delete: Isso irá remover a seção de conteúdo %{section_name} quando esta página for salva e irá apagar todo o conteúdo que esteja nela. Você tem certeza?
|
|
105
73
|
index:
|
|
106
74
|
create_new_page: Criar uma nova página
|
|
107
75
|
reorder_pages: Reordenar as Páginas
|
|
108
76
|
reorder_pages_done: Terminei de reordenar as Páginas
|
|
109
|
-
search_results: 'Resultados da busca por "%{what}"'
|
|
110
|
-
sorry_no_results: Desculpe! Nenhum resultado encontrado.
|
|
111
77
|
no_pages_yet: Ainda não existem páginas. Clique em "Criar Nova Página" para adicionar sua primeira página.
|
|
78
|
+
activerecord:
|
|
79
|
+
models:
|
|
80
|
+
page: Página
|
|
81
|
+
attributes:
|
|
82
|
+
page:
|
|
83
|
+
title: Título
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@pages @pages-manage
|
|
2
|
+
Feature: Manage Pages
|
|
3
|
+
In order to control the content on my website
|
|
4
|
+
As an administrator
|
|
5
|
+
I want to create and manage pages
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I am a logged in refinery user
|
|
9
|
+
And I have no pages
|
|
10
|
+
|
|
11
|
+
Scenario: Pages List
|
|
12
|
+
Given I have pages titled Home, About
|
|
13
|
+
When I go to the list of pages
|
|
14
|
+
Then I should see "Home"
|
|
15
|
+
And I should see "About"
|
|
16
|
+
|
|
17
|
+
Scenario: Create Valid Page
|
|
18
|
+
When I go to the list of pages
|
|
19
|
+
And I follow "Create New Page"
|
|
20
|
+
And I fill in "Title" with "Pickles are Cucumbers Soaked in Evil"
|
|
21
|
+
And I press "Save"
|
|
22
|
+
Then I should see "'Pickles are Cucumbers Soaked in Evil' was successfully created."
|
|
23
|
+
And I should have 1 page
|
|
24
|
+
|
|
25
|
+
Scenario: Create Invalid Page (without title)
|
|
26
|
+
When I go to the list of pages
|
|
27
|
+
And I follow "Create New Page"
|
|
28
|
+
And I press "Save"
|
|
29
|
+
Then I should see "Title can't be blank"
|
|
30
|
+
And I should have 0 pages
|
|
31
|
+
|
|
32
|
+
Scenario: Create Duplicate Page
|
|
33
|
+
Given I only have pages titled Home, About
|
|
34
|
+
When I go to the list of pages
|
|
35
|
+
And I follow "Create New Page"
|
|
36
|
+
And I fill in "Title" with "About"
|
|
37
|
+
And I press "Save"
|
|
38
|
+
Then I should have 3 pages
|
|
39
|
+
And I should have a page at /about--2
|
|
40
|
+
|
|
41
|
+
Scenario: Delete Page
|
|
42
|
+
Given I have a page titled "test"
|
|
43
|
+
When I go to the list of pages
|
|
44
|
+
And I follow "Remove this page forever"
|
|
45
|
+
Then I should see "'test' was successfully destroyed."
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
Given /^I (only )?have a page titled "([^"]*)" with a custom url "([^"]*)"?$/ do |only, title, link_url|
|
|
2
|
+
Page.delete_all if only
|
|
3
|
+
|
|
4
|
+
Page.create(:title => title,
|
|
5
|
+
:link_url => link_url)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
Given /^I (only )?have pages titled "?([^"]*)"?$/ do |only, titles|
|
|
9
|
+
Page.delete_all if only
|
|
10
|
+
titles.split(', ').each do |title|
|
|
11
|
+
Page.create(:title => title)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
Given /^I have no pages$/ do
|
|
16
|
+
Page.delete_all
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
Given /^I have a page titled "([^"]*)"$/ do |title|
|
|
20
|
+
Page.create(:title => title)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
Then /^I should have ([0-9]+) pages?$/ do |count|
|
|
24
|
+
Page.count.should == count.to_i
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
Then /^I should have a page at \/(.+)$/ do |url|
|
|
28
|
+
Page.all.count{|page| page.url[:path].to_s.include?(url)}.should == 1
|
|
29
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
module NavigationHelpers
|
|
2
|
+
module Refinery
|
|
3
|
+
module Pages
|
|
4
|
+
def path_to(page_name)
|
|
5
|
+
case page_name
|
|
6
|
+
when /the home\s?page/
|
|
7
|
+
root_path
|
|
8
|
+
when /the list of pages/
|
|
9
|
+
admin_pages_path
|
|
10
|
+
when /the new page form/
|
|
11
|
+
new_admin_page_path
|
|
12
|
+
else
|
|
13
|
+
nil
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
require 'refinery'
|
|
2
|
+
require 'awesome_nested_set'
|
|
2
3
|
|
|
3
4
|
module Refinery
|
|
4
5
|
module Pages
|
|
5
6
|
class Engine < Rails::Engine
|
|
6
7
|
|
|
8
|
+
# Register cache sweeper, ensuring that we don't overwrite any other observers.
|
|
9
|
+
config.autoload_paths += %W(#{config.root}/app/sweepers)
|
|
10
|
+
(config.active_record.observers ||= []) << :page_sweeper
|
|
11
|
+
|
|
7
12
|
config.after_initialize do
|
|
8
13
|
Refinery::Plugin.register do |plugin|
|
|
9
14
|
plugin.name = "refinery_pages"
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<% @resources.each do |resource| -%>
|
|
7
7
|
<% resource_linked = (resource.url == params[:current_link]) if params[:current_link].present? %>
|
|
8
8
|
<li<%= " class='linked'" if resource_linked %>>
|
|
9
|
-
<%= link_to "#{resource.title} (#{resource.
|
|
9
|
+
<%= link_to "#{resource.title} (#{resource.file_name})", resource.url,
|
|
10
10
|
:title => t('.link_to_file'),
|
|
11
11
|
:rel => resource.title,
|
|
12
12
|
:class => 'page_link',
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
:hide_delete => true,
|
|
27
27
|
:paginate => {
|
|
28
28
|
:collection => @resources,
|
|
29
|
-
:url => {:controller => "admin/resources", :action => "insert", :dialog => from_dialog? }
|
|
29
|
+
:url => {:controller => "/admin/resources", :action => "insert", :dialog => from_dialog? }
|
|
30
30
|
}
|
|
31
31
|
} if @app_dialog or @resources.any? %>
|
|
32
32
|
</div>
|
|
@@ -2,31 +2,30 @@ de:
|
|
|
2
2
|
plugins:
|
|
3
3
|
refinery_files:
|
|
4
4
|
title: Dateien
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
description: Dateien hochladen und verlinken
|
|
6
|
+
file_specify_for_upload: Sie müssen eine Datei zum Hochladen angeben
|
|
7
|
+
file_should_be_smaller_than_max_file_size: Die Dateien sollten kleiner als %{max_file_size} sein
|
|
7
8
|
admin:
|
|
8
9
|
resources:
|
|
10
|
+
delete: Diese Datei für immer löschen
|
|
11
|
+
edit: Diese Datei bearbeiten
|
|
9
12
|
form:
|
|
10
|
-
file_to_upload: Datei zum Hochladen
|
|
11
13
|
download_current: Download der aktuellen Datei
|
|
12
14
|
or: oder
|
|
13
|
-
replace: ",
|
|
15
|
+
replace: ", mit dieser ersetzen..."
|
|
14
16
|
maximum_file_size: "Die maximale Dateigröße beträgt %{megabytes} Megabyte."
|
|
15
17
|
resource:
|
|
16
|
-
download:
|
|
17
|
-
edit: Bearbeiten Sie diese Datei
|
|
18
|
-
delete:
|
|
19
|
-
message: "Sind Sie sicher, die Sie löschen möchten '%{title}'?"
|
|
20
|
-
title: Löschen Sie diese Datei immer
|
|
18
|
+
download: Diese Datei herunterladen (%{size})
|
|
21
19
|
index:
|
|
22
20
|
upload_new: Neue Datei Hochladen
|
|
23
|
-
no_files_yet:
|
|
21
|
+
no_files_yet: Keine Dateien vorhanden. Klicken Sie auf "Neue Datei Hochladen" um Ihre erste Datei hinzuzufügen.
|
|
24
22
|
insert:
|
|
25
|
-
|
|
23
|
+
existing: Vorhandene Datei
|
|
26
24
|
new: Neue Datei
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
no_files: Keine Dateien vorhanden.
|
|
26
|
+
existing_resource:
|
|
27
|
+
link_to_file: Link zu dieser Datei
|
|
28
|
+
button_text: Einfügen
|
|
29
|
+
activerecord:
|
|
30
|
+
models:
|
|
31
|
+
resource: Datei
|
|
@@ -1,33 +1,31 @@
|
|
|
1
1
|
pt-BR:
|
|
2
2
|
plugins:
|
|
3
3
|
refinery_files:
|
|
4
|
-
title:
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
title: Arquivos
|
|
5
|
+
description: Gerenciar arquivos
|
|
6
|
+
file_specify_for_upload: Você deve escolher um arquivo para enviar
|
|
7
|
+
file_should_be_smaller_than_max_file_size: "Arquivos devem ser menores que %{max_file_size} em tamanho"
|
|
7
8
|
admin:
|
|
8
9
|
resources:
|
|
10
|
+
delete: Remover este arquivo para sempre
|
|
11
|
+
edit: Editar este arquivo
|
|
9
12
|
form:
|
|
10
|
-
file_to_upload: Arquivo para enviar
|
|
11
13
|
download_current: Baixar arquivo atual
|
|
12
|
-
or:
|
|
13
|
-
replace: "
|
|
14
|
+
or: or
|
|
15
|
+
replace: " substituir por este..."
|
|
14
16
|
maximum_file_size: "O tamanho máximo permitido é de %{megabytes} megabytes."
|
|
15
17
|
resource:
|
|
16
18
|
download: Baixar este arquivo (%{size})
|
|
17
|
-
edit: Editar este arquivo
|
|
18
|
-
delete:
|
|
19
|
-
message: Tem certeza que deseja remover '%{title}'?
|
|
20
|
-
title: Remover este arquivo para sempre
|
|
21
19
|
index:
|
|
22
20
|
upload_new: Enviar Novo Arquivo
|
|
23
21
|
no_files_yet: Ainda não existem arquivos. Clique em "Enviar Novo Arquivo" para adicionar seu primeiro arquivo.
|
|
24
22
|
insert:
|
|
25
|
-
existing: Arquivo
|
|
23
|
+
existing: O Arquivo já existe.
|
|
26
24
|
new: Novo Arquivo
|
|
27
|
-
|
|
28
|
-
next: Próximo
|
|
29
|
-
or: ou
|
|
30
|
-
cancel: Cancelar
|
|
25
|
+
no_files: TNão há arquivos.
|
|
31
26
|
existing_resource:
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
link_to_file: Link para este Arquivo
|
|
28
|
+
button_text: Inserir
|
|
29
|
+
activerecord:
|
|
30
|
+
models:
|
|
31
|
+
resource: Arquivo
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@files @files-manage
|
|
2
|
+
Feature: Manage Files
|
|
3
|
+
In order to control the content on my website
|
|
4
|
+
As an administrator
|
|
5
|
+
I want to create and manage files
|
|
6
|
+
|
|
7
|
+
Background:
|
|
8
|
+
Given I am a logged in refinery user
|
|
9
|
+
And I have no files
|
|
10
|
+
|
|
11
|
+
Scenario: Create Valid File
|
|
12
|
+
When I go to the list of files
|
|
13
|
+
And I follow "Upload New File"
|
|
14
|
+
And I attach the file at "refinery_is_awesome.txt"
|
|
15
|
+
And I press "Save"
|
|
16
|
+
Then the file "refinery_is_awesome.txt" should have uploaded successfully
|
|
17
|
+
And I should have 1 file
|
|
18
|
+
|
|
19
|
+
Scenario: Edit Existing File
|
|
20
|
+
When I upload the file at "refinery_is_awesome.txt"
|
|
21
|
+
And I go to the list of files
|
|
22
|
+
And I follow "Edit this file"
|
|
23
|
+
And I attach the file at "beach.jpeg"
|
|
24
|
+
And I press "Save"
|
|
25
|
+
Then the file "beach.jpeg" should have uploaded successfully
|
|
26
|
+
And I should have 1 file
|
|
27
|
+
|
|
28
|
+
Scenario: Download Existing File
|
|
29
|
+
When I upload the file at "refinery_is_awesome.txt"
|
|
30
|
+
And I go to the list of files
|
|
31
|
+
And I follow "Download this file"
|
|
32
|
+
Then I should see "http://www.refineryhq.com/"
|
|
33
|
+
|
|
34
|
+
Scenario: Files Delete
|
|
35
|
+
When I upload the file at "refinery_is_awesome.txt"
|
|
36
|
+
And I go to the list of files
|
|
37
|
+
And I follow "Remove this file forever"
|
|
38
|
+
Then I should see "'Refinery Is Awesome' was successfully destroyed."
|
|
39
|
+
And I should have 0 files
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Given /^I have no files$/ do
|
|
2
|
+
Resource.delete_all
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
When /^I attach the file at "([^"]*)"$/ do |file_path|
|
|
6
|
+
attach_file('resource[file]', File.join(File.expand_path('../../uploads/', __FILE__), file_path))
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
Then /^the file "([^"]*)" should have uploaded successfully$/ do |file_name|
|
|
10
|
+
Resource.find_by_file_name(file_name).nil?.should == false
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
And /^I should have ([0-9]+) files?$/ do |number|
|
|
14
|
+
Resource.count.should == number.to_i
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
When /^I upload the file at "([^"]*)"$/ do |file_path|
|
|
18
|
+
visit new_admin_resource_path
|
|
19
|
+
attach_file('resource[file]', File.join(File.expand_path('../../uploads/', __FILE__), file_path))
|
|
20
|
+
click_button 'Save'
|
|
21
|
+
end
|