sunrise-core 0.1.0
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/README.rdoc +46 -0
- data/Rakefile +44 -0
- data/app/controllers/manage/assets_controller.rb +70 -0
- data/app/controllers/manage/base_controller.rb +24 -0
- data/app/controllers/manage/pages_controller.rb +37 -0
- data/app/controllers/manage/settings_controller.rb +24 -0
- data/app/controllers/manage/structures_controller.rb +45 -0
- data/app/controllers/manage/users_controller.rb +78 -0
- data/app/controllers/pages_controller.rb +22 -0
- data/app/views/layouts/manage.html.erb +40 -0
- data/app/views/manage/assets/_collection.html.erb +32 -0
- data/app/views/manage/assets/_picture.html.erb +10 -0
- data/app/views/manage/assets/_swfscript.html.erb +51 -0
- data/app/views/manage/headers/_form.html.erb +14 -0
- data/app/views/manage/pages/_form.html.erb +11 -0
- data/app/views/manage/pages/edit.html.erb +6 -0
- data/app/views/manage/pages/new.html.erb +6 -0
- data/app/views/manage/settings/_form.html.erb +22 -0
- data/app/views/manage/settings/index.html.erb +14 -0
- data/app/views/manage/shared/_head.html.erb +41 -0
- data/app/views/manage/shared/_locale.html.erb +8 -0
- data/app/views/manage/shared/_notice.html.erb +7 -0
- data/app/views/manage/shared/_panel.html.erb +34 -0
- data/app/views/manage/structures/_form.html.erb +28 -0
- data/app/views/manage/structures/_structure.html.erb +34 -0
- data/app/views/manage/structures/edit.html.erb +6 -0
- data/app/views/manage/structures/index.html.erb +51 -0
- data/app/views/manage/structures/new.html.erb +6 -0
- data/app/views/manage/users/_form.html.erb +15 -0
- data/app/views/manage/users/_model_filter.html.erb +33 -0
- data/app/views/manage/users/_user.html.erb +55 -0
- data/app/views/manage/users/edit.html.erb +6 -0
- data/app/views/manage/users/index.html.erb +36 -0
- data/app/views/manage/users/new.html.erb +6 -0
- data/app/views/manage/users/show.html.erb +19 -0
- data/config/locales/defaults/en.yml +149 -0
- data/config/locales/defaults/pluralize.rb +6 -0
- data/config/locales/defaults/ru.yml +170 -0
- data/config/locales/defaults/uk.yml +238 -0
- data/config/locales/devise.en.yml +39 -0
- data/config/locales/devise.ru.yml +41 -0
- data/config/locales/devise.uk.yml +41 -0
- data/config/locales/manage/en.yml +248 -0
- data/config/locales/manage/ru.yml +248 -0
- data/config/locales/manage/uk.yml +248 -0
- data/config/routes.rb +24 -0
- data/lib/generators/sunrise/USAGE +7 -0
- data/lib/generators/sunrise/install_generator.rb +120 -0
- data/lib/generators/sunrise/templates/config/application.yml +4 -0
- data/lib/generators/sunrise/templates/config/database.yml +34 -0
- data/lib/generators/sunrise/templates/config/logrotate-config +9 -0
- data/lib/generators/sunrise/templates/config/nginx-config-passenger +51 -0
- data/lib/generators/sunrise/templates/config/seeds.rb +25 -0
- data/lib/generators/sunrise/templates/config/sunrise.rb +7 -0
- data/lib/generators/sunrise/templates/helpers/manage/assets_helper.rb +16 -0
- data/lib/generators/sunrise/templates/helpers/manage/base_helper.rb +81 -0
- data/lib/generators/sunrise/templates/helpers/manage/pages_helper.rb +2 -0
- data/lib/generators/sunrise/templates/helpers/manage/settings_helper.rb +2 -0
- data/lib/generators/sunrise/templates/helpers/manage/structures_helper.rb +12 -0
- data/lib/generators/sunrise/templates/helpers/manage/users_helper.rb +6 -0
- data/lib/generators/sunrise/templates/images/manage/add_post_bot.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/add_post_top.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/add_white_bot.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/add_white_top.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/arrow.png +0 -0
- data/lib/generators/sunrise/templates/images/manage/back_but_lc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/back_but_rc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/bot_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/bot_duo_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_bg.png +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_block_lc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_block_rc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_freze_lc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_freze_rc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_gr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_gr_l.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_gr_r.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_search.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_unfreze_lc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/but_unfreze_rc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/button_add_foto.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/button_add_foto_ru.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/button_add_foto_ua.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/button_add_foto_uk.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/cancelbutton.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/dark_arr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/dark_arr_left.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/dark_cross_ico.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/dot.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bg_small.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bg_small_blocked.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bg_small_frozed.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bg_small_notact.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bot_small.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bot_small_blocked.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bot_small_frozed.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_bot_small_notact.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_top_small.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_top_small_blocked.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_top_small_frozed.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/duo_top_small_notact.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/edit_white_top.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/empty.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/filter_bot_bg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/filter_top_bg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/flag_en.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/flag_en_nonact.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/flag_ru.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/flag_ru_nonact.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/flag_ua.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/flag_ua_nonact.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/foto.jpg +0 -0
- data/lib/generators/sunrise/templates/images/manage/ico_add.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/ico_del.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/ico_down.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/ico_edit.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/ico_settings.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/ico_up.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/input_bg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/l_but_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/minimise_but.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/mp3.png +0 -0
- data/lib/generators/sunrise/templates/images/manage/page_arr_hover.png +0 -0
- data/lib/generators/sunrise/templates/images/manage/page_next_arr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/page_num_hover.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/page_prev_arr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/panel/l_but_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/panel/maximise_but.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/panel/r_but_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/panel/top_menu_arr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/panel/user_pic.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/preloader.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/r_but_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/select_bg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/select_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/struct_corn_lg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/struct_corn_llg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/struct_corn_lw.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/struct_corn_rg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/struct_corn_rlg.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/struct_corn_rw.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/tab_gl.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/tab_gr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/tab_wl.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/tab_wr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/top_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/top_duo_corn.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/top_menu_arr.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/transp_cross.png +0 -0
- data/lib/generators/sunrise/templates/images/manage/upload_progress.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/user_act_lc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/user_act_rc.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/user_ico.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/user_pic.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/user_pic_small.gif +0 -0
- data/lib/generators/sunrise/templates/images/manage/user_pic_thumb.gif +0 -0
- data/lib/generators/sunrise/templates/javascripts/datepicker/jquery-ui-i18n.js +1176 -0
- data/lib/generators/sunrise/templates/javascripts/datepicker/jquery.ui.datepicker-ru.js +37 -0
- data/lib/generators/sunrise/templates/javascripts/datepicker/jquery.ui.datepicker-uk.js +37 -0
- data/lib/generators/sunrise/templates/javascripts/jquery-ui-timepicker-addon.js +911 -0
- data/lib/generators/sunrise/templates/javascripts/jquery.cookie.js +97 -0
- data/lib/generators/sunrise/templates/javascripts/jquery.fancybox-1.3.4.pack.js +46 -0
- data/lib/generators/sunrise/templates/javascripts/jquery.tmpl.min.js +10 -0
- data/lib/generators/sunrise/templates/javascripts/manage.js +290 -0
- data/lib/generators/sunrise/templates/javascripts/preloader.js +47 -0
- data/lib/generators/sunrise/templates/javascripts/swfupload/fileprogress.js +114 -0
- data/lib/generators/sunrise/templates/javascripts/swfupload/handlers.js +164 -0
- data/lib/generators/sunrise/templates/javascripts/swfupload/swfupload.js +1134 -0
- data/lib/generators/sunrise/templates/javascripts/swfupload/swfupload.queue.js +98 -0
- data/lib/generators/sunrise/templates/javascripts/swfupload/swfupload.swf +0 -0
- data/lib/generators/sunrise/templates/migrate/create_assets.rb +28 -0
- data/lib/generators/sunrise/templates/migrate/create_headers.rb +20 -0
- data/lib/generators/sunrise/templates/migrate/create_pages.rb +17 -0
- data/lib/generators/sunrise/templates/migrate/create_roles.rb +16 -0
- data/lib/generators/sunrise/templates/migrate/create_structures.rb +27 -0
- data/lib/generators/sunrise/templates/migrate/create_users.rb +29 -0
- data/lib/generators/sunrise/templates/models/defaults/ability.rb +38 -0
- data/lib/generators/sunrise/templates/models/defaults/asset.rb +7 -0
- data/lib/generators/sunrise/templates/models/defaults/attachment_file.rb +33 -0
- data/lib/generators/sunrise/templates/models/defaults/avatar.rb +36 -0
- data/lib/generators/sunrise/templates/models/defaults/header.rb +5 -0
- data/lib/generators/sunrise/templates/models/defaults/page.rb +5 -0
- data/lib/generators/sunrise/templates/models/defaults/picture.rb +34 -0
- data/lib/generators/sunrise/templates/models/defaults/position_type.rb +7 -0
- data/lib/generators/sunrise/templates/models/defaults/role.rb +20 -0
- data/lib/generators/sunrise/templates/models/defaults/role_type.rb +8 -0
- data/lib/generators/sunrise/templates/models/defaults/structure.rb +11 -0
- data/lib/generators/sunrise/templates/models/defaults/structure_type.rb +9 -0
- data/lib/generators/sunrise/templates/models/defaults/user.rb +51 -0
- data/lib/generators/sunrise/templates/stylesheets/application.css +1 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/blank.gif +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_close.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_loading.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_nav_left.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_nav_right.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_e.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_n.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_ne.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_nw.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_s.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_se.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_sw.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_shadow_w.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_title_left.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_title_main.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_title_over.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancy_title_right.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancybox-x.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancybox-y.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/images/fancybox.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/fancybox/jquery.fancybox-1.3.4.css +359 -0
- data/lib/generators/sunrise/templates/stylesheets/manage/ie.css +16 -0
- data/lib/generators/sunrise/templates/stylesheets/manage/main.css +1074 -0
- data/lib/generators/sunrise/templates/stylesheets/manage/panel.css +126 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/generators/sunrise/templates/stylesheets/smoothness/jquery-ui-1.8.6.custom.css +572 -0
- data/lib/generators/sunrise/templates/sweepers/page_sweeper.rb +22 -0
- data/lib/generators/sunrise/templates/sweepers/structure_sweeper.rb +29 -0
- data/lib/generators/sunrise/templates/sweepers/user_sweeper.rb +17 -0
- data/lib/generators/sunrise/templates/views/layouts/application.html.erb +37 -0
- data/lib/generators/sunrise/templates/views/pages/show.html.erb +2 -0
- data/lib/generators/sunrise/templates/views/shared/_notice.html.erb +17 -0
- data/lib/sunrise/controllers/head_options.rb +40 -0
- data/lib/sunrise/core.rb +80 -0
- data/lib/sunrise/core_ext/array.rb +22 -0
- data/lib/sunrise/core_ext/i18n.rb +21 -0
- data/lib/sunrise/core_ext/string.rb +28 -0
- data/lib/sunrise/core_ext.rb +3 -0
- data/lib/sunrise/core_plugins.rb +32 -0
- data/lib/sunrise/engine.rb +45 -0
- data/lib/sunrise/model_filter.rb +158 -0
- data/lib/sunrise/models/asset.rb +102 -0
- data/lib/sunrise/models/header.rb +34 -0
- data/lib/sunrise/models/page.rb +27 -0
- data/lib/sunrise/models/position_type.rb +15 -0
- data/lib/sunrise/models/role.rb +28 -0
- data/lib/sunrise/models/role_type.rb +15 -0
- data/lib/sunrise/models/structure.rb +43 -0
- data/lib/sunrise/models/structure_type.rb +15 -0
- data/lib/sunrise/models/user.rb +124 -0
- data/lib/sunrise/plugin.rb +46 -0
- data/lib/sunrise/plugins.rb +56 -0
- data/lib/sunrise/system_settings.rb +65 -0
- data/lib/sunrise/utils/accessible_attributes.rb +32 -0
- data/lib/sunrise/utils/header.rb +29 -0
- data/lib/sunrise/utils/i18n_backend.rb +87 -0
- data/lib/sunrise/utils/mysql.rb +105 -0
- data/lib/sunrise/utils/settingslogic.rb +164 -0
- data/lib/sunrise/utils/transliteration.rb +72 -0
- data/lib/sunrise/version.rb +3 -0
- data/lib/sunrise/views/form_builder.rb +44 -0
- data/lib/sunrise/views/helpers.rb +190 -0
- data/lib/sunrise/views/inputs/date_time_input.rb +46 -0
- data/lib/sunrise-core.rb +2 -0
- metadata +492 -0
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
uk:
|
|
2
|
+
activerecord:
|
|
3
|
+
attributes:
|
|
4
|
+
user:
|
|
5
|
+
name: "Ім'я"
|
|
6
|
+
email: "Email"
|
|
7
|
+
password: "Пароль"
|
|
8
|
+
password_confirmation: "Підтвердження пароля"
|
|
9
|
+
avatar: "Аватарки"
|
|
10
|
+
birthday: "Дата народження"
|
|
11
|
+
city_name: "Місто"
|
|
12
|
+
about: "Про себе"
|
|
13
|
+
remember_me: "Запам'ятати мене"
|
|
14
|
+
|
|
15
|
+
structure:
|
|
16
|
+
title: "Назва"
|
|
17
|
+
title_ru: "Назва (рос.)"
|
|
18
|
+
title_en: "Назва (eng.)"
|
|
19
|
+
parent_id: "Головна категорія"
|
|
20
|
+
is_visible: "Відображати?"
|
|
21
|
+
kind: "Тип сторінки"
|
|
22
|
+
redirect_url: "Перенаправлення (URL)"
|
|
23
|
+
position: "Позиція"
|
|
24
|
+
|
|
25
|
+
header:
|
|
26
|
+
title: "Заголовок сторінки"
|
|
27
|
+
title_ru: "Заголовок сторінки (рос.)"
|
|
28
|
+
title_en: "Заголовок сторінки (eng.)"
|
|
29
|
+
keywords: "Ключові слова"
|
|
30
|
+
keywords_ru: "Ключові слова (рос.)"
|
|
31
|
+
keywords_en: "Ключові слова (eng.)"
|
|
32
|
+
description: "Опис сторінки"
|
|
33
|
+
description_ru: "Опис сторінки (рос.)"
|
|
34
|
+
description_en: "Опис сторінки (eng.)"
|
|
35
|
+
|
|
36
|
+
post:
|
|
37
|
+
title: "Назва"
|
|
38
|
+
title_ru: "Назва (рос.)"
|
|
39
|
+
title_en: "Назва (eng.)"
|
|
40
|
+
content: "Зміст"
|
|
41
|
+
content_ru: "Зміст (рос.)"
|
|
42
|
+
content_en: "Зміст (eng.)"
|
|
43
|
+
created_at: "Дата / Час"
|
|
44
|
+
picture: "Зображення"
|
|
45
|
+
|
|
46
|
+
page:
|
|
47
|
+
title: "Назва"
|
|
48
|
+
title_ru: "Назва (рос.)"
|
|
49
|
+
title_en: "Назва (eng.)"
|
|
50
|
+
content: "Зміст"
|
|
51
|
+
content_ru: "Зміст (рос.)"
|
|
52
|
+
content_en: "Зміст (eng.)"
|
|
53
|
+
|
|
54
|
+
tag:
|
|
55
|
+
name: "Назва"
|
|
56
|
+
|
|
57
|
+
feedback:
|
|
58
|
+
name: "Ім'я"
|
|
59
|
+
email: "Email"
|
|
60
|
+
kind: "Категорія"
|
|
61
|
+
user_id: "Користувач"
|
|
62
|
+
remote_ip: "IP адреса"
|
|
63
|
+
user_agent: "Версія браузера"
|
|
64
|
+
message: "Повідомлення"
|
|
65
|
+
|
|
66
|
+
manage:
|
|
67
|
+
title: "Система <br /> управління"
|
|
68
|
+
go_site: "Перейти на сайт"
|
|
69
|
+
exit: "Вихід"
|
|
70
|
+
page_title: "Управління сайтом"
|
|
71
|
+
site_edit: "Система управління"
|
|
72
|
+
root: "Перейти на сайт"
|
|
73
|
+
users: "Користувачі"
|
|
74
|
+
label_settings: "Установки"
|
|
75
|
+
structure: "Структура"
|
|
76
|
+
new_structure: "Створити розділ"
|
|
77
|
+
user_actions: "Дії"
|
|
78
|
+
posts: "Блог"
|
|
79
|
+
new_post: "Додати пост"
|
|
80
|
+
confirm_delete: "Ви дійсно хочете видалити запис?"
|
|
81
|
+
prev: "Попередня"
|
|
82
|
+
next: "Наступна"
|
|
83
|
+
max_size: "Макс р."
|
|
84
|
+
keywords: "Ключові слова"
|
|
85
|
+
edit: "Редагувати"
|
|
86
|
+
delete: "Видалити"
|
|
87
|
+
add: "Додати"
|
|
88
|
+
create: "Створити"
|
|
89
|
+
cancel: "Скасувати"
|
|
90
|
+
update: "Оновити"
|
|
91
|
+
sort: "Сортувати"
|
|
92
|
+
pictures: "Фотографії"
|
|
93
|
+
download: "Завантажити"
|
|
94
|
+
close: "Закрити"
|
|
95
|
+
|
|
96
|
+
plugins:
|
|
97
|
+
structures: "Структура"
|
|
98
|
+
users: "Користувачі"
|
|
99
|
+
system_messages: "Системні повідомлення"
|
|
100
|
+
settings: "Налаштування"
|
|
101
|
+
other: "Інші"
|
|
102
|
+
posts: "Новини"
|
|
103
|
+
categories: "Категорії"
|
|
104
|
+
statisticts: "Статистика"
|
|
105
|
+
videos: "Конкурсне відео"
|
|
106
|
+
questions: "Питання та відповіді"
|
|
107
|
+
cocktails: "Shake в банку"
|
|
108
|
+
tracks: "Музика"
|
|
109
|
+
wallpapers: "Шпалери"
|
|
110
|
+
reviews: "голоси"
|
|
111
|
+
|
|
112
|
+
settings:
|
|
113
|
+
title: "Налаштування"
|
|
114
|
+
mailer: "Пошта"
|
|
115
|
+
route: "Домен"
|
|
116
|
+
contacts: "Контакти"
|
|
117
|
+
|
|
118
|
+
locale:
|
|
119
|
+
ru: "російська"
|
|
120
|
+
en: "англійська"
|
|
121
|
+
uk: "український"
|
|
122
|
+
|
|
123
|
+
model_filter:
|
|
124
|
+
title: "Фільтр даних"
|
|
125
|
+
filter: "Фільтр"
|
|
126
|
+
search: "Пошук"
|
|
127
|
+
clear: "Очистити"
|
|
128
|
+
|
|
129
|
+
position:
|
|
130
|
+
down: "Опустити вниз"
|
|
131
|
+
up: "Підняти вгору"
|
|
132
|
+
|
|
133
|
+
buttons:
|
|
134
|
+
create_structure: "Створити розділ"
|
|
135
|
+
|
|
136
|
+
user:
|
|
137
|
+
actions: "дії"
|
|
138
|
+
events:
|
|
139
|
+
register: "Реєстрація"
|
|
140
|
+
suspend: "Заморозити"
|
|
141
|
+
delete: "Видалити"
|
|
142
|
+
unsuspend: "Розморозити"
|
|
143
|
+
activate: "Активувати"
|
|
144
|
+
roles: "Ролі"
|
|
145
|
+
|
|
146
|
+
users:
|
|
147
|
+
activated_at: "активація"
|
|
148
|
+
last_login_ip: "ip"
|
|
149
|
+
email: "email"
|
|
150
|
+
category: "категорія"
|
|
151
|
+
name: "Ім'я"
|
|
152
|
+
|
|
153
|
+
sort:
|
|
154
|
+
_: "-"
|
|
155
|
+
created_at_desc: "за датою за спаданням"
|
|
156
|
+
created_at_asc: "за датою за зростанням"
|
|
157
|
+
name_desc: "за за іменем за спаданням"
|
|
158
|
+
name_asc: "на ім'я за зростанням"
|
|
159
|
+
|
|
160
|
+
structure:
|
|
161
|
+
kind:
|
|
162
|
+
page: "Текстова сторінка"
|
|
163
|
+
posts: "Блоги"
|
|
164
|
+
main: "Головна сторінка"
|
|
165
|
+
promo: "Конкурс"
|
|
166
|
+
lessons: "Приватні уроки"
|
|
167
|
+
faq: "Питання та відповіді"
|
|
168
|
+
shake: "Shake в банку"
|
|
169
|
+
downloads: "Downloads"
|
|
170
|
+
redirect: "Redirect"
|
|
171
|
+
tracks: "Музика"
|
|
172
|
+
wallpapers: "Шпалери"
|
|
173
|
+
group: "Група странічок"
|
|
174
|
+
|
|
175
|
+
position:
|
|
176
|
+
default: "За замовчуванням"
|
|
177
|
+
menu: "Головне меню"
|
|
178
|
+
bottom: "Внизу"
|
|
179
|
+
|
|
180
|
+
role:
|
|
181
|
+
kind:
|
|
182
|
+
guest: "Гість"
|
|
183
|
+
default: "Клієнт"
|
|
184
|
+
moderator: "Модератор"
|
|
185
|
+
admin: "Aдміністратор"
|
|
186
|
+
redactor: "Редактор"
|
|
187
|
+
|
|
188
|
+
tags:
|
|
189
|
+
sort:
|
|
190
|
+
_: "-"
|
|
191
|
+
created_at_desc: "за датою за спаданням"
|
|
192
|
+
created_at_asc: "за датою за зростанням"
|
|
193
|
+
name_desc: "за назвою за спаданням"
|
|
194
|
+
name_asc: "за назвою за зростанням"
|
|
195
|
+
|
|
196
|
+
posts:
|
|
197
|
+
sort:
|
|
198
|
+
_: "-"
|
|
199
|
+
created_at_desc: "за датою за спаданням"
|
|
200
|
+
created_at_asc: "за датою за зростанням"
|
|
201
|
+
title_desc: "за назвою за спаданням"
|
|
202
|
+
title_asc: "за назвою за зростанням"
|
|
203
|
+
|
|
204
|
+
sort_columns:
|
|
205
|
+
_: "-"
|
|
206
|
+
created_at_desc: "за датою за спаданням"
|
|
207
|
+
created_at_asc: "за датою за зростанням"
|
|
208
|
+
title_desc: "за назвою за спаданням"
|
|
209
|
+
title_asc: "за назвою за зростанням"
|
|
210
|
+
name_desc: "за назвою за спаданням"
|
|
211
|
+
name_asc: "за назвою за зростанням"
|
|
212
|
+
position_desc: "за позицією за спаданням"
|
|
213
|
+
position_asc: "за позицією за зростанням"
|
|
214
|
+
sort_order_desc: "по сортуванню за спаданням"
|
|
215
|
+
sort_order_asc: "по сортуванню за зростанням"
|
|
216
|
+
|
|
217
|
+
flash:
|
|
218
|
+
manage:
|
|
219
|
+
actions:
|
|
220
|
+
create:
|
|
221
|
+
success: "Запис успішно створено"
|
|
222
|
+
failure: "Виникли помилки при збереженні даних"
|
|
223
|
+
update:
|
|
224
|
+
success: "Запис успішно оновлено"
|
|
225
|
+
failure: "Виникли помилки при оновленні даних"
|
|
226
|
+
destroy:
|
|
227
|
+
success: "Запис успішно видалено"
|
|
228
|
+
failure: "Виникли помилки при видаленні даних"
|
|
229
|
+
|
|
230
|
+
users:
|
|
231
|
+
create:
|
|
232
|
+
success: "Користувач успішно створений"
|
|
233
|
+
failure: "Виникли помилки при створенні користувача"
|
|
234
|
+
update:
|
|
235
|
+
success: "Дані користувача успішно оновлено"
|
|
236
|
+
|
|
237
|
+
settings:
|
|
238
|
+
create:
|
|
239
|
+
success: "Параметри успішно оновлені"
|
|
240
|
+
failure: "Виникли помилки при збереженні даних"
|
|
241
|
+
|
|
242
|
+
pages:
|
|
243
|
+
create:
|
|
244
|
+
success: "Сторінка успішно збережено"
|
|
245
|
+
failure: "Виникли помилки при збереженні даних"
|
|
246
|
+
update:
|
|
247
|
+
success: "Сторінка успішно збережено"
|
|
248
|
+
failure: "Виникли помилки при збереженні даних"
|
data/config/routes.rb
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Rails.application.routes.draw do
|
|
2
|
+
# Administration System
|
|
3
|
+
namespace :manage do
|
|
4
|
+
root :to => "structures#index"
|
|
5
|
+
|
|
6
|
+
resources :users do
|
|
7
|
+
member do
|
|
8
|
+
post :activate, :suspend, :register, :delete, :unsuspend
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
resources :structures do
|
|
13
|
+
get :move, :on => :member
|
|
14
|
+
|
|
15
|
+
resource :page
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
resources :assets, :only => [:create, :destroy] do
|
|
19
|
+
post :sort, :on => :collection
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
resources :settings
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
require 'rails/generators'
|
|
2
|
+
require 'rails/generators/migration'
|
|
3
|
+
|
|
4
|
+
module Sunrise
|
|
5
|
+
module Generators
|
|
6
|
+
class InstallGenerator < Rails::Generators::Base
|
|
7
|
+
include Rails::Generators::Migration
|
|
8
|
+
|
|
9
|
+
desc "Creates a Sunrise initializer and copy general files to your application."
|
|
10
|
+
|
|
11
|
+
source_root File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
|
12
|
+
class_option :migrations, :type => :boolean, :default => true, :description => "Generate migrations files"
|
|
13
|
+
|
|
14
|
+
# copy images
|
|
15
|
+
def copy_images
|
|
16
|
+
directory "images/manage", "public/images/manage"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# copy javascripts
|
|
20
|
+
def copy_javascripts
|
|
21
|
+
directory "javascripts", "public/javascripts"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# copy stylesheets
|
|
25
|
+
def copy_stylesheets
|
|
26
|
+
directory "stylesheets", "public/stylesheets"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# copy views
|
|
30
|
+
def copy_views
|
|
31
|
+
directory "views", "app/views"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def copy_configurations
|
|
35
|
+
copy_file('config/seeds.rb', 'db/seeds.rb')
|
|
36
|
+
copy_file('config/sunrise.rb', 'config/initializers/sunrise.rb')
|
|
37
|
+
|
|
38
|
+
template('config/application.yml', 'config/application.yml.sample')
|
|
39
|
+
template('config/database.yml', 'config/database.yml.sample')
|
|
40
|
+
template('config/logrotate-config', 'config/logrotate-config.sample')
|
|
41
|
+
template('config/nginx-config-passenger', 'config/nginx-config-passenger.sample')
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def copy_helpers
|
|
45
|
+
directory('helpers', 'app/helpers')
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# copy models
|
|
49
|
+
def copy_models
|
|
50
|
+
directory "models", "app/models"
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def copy_sweepers
|
|
54
|
+
directory "sweepers", "app/sweepers"
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
def download_rails_js
|
|
58
|
+
say_status("fetching rails.js", "", :green)
|
|
59
|
+
get "https://github.com/rails/jquery-ujs/raw/master/src/rails.js", "public/javascripts/rails.js"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# Add devise routes
|
|
63
|
+
def add_routes
|
|
64
|
+
route "devise_for :users"
|
|
65
|
+
route "resources :pages, :only => [:show]"
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# copy migration files
|
|
69
|
+
def create_migrations
|
|
70
|
+
if options.migrations
|
|
71
|
+
[:users, :roles, :structures, :pages, :assets, :headers].each do |item|
|
|
72
|
+
migration_template "migrate/create_#{item}.rb", File.join('db/migrate', "sunrise_create_#{item}.rb")
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
def self.next_migration_number(dirname)
|
|
78
|
+
if ActiveRecord::Base.timestamped_migrations
|
|
79
|
+
current_time.utc.strftime("%Y%m%d%H%M%S")
|
|
80
|
+
else
|
|
81
|
+
"%.3d" % (current_migration_number(dirname) + 1)
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
def self.current_time
|
|
86
|
+
@current_time ||= Time.now
|
|
87
|
+
@current_time += 1.minute
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
protected
|
|
91
|
+
|
|
92
|
+
def app_name
|
|
93
|
+
@app_name ||= defined_app_const_base? ? defined_app_name : File.basename(destination_root)
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def defined_app_name
|
|
97
|
+
defined_app_const_base.underscore
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
def defined_app_const_base
|
|
101
|
+
Rails.respond_to?(:application) && defined?(Rails::Application) &&
|
|
102
|
+
Rails.application.is_a?(Rails::Application) && Rails.application.class.name.sub(/::Application$/, "")
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
alias :defined_app_const_base? :defined_app_const_base
|
|
106
|
+
|
|
107
|
+
def app_const_base
|
|
108
|
+
@app_const_base ||= defined_app_const_base || app_name.gsub(/\W/, '_').squeeze('_').camelize
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
def app_const
|
|
112
|
+
@app_const ||= "#{app_const_base}::Application"
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def app_path
|
|
116
|
+
@app_path ||= Rails.root.to_s
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# And be sure to use new-style password hashing:
|
|
2
|
+
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
|
|
3
|
+
development:
|
|
4
|
+
adapter: mysql2
|
|
5
|
+
encoding: utf8
|
|
6
|
+
reconnect: false
|
|
7
|
+
database: <%= app_name %>
|
|
8
|
+
pool: 5
|
|
9
|
+
username: root
|
|
10
|
+
password:
|
|
11
|
+
socket: /var/run/mysqld/mysqld.sock
|
|
12
|
+
|
|
13
|
+
# Warning: The database defined as "test" will be erased and
|
|
14
|
+
# re-generated from your development database when you run "rake".
|
|
15
|
+
# Do not set this db to the same as development or production.
|
|
16
|
+
test:
|
|
17
|
+
adapter: mysql2
|
|
18
|
+
encoding: utf8
|
|
19
|
+
reconnect: false
|
|
20
|
+
database: <%= app_name %>_test
|
|
21
|
+
pool: 5
|
|
22
|
+
username: root
|
|
23
|
+
password:
|
|
24
|
+
socket: /var/run/mysqld/mysqld.sock
|
|
25
|
+
|
|
26
|
+
production:
|
|
27
|
+
adapter: mysql2
|
|
28
|
+
encoding: utf8
|
|
29
|
+
reconnect: true
|
|
30
|
+
database: <%= app_name %>
|
|
31
|
+
pool: 5
|
|
32
|
+
username: root
|
|
33
|
+
password:
|
|
34
|
+
socket: /var/run/mysqld/mysqld.sock
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# You may add here your
|
|
2
|
+
# server {
|
|
3
|
+
# ...
|
|
4
|
+
# }
|
|
5
|
+
# statements for each of your virtual hosts
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
server {
|
|
9
|
+
listen 80;
|
|
10
|
+
server_name .<%= app_name %>.brainberry.com.ua;
|
|
11
|
+
|
|
12
|
+
server_tokens off;
|
|
13
|
+
|
|
14
|
+
gzip on;
|
|
15
|
+
gzip_proxied any;
|
|
16
|
+
gzip_min_length 1100;
|
|
17
|
+
gzip_buffers 12 4k;
|
|
18
|
+
gzip_types text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
|
|
19
|
+
|
|
20
|
+
client_max_body_size 200M;
|
|
21
|
+
client_body_buffer_size 128k;
|
|
22
|
+
client_header_timeout 60;
|
|
23
|
+
client_body_timeout 260;
|
|
24
|
+
send_timeout 260;
|
|
25
|
+
keepalive_timeout 60;
|
|
26
|
+
|
|
27
|
+
large_client_header_buffers 4 4k;
|
|
28
|
+
client_header_buffer_size 1k;
|
|
29
|
+
|
|
30
|
+
connection_pool_size 256;
|
|
31
|
+
ignore_invalid_headers on;
|
|
32
|
+
postpone_output 1460;
|
|
33
|
+
output_buffers 4 32k;
|
|
34
|
+
request_pool_size 4k;
|
|
35
|
+
|
|
36
|
+
passenger_enabled on;
|
|
37
|
+
rails_env production;
|
|
38
|
+
# rack_env production;
|
|
39
|
+
|
|
40
|
+
root <%= app_path %>/public;
|
|
41
|
+
|
|
42
|
+
location ~ /\.[^\/]+ {
|
|
43
|
+
return 404;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
location ~* ^.+\.(jpg|jpeg|gif|png|css|js|swf|ico|mov|flv|fla|pdf|zip|rar|doc|xls)$
|
|
47
|
+
{
|
|
48
|
+
expires 12h;
|
|
49
|
+
add_header Cache-Control private;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
def insert_user
|
|
2
|
+
User.truncate_table
|
|
3
|
+
Role.truncate_table
|
|
4
|
+
password = Devise.friendly_token
|
|
5
|
+
|
|
6
|
+
admin = User.new(:name=>'Administrator', :email=>'dev@aimbulance.com',
|
|
7
|
+
:password=>password, :password_confirmation=>password)
|
|
8
|
+
admin.login = 'admin' if admin.respond_to?(:login)
|
|
9
|
+
admin.roles.build(:role_type => RoleType.admin)
|
|
10
|
+
admin.skip_confirmation!
|
|
11
|
+
admin.save!
|
|
12
|
+
|
|
13
|
+
puts "Admin: #{admin.email}, #{admin.password}"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def insert_structures
|
|
17
|
+
Structure.truncate_table
|
|
18
|
+
|
|
19
|
+
main_page = Structure.create!(:title => "Главная страница", :slug => "main-page", :structure_type => StructureType.main, :parent => nil)
|
|
20
|
+
#Structure.create!(:title => "Трансляции", :slug => "broadcasts", :structure_type => StructureType.broadcasts, :parent => main_page)
|
|
21
|
+
#Structure.create!(:title => "Прямые репортажи", :slug => "posts", :structure_type => StructureType.posts, :parent => main_page)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
insert_user
|
|
25
|
+
insert_structures
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module Manage::AssetsHelper
|
|
2
|
+
|
|
3
|
+
def manage_assets_path_with_session_information(klass = 'Asset', options = {})
|
|
4
|
+
options = { :format => :xml, :protocol => "http://" }.merge(options)
|
|
5
|
+
session_key = Rails.application.config.send(:session_options)[:key]
|
|
6
|
+
|
|
7
|
+
options[session_key] = Rack::Utils.escape(cookies[session_key])
|
|
8
|
+
options[:klass] = klass
|
|
9
|
+
|
|
10
|
+
if protect_against_forgery?
|
|
11
|
+
options[request_forgery_protection_token] = Rack::Utils.escape(form_authenticity_token)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
manage_assets_url(options)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
module Manage::BaseHelper
|
|
2
|
+
def content_manager?
|
|
3
|
+
user_signed_in? && current_user.admin?
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def link_to_unless_current_span2(name, options = {}, html_options = {}, &block)
|
|
7
|
+
if current_page?(options)
|
|
8
|
+
if block_given?
|
|
9
|
+
block.arity <= 1 ? yield(name) : yield(name, options, html_options)
|
|
10
|
+
else
|
|
11
|
+
content_tag(:span, content_tag(:span, name), html_options)
|
|
12
|
+
end
|
|
13
|
+
else
|
|
14
|
+
link_to(name, options, html_options)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def options_for_ckeditor(options = {})
|
|
19
|
+
{:width=>700, :height=>400,
|
|
20
|
+
:swf_params=>{:assetable_type=>current_user.class.name, :assetable_id=>current_user.id}
|
|
21
|
+
|
|
22
|
+
}.update(options)
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def white_block_form(options = {}, &block)
|
|
26
|
+
title = options[:title]
|
|
27
|
+
|
|
28
|
+
concat(content_tag(:div, {:class=>"edit-white-bl"}) do
|
|
29
|
+
concat(content_tag(:div, {:class=>"bot-bg"}) do
|
|
30
|
+
concat(content_tag(:div, title, :class=>"wh-title")) unless title.blank?
|
|
31
|
+
yield if block_given?
|
|
32
|
+
end)
|
|
33
|
+
end)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def link_to_sort(title, options = {})
|
|
37
|
+
options.symbolize_keys!
|
|
38
|
+
|
|
39
|
+
order_type = options[:order_type] || 'asc'
|
|
40
|
+
order_column = options[:name] || 'id'
|
|
41
|
+
class_name = options[:class] || nil
|
|
42
|
+
|
|
43
|
+
search_options = request.params[:search] || {}
|
|
44
|
+
search_options.update(:order_column => order_column, :order_type => order_type)
|
|
45
|
+
|
|
46
|
+
link_to(title, :search => search_options, :class => class_name)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def remove_child_link(name, f)
|
|
50
|
+
f.hidden_field(:_destroy) + link_to_function(name, "remove_fields(this)")
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def add_child_link(name, f, method, options={})
|
|
54
|
+
options.symbolize_keys!
|
|
55
|
+
|
|
56
|
+
html_options = options.delete(:html) || {}
|
|
57
|
+
fields = new_child_fields(f, method, options)
|
|
58
|
+
|
|
59
|
+
html_options[:class] ||= "new"
|
|
60
|
+
|
|
61
|
+
content_tag(:div,
|
|
62
|
+
link_to_function(name, h("insert_fields(this, \"#{method}\", \"#{escape_javascript(fields)}\")"), html_options),
|
|
63
|
+
:class=>"add-bl")
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def new_child_fields(form_builder, method, options = {})
|
|
67
|
+
options[:object] ||= form_builder.object.class.reflect_on_association(method).klass.new
|
|
68
|
+
options[:partial] ||= method.to_s.singularize
|
|
69
|
+
options[:form_builder_local] ||= :form
|
|
70
|
+
|
|
71
|
+
form_builder.fields_for(method, options[:object], :child_index => "new_#{method}") do |f|
|
|
72
|
+
render(:partial => options[:partial], :locals => { options[:form_builder_local] => f })
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def cookie_content_tag(tag_name, options={}, &block)
|
|
77
|
+
key = options[:id]
|
|
78
|
+
options[:style] = "display:none;" if !cookies[key].blank? && cookies[key].to_i != 1
|
|
79
|
+
content_tag(tag_name, options, &block)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
module Manage::StructuresHelper
|
|
2
|
+
|
|
3
|
+
def edit_structure_record_path(structure)
|
|
4
|
+
case structure.structure_type
|
|
5
|
+
when StructureType.page then edit_manage_structure_page_path(:structure_id=>structure.id)
|
|
6
|
+
when StructureType.posts then manage_structure_posts_path(:structure_id => structure.id)
|
|
7
|
+
when StructureType.main then '#'
|
|
8
|
+
when StructureType.redirect then structure.slug
|
|
9
|
+
when StructureType.group then '#'
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|