constructor-cms 0.7.3 → 0.7.4
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 +4 -4
- data/README.md +1 -1
- data/spec/dummy/app/views/html_templates/brand_search.haml +4 -0
- data/spec/dummy/db/schema.rb +140 -0
- data/spec/dummy/doc/README_FOR_APP +2 -0
- metadata +12 -313
- data/.gitignore +0 -14
- data/.rspec +0 -2
- data/.travis.yml +0 -13
- data/.yardopts +0 -9
- data/Gemfile +0 -31
- data/Guardfile +0 -15
- data/bin/rails +0 -8
- data/config.ru +0 -4
- data/constructor-cms.gemspec +0 -26
- data/core/app/assets/images/constructor_core/glyphicons-halflings-white.png +0 -0
- data/core/app/assets/images/constructor_core/glyphicons-halflings.png +0 -0
- data/core/app/assets/images/constructor_core/minus.gif +0 -0
- data/core/app/assets/images/constructor_core/plus.gif +0 -0
- data/core/app/assets/images/constructor_core/rss.png +0 -0
- data/core/app/assets/images/constructor_core/treeview-black-line.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-black.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-default-line.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-default.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-famfamfam-line.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-famfamfam.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-gray-line.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-gray.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-red-line.gif +0 -0
- data/core/app/assets/images/constructor_core/treeview-red.gif +0 -0
- data/core/app/assets/images/constructor_core/twitter.png +0 -0
- data/core/app/assets/images/constructor_core/widgets.png +0 -0
- data/core/app/assets/javascripts/constructor_core/application.js.coffee +0 -52
- data/core/app/assets/javascripts/constructor_core/bootstrap.js +0 -2276
- data/core/app/assets/javascripts/constructor_core/jquery.cookie.js +0 -92
- data/core/app/assets/javascripts/constructor_core/jquery_bundle.js.coffee +0 -3
- data/core/app/assets/javascripts/constructor_core/keys_snippet.js +0 -33
- data/core/app/assets/javascripts/constructor_core/retina.js +0 -148
- data/core/app/assets/javascripts/constructor_core/urlify.js +0 -82
- data/core/app/assets/stylesheets/constructor_core/application.css.scss +0 -3
- data/core/app/assets/stylesheets/constructor_core/main.css.scss +0 -229
- data/core/app/controllers/constructor_core/application_controller.rb +0 -32
- data/core/app/controllers/constructor_core/sessions_controller.rb +0 -15
- data/core/app/controllers/constructor_core/users_controller.rb +0 -24
- data/core/app/helpers/constructor_core/application_helper.rb +0 -9
- data/core/app/models/constructor_core/user.rb +0 -7
- data/core/app/views/constructor_core/devise/confirmations/new.html.haml +0 -10
- data/core/app/views/constructor_core/devise/mailer/confirmation_instructions.html.haml +0 -5
- data/core/app/views/constructor_core/devise/mailer/reset_password_instructions.html.haml +0 -7
- data/core/app/views/constructor_core/devise/mailer/unlock_instructions.html.haml +0 -5
- data/core/app/views/constructor_core/devise/passwords/edit.html.haml +0 -21
- data/core/app/views/constructor_core/devise/passwords/new.html.haml +0 -13
- data/core/app/views/constructor_core/devise/registrations/edit.html.haml +0 -28
- data/core/app/views/constructor_core/devise/registrations/new.html.haml +0 -20
- data/core/app/views/constructor_core/devise/shared/_links.html.haml +0 -19
- data/core/app/views/constructor_core/devise/unlocks/new.html.haml +0 -9
- data/core/app/views/constructor_core/sessions/new.html.haml +0 -22
- data/core/app/views/constructor_core/users/profile.haml +0 -16
- data/core/app/views/layouts/constructor_core/application_core.haml +0 -95
- data/core/config/environments/production.rb +0 -3
- data/core/config/initializers/devise.rb +0 -15
- data/core/config/locales/devise.en.yml +0 -56
- data/core/config/locales/devise.fr.yml +0 -74
- data/core/config/locales/devise.ru.yml +0 -52
- data/core/config/locales/en.yml +0 -15
- data/core/config/locales/fr.yml +0 -15
- data/core/config/locales/ru.yml +0 -27
- data/core/config/routes.rb +0 -18
- data/core/constructor-core.gemspec +0 -24
- data/core/db/migrate/1_devise_users.rb +0 -24
- data/core/db/migrate/2_add_default_user.rb +0 -9
- data/core/lib/constructor-core.rb +0 -25
- data/core/lib/constructor_core/engine.rb +0 -6
- data/core/lib/constructor_core/version.rb +0 -3
- data/core/vendor/assets/javascripts/.gitkeep +0 -0
- data/core/vendor/assets/javascripts/ckeditor/ckeditor.js +0 -913
- data/core/vendor/assets/javascripts/ckeditor/config.js +0 -38
- data/core/vendor/assets/javascripts/ckeditor/lang/en.js +0 -5
- data/core/vendor/assets/javascripts/ckeditor/lang/ru.js +0 -5
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +0 -25
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +0 -7
- data/core/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +0 -6
- data/core/vendor/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
- data/core/vendor/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +0 -24
- data/core/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -43
- data/core/vendor/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +0 -8
- data/core/vendor/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +0 -36
- data/core/vendor/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +0 -31
- data/core/vendor/assets/javascripts/ckeditor/plugins/preview/preview.html +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +0 -28
- data/core/vendor/assets/javascripts/ckeditor/plugins/scayt/README.md +0 -25
- data/core/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -20
- data/core/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -71
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +0 -20
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ca.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cs.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/cy.js +0 -14
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/de.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/el.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/eo.js +0 -12
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/et.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fa.js +0 -12
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fi.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/fr.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/he.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/hr.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/it.js +0 -14
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ku.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/lv.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nb.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/nl.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/no.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pl.js +0 -12
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sk.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/sv.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/th.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/tr.js +0 -12
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ug.js +0 -13
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +0 -9
- data/core/vendor/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -14
- data/core/vendor/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +0 -21
- data/core/vendor/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -16
- data/core/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +0 -84
- data/core/vendor/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +0 -10
- data/core/vendor/assets/javascripts/ckeditor/plugins/templates/templates/default.js +0 -6
- data/core/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
- data/core/vendor/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +0 -28
- data/core/vendor/assets/javascripts/ckeditor/plugins/wsc/README.md +0 -25
- data/core/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
- data/core/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
- data/core/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -82
- data/core/vendor/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +0 -11
- data/core/vendor/assets/javascripts/ckeditor/styles.js +0 -111
- data/core/vendor/assets/stylesheets/.gitkeep +0 -0
- data/core/vendor/assets/stylesheets/ckeditor/contents.css +0 -103
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/dialog.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/dialog_ie.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/dialog_ie7.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/dialog_ie8.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/dialog_opera.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/editor.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/editor_gecko.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/editor_ie.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/editor_ie7.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/editor_ie8.css +0 -5
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/icons.png +0 -0
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/images/arrow.png +0 -0
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/images/close.png +0 -0
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/images/mini.png +0 -0
- data/core/vendor/assets/stylesheets/ckeditor/skins/moono/readme.md +0 -51
- data/pages/app/assets/images/constructor_pages/arrow_down.png +0 -0
- data/pages/app/assets/images/constructor_pages/arrow_up.png +0 -0
- data/pages/app/assets/images/constructor_pages/information.png +0 -0
- data/pages/app/assets/images/constructor_pages/page_white_edit.png +0 -0
- data/pages/app/assets/images/constructor_pages/photos.png +0 -0
- data/pages/app/assets/javascripts/constructor_pages/ajax_pages.js +0 -61
- data/pages/app/assets/javascripts/constructor_pages/jquery.history.js +0 -1
- data/pages/app/controllers/constructor_pages/application_controller.rb +0 -20
- data/pages/app/controllers/constructor_pages/fields_controller.rb +0 -70
- data/pages/app/controllers/constructor_pages/pages_controller.rb +0 -116
- data/pages/app/controllers/constructor_pages/templates_controller.rb +0 -62
- data/pages/app/helpers/constructor_pages/code_name_uniq.rb +0 -7
- data/pages/app/helpers/constructor_pages/fields_helper.rb +0 -18
- data/pages/app/helpers/constructor_pages/pages_helper.rb +0 -22
- data/pages/app/helpers/constructor_pages/templates_helper.rb +0 -13
- data/pages/app/helpers/constructor_pages/treeview_helper.rb +0 -33
- data/pages/app/models/constructor_pages/field.rb +0 -59
- data/pages/app/models/constructor_pages/page.rb +0 -171
- data/pages/app/models/constructor_pages/template.rb +0 -38
- data/pages/app/models/constructor_pages/types/boolean_type.rb +0 -11
- data/pages/app/models/constructor_pages/types/date_type.rb +0 -11
- data/pages/app/models/constructor_pages/types/float_type.rb +0 -11
- data/pages/app/models/constructor_pages/types/html_type.rb +0 -11
- data/pages/app/models/constructor_pages/types/image_type.rb +0 -19
- data/pages/app/models/constructor_pages/types/integer_type.rb +0 -11
- data/pages/app/models/constructor_pages/types/string_type.rb +0 -11
- data/pages/app/models/constructor_pages/types/text_type.rb +0 -11
- data/pages/app/views/constructor_pages/fields/_form.haml +0 -29
- data/pages/app/views/constructor_pages/fields/edit.haml +0 -6
- data/pages/app/views/constructor_pages/fields/new.haml +0 -6
- data/pages/app/views/constructor_pages/fields/types/_boolean.haml +0 -1
- data/pages/app/views/constructor_pages/fields/types/_date.haml +0 -1
- data/pages/app/views/constructor_pages/fields/types/_float.haml +0 -1
- data/pages/app/views/constructor_pages/fields/types/_html.haml +0 -1
- data/pages/app/views/constructor_pages/fields/types/_image.haml +0 -7
- data/pages/app/views/constructor_pages/fields/types/_integer.haml +0 -1
- data/pages/app/views/constructor_pages/fields/types/_string.haml +0 -1
- data/pages/app/views/constructor_pages/fields/types/_text.haml +0 -1
- data/pages/app/views/constructor_pages/pages/_breadcrumbs.haml +0 -7
- data/pages/app/views/constructor_pages/pages/_form.haml +0 -98
- data/pages/app/views/constructor_pages/pages/_menu.haml +0 -8
- data/pages/app/views/constructor_pages/pages/_submenu.haml +0 -6
- data/pages/app/views/constructor_pages/pages/edit.haml +0 -6
- data/pages/app/views/constructor_pages/pages/index.haml +0 -42
- data/pages/app/views/constructor_pages/pages/new.haml +0 -6
- data/pages/app/views/constructor_pages/pages/show.haml +0 -5
- data/pages/app/views/constructor_pages/partials/_arrow_buttons.haml +0 -6
- data/pages/app/views/constructor_pages/templates/_form.haml +0 -53
- data/pages/app/views/constructor_pages/templates/edit.haml +0 -6
- data/pages/app/views/constructor_pages/templates/index.haml +0 -24
- data/pages/app/views/constructor_pages/templates/new.haml +0 -6
- data/pages/config/initializers/dragonfly.rb +0 -9
- data/pages/config/locales/en.yml +0 -65
- data/pages/config/locales/fr.yml +0 -65
- data/pages/config/locales/ru.yml +0 -100
- data/pages/config/routes.rb +0 -26
- data/pages/constructor-pages.gemspec +0 -31
- data/pages/db/migrate/10_create_html_types.rb +0 -15
- data/pages/db/migrate/11_create_image_types.rb +0 -16
- data/pages/db/migrate/12_add_default_template.rb +0 -13
- data/pages/db/migrate/1_create_pages.rb +0 -27
- data/pages/db/migrate/2_create_templates.rb +0 -18
- data/pages/db/migrate/3_create_fields.rb +0 -17
- data/pages/db/migrate/4_create_string_types.rb +0 -15
- data/pages/db/migrate/5_create_float_types.rb +0 -15
- data/pages/db/migrate/6_create_boolean_types.rb +0 -15
- data/pages/db/migrate/7_create_integer_types.rb +0 -15
- data/pages/db/migrate/8_create_text_types.rb +0 -15
- data/pages/db/migrate/9_create_date_types.rb +0 -15
- data/pages/lib/constructor-pages.rb +0 -6
- data/pages/lib/constructor_pages/engine.rb +0 -6
- data/pages/public/hello.txt +0 -1
- data/pages/spec/features/constructor_pages/fields_spec.rb +0 -217
- data/pages/spec/features/constructor_pages/pages_spec.rb +0 -313
- data/pages/spec/features/constructor_pages/templates_spec.rb +0 -267
- data/pages/spec/helpers/constructor_pages/.keep +0 -0
- data/pages/spec/models/constructor_pages/field_spec.rb +0 -135
- data/pages/spec/models/constructor_pages/page_spec.rb +0 -420
- data/pages/spec/models/constructor_pages/template_spec.rb +0 -34
- data/pages/spec/models/constructor_pages/types/boolean_type_spec.rb +0 -21
- data/pages/spec/models/constructor_pages/types/date_type_spec.rb +0 -21
- data/pages/spec/models/constructor_pages/types/float_type_spec.rb +0 -21
- data/pages/spec/models/constructor_pages/types/html_type_spec.rb +0 -63
- data/pages/spec/models/constructor_pages/types/integer_type_spec.rb +0 -24
- data/pages/spec/models/constructor_pages/types/string_type_spec.rb +0 -21
- data/pages/spec/models/constructor_pages/types/text_type_spec.rb +0 -63
- data/pages/spec/routing/constructor_pages/.keep +0 -0
- data/tasks/constructor-cms_tasks.rake +0 -15
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
class CreateFields < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Field.table_name do |t|
|
|
4
|
-
t.string :name
|
|
5
|
-
t.string :code_name
|
|
6
|
-
t.string :type_value
|
|
7
|
-
t.integer :position
|
|
8
|
-
t.references :template
|
|
9
|
-
|
|
10
|
-
t.timestamps
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def self.down
|
|
15
|
-
drop_table ConstructorPages::Field.table_name
|
|
16
|
-
end
|
|
17
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class CreateStringTypes < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Types::StringType.table_name do |t|
|
|
4
|
-
t.string :value, :default => ""
|
|
5
|
-
t.references :field
|
|
6
|
-
t.references :page
|
|
7
|
-
|
|
8
|
-
t.timestamps
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
drop_table ConstructorPages::Types::StringType.table_name
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class CreateFloatTypes < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Types::FloatType.table_name do |t|
|
|
4
|
-
t.float :value, :default => 0.0
|
|
5
|
-
t.references :field
|
|
6
|
-
t.references :page
|
|
7
|
-
|
|
8
|
-
t.timestamps
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
drop_table ConstructorPages::Types::FloatType.table_name
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class CreateBooleanTypes < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Types::BooleanType.table_name do |t|
|
|
4
|
-
t.boolean :value, :default => false
|
|
5
|
-
t.references :field
|
|
6
|
-
t.references :page
|
|
7
|
-
|
|
8
|
-
t.timestamps
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
drop_table ConstructorPages::Types::BooleanType.table_name
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class CreateIntegerTypes < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Types::IntegerType.table_name do |t|
|
|
4
|
-
t.integer :value, :default => 0
|
|
5
|
-
t.references :field
|
|
6
|
-
t.references :page
|
|
7
|
-
|
|
8
|
-
t.timestamps
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
drop_table ConstructorPages::Types::IntegerType.table_name
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class CreateTextTypes < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Types::TextType.table_name do |t|
|
|
4
|
-
t.text :value, :default => "", :limit => 4294967295
|
|
5
|
-
t.references :field
|
|
6
|
-
t.references :page
|
|
7
|
-
|
|
8
|
-
t.timestamps
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
drop_table ConstructorPages::Types::TextType.table_name
|
|
14
|
-
end
|
|
15
|
-
end
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
class CreateDateTypes < ActiveRecord::Migration
|
|
2
|
-
def self.up
|
|
3
|
-
create_table ConstructorPages::Types::DateType.table_name do |t|
|
|
4
|
-
t.date :value, :default => Time.now
|
|
5
|
-
t.references :field
|
|
6
|
-
t.references :page
|
|
7
|
-
|
|
8
|
-
t.timestamps
|
|
9
|
-
end
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def self.down
|
|
13
|
-
drop_table ConstructorPages::Types::DateType.table_name
|
|
14
|
-
end
|
|
15
|
-
end
|
data/pages/public/hello.txt
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
hello world
|
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
module ConstructorPages
|
|
6
|
-
describe 'Fields Controller' do
|
|
7
|
-
before :all do
|
|
8
|
-
ConstructorCore::User.delete_all
|
|
9
|
-
@user = ConstructorCore::User.create email: 'ivanzotov@gmail.com', password: '123qweASD'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
before :each do
|
|
13
|
-
Page.delete_all
|
|
14
|
-
Field.delete_all
|
|
15
|
-
Template.delete_all
|
|
16
|
-
|
|
17
|
-
Field::TYPES.each do |t|
|
|
18
|
-
"constructor_pages/types/#{t}_type".classify.constantize.delete_all
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
@template = Template.create name: 'Page', code_name: 'page'
|
|
22
|
-
|
|
23
|
-
login_as @user
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
describe 'Index' do
|
|
27
|
-
before :each do
|
|
28
|
-
@template = Template.create name: 'Brand', code_name: 'brand'
|
|
29
|
-
@content_field = Field.create name: 'Content', code_name: 'content', template: @template, type_value: 'text'
|
|
30
|
-
@price_field = Field.create name: 'Price', code_name: 'price', template: @template, type_value: 'float'
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
it 'should list all fields of template' do
|
|
34
|
-
visit pages.edit_template_path(@template)
|
|
35
|
-
page.should have_text 'Content'
|
|
36
|
-
page.should have_text 'Price'
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
it 'should has edit field link' do
|
|
40
|
-
visit pages.edit_template_path(@template)
|
|
41
|
-
find("a[href='#{pages.edit_field_path(@content_field, @template)}']").should be_true
|
|
42
|
-
find("a[href='#{pages.edit_field_path(@price_field, @template)}']").should be_true
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
it 'should has delete field link' do
|
|
46
|
-
visit pages.edit_template_path(@template)
|
|
47
|
-
find("a[href='#{pages.field_path(@content_field)}']").should be_true
|
|
48
|
-
find("a[href='#{pages.field_path(@price_field)}']").should be_true
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
it 'should has move field link' do
|
|
52
|
-
visit pages.edit_template_path(@template)
|
|
53
|
-
find("a[href='#{pages.field_move_down_path(@content_field)}']").should be_true
|
|
54
|
-
find("a[href='#{pages.field_move_up_path(@price_field)}']").should be_true
|
|
55
|
-
end
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
describe 'New field' do
|
|
59
|
-
before :each do
|
|
60
|
-
@template = Template.create name: 'Brand', code_name: 'brand'
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
context 'Access' do
|
|
64
|
-
it 'should be accessed by new_field_path if loggen in' do
|
|
65
|
-
visit pages.new_field_path(@template)
|
|
66
|
-
current_path.should == pages.new_field_path(@template)
|
|
67
|
-
status_code.should == 200
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
it 'should not be accessed by new_field_path if not loggen in' do
|
|
71
|
-
logout
|
|
72
|
-
visit pages.new_field_path(@template)
|
|
73
|
-
current_path.should == '/'
|
|
74
|
-
end
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
context 'Contain' do
|
|
78
|
-
before :each do
|
|
79
|
-
@content_field = Field.create name: 'Content', code_name: 'content', template: @template, type_value: 'text'
|
|
80
|
-
@price_field = Field.create name: 'Price', code_name: 'price', template: @template, type_value: 'float'
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
it 'should has name field' do
|
|
84
|
-
visit pages.new_field_path(@template)
|
|
85
|
-
page.should have_field 'Name'
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
it 'should has code name field' do
|
|
89
|
-
visit pages.new_field_path(@template)
|
|
90
|
-
page.should have_field 'Code name'
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
it 'should has select type' do
|
|
94
|
-
visit pages.new_field_path(@template)
|
|
95
|
-
page.should have_select 'Type value'
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
it 'should has no delete link' do
|
|
99
|
-
visit pages.new_field_path(@template)
|
|
100
|
-
page.should_not have_link 'Delete'
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
it 'should has Create Field button' do
|
|
104
|
-
visit pages.new_field_path(@template)
|
|
105
|
-
page.should have_button 'Create Field'
|
|
106
|
-
end
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
it 'should create new field' do
|
|
110
|
-
visit pages.new_field_path(@template)
|
|
111
|
-
fill_in 'Name', with: 'Amount'
|
|
112
|
-
fill_in 'Code name', with: 'amount'
|
|
113
|
-
select 'Integer', from: 'Type value'
|
|
114
|
-
Field.count.should == 0
|
|
115
|
-
click_button 'Create Field'
|
|
116
|
-
Field.count.should == 1
|
|
117
|
-
_field = Field.first
|
|
118
|
-
_field.name.should == 'Amount'
|
|
119
|
-
_field.code_name.should == 'amount'
|
|
120
|
-
_field.type_value.should == 'integer'
|
|
121
|
-
current_path.should == pages.edit_template_path(@template)
|
|
122
|
-
page.should have_text 'added successfully'
|
|
123
|
-
page.should have_text 'Amount'
|
|
124
|
-
end
|
|
125
|
-
|
|
126
|
-
it 'should validate uniqueness of code_name' do
|
|
127
|
-
visit pages.new_field_path(@template)
|
|
128
|
-
fill_in 'Name', with: 'Hello'
|
|
129
|
-
fill_in 'Code name', with: 'get_field_value'
|
|
130
|
-
Field.count.should == 0
|
|
131
|
-
click_button 'Create Field'
|
|
132
|
-
Field.count.should == 0
|
|
133
|
-
current_path.should == pages.fields_path
|
|
134
|
-
page.should have_text 'Code name has already been taken'
|
|
135
|
-
|
|
136
|
-
visit pages.new_field_path(@template)
|
|
137
|
-
fill_in 'Name', with: 'Hello'
|
|
138
|
-
fill_in 'Code name', with: 'brand'
|
|
139
|
-
Field.count.should == 0
|
|
140
|
-
click_button 'Create Field'
|
|
141
|
-
Field.count.should == 0
|
|
142
|
-
current_path.should == pages.fields_path
|
|
143
|
-
page.should have_text 'Code name has already been taken'
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
describe 'Edit field' do
|
|
148
|
-
before :each do
|
|
149
|
-
@template = Template.create name: 'Brand', code_name: 'brand'
|
|
150
|
-
@field_content = Field.create name: 'Content', code_name: 'content', template: @template, type_value: 'text'
|
|
151
|
-
end
|
|
152
|
-
|
|
153
|
-
context 'Access' do
|
|
154
|
-
it 'should be accessed by edit_field_path if loggen in' do
|
|
155
|
-
visit pages.edit_field_path(@field_content, @template)
|
|
156
|
-
current_path.should == pages.edit_field_path(@field_content, @template)
|
|
157
|
-
status_code.should == 200
|
|
158
|
-
end
|
|
159
|
-
|
|
160
|
-
it 'should not be accessed by new_field_path if not loggen in' do
|
|
161
|
-
logout
|
|
162
|
-
visit pages.edit_field_path(@field_content, @template)
|
|
163
|
-
current_path.should == '/'
|
|
164
|
-
end
|
|
165
|
-
end
|
|
166
|
-
|
|
167
|
-
it 'should has delete link' do
|
|
168
|
-
visit pages.edit_field_path(@field_content, @template)
|
|
169
|
-
page.should have_link 'Delete', pages.field_path(@field_content)
|
|
170
|
-
end
|
|
171
|
-
|
|
172
|
-
it 'should has Update Field button' do
|
|
173
|
-
visit pages.edit_field_path(@field_content, @template)
|
|
174
|
-
page.should have_button 'Update Field'
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
it 'should edit field' do
|
|
178
|
-
visit pages.edit_field_path(@field_content, @template)
|
|
179
|
-
fill_in 'Name', with: 'Long content'
|
|
180
|
-
fill_in 'Code name', with: 'long_content'
|
|
181
|
-
select 'HTML', from: 'Type value'
|
|
182
|
-
click_button 'Update Field'
|
|
183
|
-
@field_content.reload
|
|
184
|
-
@field_content.name.should == 'Long content'
|
|
185
|
-
@field_content.code_name.should == 'long_content'
|
|
186
|
-
@field_content.type_value.should == 'html'
|
|
187
|
-
current_path.should == pages.edit_template_path(@template)
|
|
188
|
-
page.should have_text 'updated successfully'
|
|
189
|
-
end
|
|
190
|
-
end
|
|
191
|
-
|
|
192
|
-
describe 'Delete field' do
|
|
193
|
-
before :each do
|
|
194
|
-
@template = Template.create name: 'Brand', code_name: 'brand'
|
|
195
|
-
@field_content = Field.create name: 'Content', code_name: 'content', template: @template, type_value: 'text'
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
it 'should delete field from template edit' do
|
|
199
|
-
visit pages.edit_template_path(@template)
|
|
200
|
-
Field.count.should == 1
|
|
201
|
-
find("a[href='#{pages.field_path(@field_content)}']").click
|
|
202
|
-
Field.count.should == 0
|
|
203
|
-
current_path.should == pages.edit_template_path(@template)
|
|
204
|
-
page.should have_text 'removed successfully'
|
|
205
|
-
end
|
|
206
|
-
|
|
207
|
-
it 'should delete from field edit' do
|
|
208
|
-
visit pages.edit_field_path(@field_content, @template)
|
|
209
|
-
Field.count.should == 1
|
|
210
|
-
click_link 'Delete'
|
|
211
|
-
Field.count.should == 0
|
|
212
|
-
current_path.should == pages.edit_template_path(@template)
|
|
213
|
-
page.should have_text 'removed successfully'
|
|
214
|
-
end
|
|
215
|
-
end
|
|
216
|
-
end
|
|
217
|
-
end
|
|
@@ -1,313 +0,0 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
|
-
|
|
3
|
-
require 'spec_helper'
|
|
4
|
-
|
|
5
|
-
module ConstructorPages
|
|
6
|
-
describe 'Pages Controller' do
|
|
7
|
-
before :all do
|
|
8
|
-
ConstructorCore::User.delete_all
|
|
9
|
-
@user = ConstructorCore::User.create email: 'ivanzotov@gmail.com', password: '123qweASD'
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
before :each do
|
|
13
|
-
Page.delete_all
|
|
14
|
-
Field.delete_all
|
|
15
|
-
Template.delete_all
|
|
16
|
-
|
|
17
|
-
Field::TYPES.each do |t|
|
|
18
|
-
"constructor_pages/types/#{t}_type".classify.constantize.delete_all
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
@template = Template.create name: 'Page', code_name: 'page'
|
|
22
|
-
|
|
23
|
-
login_as @user
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
describe 'Index' do
|
|
27
|
-
context 'Access' do
|
|
28
|
-
it 'should be accessed by pages_path if loggen in' do
|
|
29
|
-
visit pages.pages_path
|
|
30
|
-
current_path.should == pages.pages_path
|
|
31
|
-
status_code.should == 200
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
it 'should not be accessed by pages_path if not loggen in' do
|
|
35
|
-
logout
|
|
36
|
-
visit pages.pages_path
|
|
37
|
-
current_path.should == '/'
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
it 'should notice if no template exists' do
|
|
42
|
-
Template.delete_all
|
|
43
|
-
visit pages.pages_path
|
|
44
|
-
page.should_not have_link 'New page'
|
|
45
|
-
page.should have_content 'Create at least one template'
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
it 'should not notice if template exists' do
|
|
49
|
-
visit pages.pages_path
|
|
50
|
-
page.should have_link 'New page'
|
|
51
|
-
page.should_not have_text 'Create at least one template'
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
it 'should has pages list' do
|
|
55
|
-
Page.create name: 'Zanussi'
|
|
56
|
-
visit pages.pages_path
|
|
57
|
-
page.should have_selector 'ul li'
|
|
58
|
-
page.should have_link 'Zanussi'
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
it 'should has new page link' do
|
|
62
|
-
visit pages.pages_path
|
|
63
|
-
page.should have_link 'New page', pages.new_page_path
|
|
64
|
-
end
|
|
65
|
-
|
|
66
|
-
it 'should has edit_page link' do
|
|
67
|
-
_page = Page.create name: 'Zanussi'
|
|
68
|
-
visit pages.pages_path
|
|
69
|
-
page.should have_link 'Edit page', pages.edit_page_path(_page)
|
|
70
|
-
end
|
|
71
|
-
|
|
72
|
-
it 'should has delete_page link' do
|
|
73
|
-
_page = Page.create name: 'Zanussi'
|
|
74
|
-
visit pages.pages_path
|
|
75
|
-
page.should have_link 'Delete', pages.page_path(_page)
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
it 'should has Add child if child exists' do
|
|
79
|
-
_template = Template.create name: 'Child', code_name: 'child_page', parent: @template
|
|
80
|
-
_page = Page.create name: 'Zanussi', template: @template
|
|
81
|
-
visit pages.pages_path
|
|
82
|
-
page.should have_link 'Add child', pages.new_child_page_path(_page)
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
|
|
86
|
-
describe 'Moving' do
|
|
87
|
-
it 'should move page' do
|
|
88
|
-
_page_first = Page.create name: 'First'
|
|
89
|
-
_page_second = Page.create name: 'Second'
|
|
90
|
-
_page_third = Page.create name: 'Third'
|
|
91
|
-
|
|
92
|
-
_page_first.left_sibling.should be_nil
|
|
93
|
-
_page_first.right_sibling.should == _page_second
|
|
94
|
-
|
|
95
|
-
_page_second.left_sibling.should == _page_first
|
|
96
|
-
_page_second.right_sibling.should == _page_third
|
|
97
|
-
|
|
98
|
-
_page_third.left_sibling.should == _page_second
|
|
99
|
-
_page_third.right_sibling.should be_nil
|
|
100
|
-
|
|
101
|
-
visit pages.pages_path
|
|
102
|
-
find("a[href='#{pages.page_move_down_path(_page_first.id)}']").click
|
|
103
|
-
|
|
104
|
-
_page_first.reload
|
|
105
|
-
_page_first.left_sibling.should == _page_second
|
|
106
|
-
_page_first.right_sibling.should == _page_third
|
|
107
|
-
|
|
108
|
-
_page_second.reload
|
|
109
|
-
_page_second.left_sibling.should be_nil
|
|
110
|
-
_page_second.right_sibling.should == _page_first
|
|
111
|
-
|
|
112
|
-
_page_third.reload
|
|
113
|
-
_page_third.left_sibling.should == _page_first
|
|
114
|
-
_page_third.right_sibling.should be_nil
|
|
115
|
-
|
|
116
|
-
find("a[href='#{pages.page_move_up_path(_page_third.id)}']").click
|
|
117
|
-
|
|
118
|
-
_page_first.reload
|
|
119
|
-
_page_first.left_sibling.should == _page_third
|
|
120
|
-
_page_first.right_sibling.should be_nil
|
|
121
|
-
|
|
122
|
-
_page_second.reload
|
|
123
|
-
_page_second.left_sibling.should be_nil
|
|
124
|
-
_page_second.right_sibling.should == _page_third
|
|
125
|
-
|
|
126
|
-
_page_third.reload
|
|
127
|
-
_page_third.left_sibling.should == _page_second
|
|
128
|
-
_page_third.right_sibling.should == _page_first
|
|
129
|
-
end
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
describe 'New page' do
|
|
133
|
-
describe 'Access' do
|
|
134
|
-
it 'should be accessed by new_page_path if logged in' do
|
|
135
|
-
visit pages.new_page_path
|
|
136
|
-
current_path.should == pages.new_page_path
|
|
137
|
-
status_code.should == 200
|
|
138
|
-
end
|
|
139
|
-
|
|
140
|
-
it 'should not be accessed by new_page_path if not logged in' do
|
|
141
|
-
logout
|
|
142
|
-
visit pages.new_page_path
|
|
143
|
-
current_path.should == '/'
|
|
144
|
-
end
|
|
145
|
-
end
|
|
146
|
-
|
|
147
|
-
it 'should has child template of parent page' do
|
|
148
|
-
_template = Template.create name: 'Child', code_name: 'child_page', parent: @template
|
|
149
|
-
_page = Page.create name: 'Zanussi', template: @template
|
|
150
|
-
visit pages.pages_path
|
|
151
|
-
click_link 'Add child'
|
|
152
|
-
current_path.should == pages.new_child_page_path(_page)
|
|
153
|
-
page.should have_select 'Template', selected: '-- Child'
|
|
154
|
-
end
|
|
155
|
-
|
|
156
|
-
it 'should has published checkbox' do
|
|
157
|
-
visit pages.new_page_path
|
|
158
|
-
page.should have_checked_field 'Active'
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
it 'should has name field' do
|
|
162
|
-
visit pages.new_page_path
|
|
163
|
-
page.should have_field 'Name'
|
|
164
|
-
end
|
|
165
|
-
|
|
166
|
-
it 'should has no delete link' do
|
|
167
|
-
visit pages.new_page_path
|
|
168
|
-
page.should_not have_link 'Delete'
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
it 'should has create button' do
|
|
172
|
-
visit pages.new_page_path
|
|
173
|
-
page.should have_button 'Create Page'
|
|
174
|
-
end
|
|
175
|
-
|
|
176
|
-
it 'should save new page' do
|
|
177
|
-
visit pages.new_page_path
|
|
178
|
-
fill_in 'Name', with: 'Hello world'
|
|
179
|
-
Page.count.should == 0
|
|
180
|
-
click_button 'Create Page'
|
|
181
|
-
Page.count.should == 1
|
|
182
|
-
_page = Page.first
|
|
183
|
-
_page.name.should == 'Hello world'
|
|
184
|
-
_page.url.should == 'hello-world'
|
|
185
|
-
current_path.should == pages.pages_path
|
|
186
|
-
page.should have_text 'added successfully'
|
|
187
|
-
end
|
|
188
|
-
|
|
189
|
-
it 'should redirect to back if no template exists' do
|
|
190
|
-
Template.delete_all
|
|
191
|
-
visit pages.new_page_path
|
|
192
|
-
current_path.should == pages.pages_path
|
|
193
|
-
page.should have_text 'Create at least one template'
|
|
194
|
-
end
|
|
195
|
-
end
|
|
196
|
-
|
|
197
|
-
describe 'Edit page' do
|
|
198
|
-
before :each do
|
|
199
|
-
@page = Page.create name: 'Hello world'
|
|
200
|
-
end
|
|
201
|
-
|
|
202
|
-
describe 'Access' do
|
|
203
|
-
it 'should be accessed by edit_page_path if logged in' do
|
|
204
|
-
visit pages.edit_page_path(@page)
|
|
205
|
-
status_code.should == 200
|
|
206
|
-
end
|
|
207
|
-
|
|
208
|
-
it 'should not be accessed by edit_page_path if not logged in' do
|
|
209
|
-
logout
|
|
210
|
-
visit pages.edit_page_path(@page)
|
|
211
|
-
current_path.should == '/'
|
|
212
|
-
end
|
|
213
|
-
end
|
|
214
|
-
|
|
215
|
-
it 'should has delete link' do
|
|
216
|
-
visit pages.edit_page_path(@page)
|
|
217
|
-
page.should have_link 'Delete'
|
|
218
|
-
end
|
|
219
|
-
|
|
220
|
-
it 'should edit page' do
|
|
221
|
-
visit pages.edit_page_path(@page)
|
|
222
|
-
fill_in 'Name', with: 'Zanussi'
|
|
223
|
-
fill_in 'Title', with: 'Zanussi conditioners'
|
|
224
|
-
fill_in 'Keywords', with: 'Zanussi, conditioners, Voronezh'
|
|
225
|
-
fill_in 'Description', with: 'Zanussi conditioners Voronezh'
|
|
226
|
-
@page.name.should == 'Hello world'
|
|
227
|
-
click_button 'Update Page'
|
|
228
|
-
@page.reload
|
|
229
|
-
@page.name.should == 'Zanussi'
|
|
230
|
-
@page.url.should == 'zanussi'
|
|
231
|
-
@page.title.should == 'Zanussi conditioners'
|
|
232
|
-
@page.keywords.should == 'Zanussi, conditioners, Voronezh'
|
|
233
|
-
@page.description.should == 'Zanussi conditioners Voronezh'
|
|
234
|
-
page.should have_text 'updated successfully'
|
|
235
|
-
end
|
|
236
|
-
end
|
|
237
|
-
|
|
238
|
-
describe 'Delete page' do
|
|
239
|
-
it 'should delete from pages index' do
|
|
240
|
-
Page.create name: 'Page'
|
|
241
|
-
visit pages.pages_path
|
|
242
|
-
Page.count.should == 1
|
|
243
|
-
click_link 'Delete'
|
|
244
|
-
Page.count.should == 0
|
|
245
|
-
page.should have_text 'removed successfully'
|
|
246
|
-
end
|
|
247
|
-
|
|
248
|
-
it 'should delete from page' do
|
|
249
|
-
_page = Page.create name: 'Page'
|
|
250
|
-
visit pages.edit_page_path(_page)
|
|
251
|
-
Page.count.should == 1
|
|
252
|
-
click_link 'Delete'
|
|
253
|
-
Page.count.should == 0
|
|
254
|
-
page.should have_text 'removed successfully'
|
|
255
|
-
end
|
|
256
|
-
end
|
|
257
|
-
|
|
258
|
-
describe 'Fields' do
|
|
259
|
-
it 'should create fields after create page' do
|
|
260
|
-
Field.create name: 'Short description', code_name: 'short_description', template: @template, type_value: 'text'
|
|
261
|
-
Field.create name: 'Long description', code_name: 'long_description', template: @template, type_value: 'html'
|
|
262
|
-
|
|
263
|
-
visit pages.new_page_path
|
|
264
|
-
fill_in 'Name', with: 'Page'
|
|
265
|
-
click_button 'Create Page'
|
|
266
|
-
page.should have_content 'added successfully'
|
|
267
|
-
|
|
268
|
-
_page = Page.first
|
|
269
|
-
_page.short_description.should == ''
|
|
270
|
-
|
|
271
|
-
visit pages.edit_page_path(_page)
|
|
272
|
-
|
|
273
|
-
fill_in 'Short description', with: 'This is short description'
|
|
274
|
-
fill_in 'Long description', with: 'This is long description'
|
|
275
|
-
|
|
276
|
-
click_button 'Update Page'
|
|
277
|
-
|
|
278
|
-
_page.short_description.should == 'This is short description'
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
it 'should change fields if template change' do
|
|
282
|
-
Field.create name: 'Price', code_name: 'price', template: @template, type_value: 'float'
|
|
283
|
-
_template = Template.create name: 'Brand', code_name: 'brand'
|
|
284
|
-
Field.create name: 'Amount', code_name: 'amount', template: _template, type_value: 'integer'
|
|
285
|
-
|
|
286
|
-
visit pages.new_page_path
|
|
287
|
-
fill_in 'Name', with: 'Simple page'
|
|
288
|
-
click_button 'Create Page'
|
|
289
|
-
_page = Page.first
|
|
290
|
-
visit pages.edit_page_path(_page)
|
|
291
|
-
page.should have_selector('#fields_price')
|
|
292
|
-
fill_in 'Price', with: '250.20'
|
|
293
|
-
click_button 'Update Page'
|
|
294
|
-
_page.reload
|
|
295
|
-
_page.price.should == 250.2
|
|
296
|
-
visit pages.edit_page_path(_page)
|
|
297
|
-
select 'Brand', from: 'Template'
|
|
298
|
-
click_button 'Update Page'
|
|
299
|
-
_page.reload
|
|
300
|
-
_page.template.should == _template
|
|
301
|
-
_page.price.should be_nil
|
|
302
|
-
_page.amount.should == 0
|
|
303
|
-
visit pages.edit_page_path(_page)
|
|
304
|
-
page.should_not have_selector('#fields_price')
|
|
305
|
-
page.should have_selector('#fields_amount')
|
|
306
|
-
fill_in 'Amount', with: 200
|
|
307
|
-
click_button 'Update Page'
|
|
308
|
-
_page.reload
|
|
309
|
-
_page.amount.should == 200
|
|
310
|
-
end
|
|
311
|
-
end
|
|
312
|
-
end
|
|
313
|
-
end
|