odania_core 0.0.6 → 0.0.7
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/app/assets/javascripts/odania/info.js.coffee +3 -0
- data/app/assets/javascripts/odania_core_protected/application.js +16 -0
- data/app/assets/stylesheets/odania/info.css.scss +3 -0
- data/app/assets/stylesheets/odania_core_protected/application.css +13 -0
- data/app/assets/stylesheets/odania_core_protected/style.css.scss +1 -0
- data/app/controllers/admin/odania/menu_items_controller.rb +1 -1
- data/app/controllers/admin/odania/sites_controller.rb +1 -0
- data/app/controllers/admin_controller.rb +1 -1
- data/app/controllers/odania/info_controller.rb +35 -0
- data/app/controllers/protected/dashboard_controller.rb +4 -0
- data/app/controllers/protected_controller.rb +9 -0
- data/app/helpers/odania/info_helper.rb +2 -0
- data/app/mailers/odania/notify.rb +13 -0
- data/app/views/admin/odania/contents/_form.html.erb +1 -11
- data/app/views/admin/odania/contents/index.html.erb +2 -2
- data/app/views/admin/odania/languages/_form.html.erb +3 -14
- data/app/views/admin/odania/languages/index.html.erb +2 -2
- data/app/views/admin/odania/menu_items/_form.html.erb +9 -17
- data/app/views/admin/odania/menu_items/index.html.erb +2 -2
- data/app/views/admin/odania/menus/_form.html.erb +5 -15
- data/app/views/admin/odania/menus/index.html.erb +2 -2
- data/app/views/admin/odania/shared/_menu.html.erb +1 -1
- data/app/views/admin/odania/sites/_form.html.erb +34 -24
- data/app/views/admin/odania/sites/index.html.erb +2 -2
- data/app/views/layouts/odania_core/application.html.erb +2 -0
- data/app/views/layouts/odania_core/protected.html.erb +27 -0
- data/app/views/odania/common/_footer.html.erb +15 -0
- data/app/views/odania/info/_copyright.html.erb +446 -0
- data/app/views/odania/info/contact.html.erb +23 -0
- data/app/views/odania/info/contact_send.html.erb +3 -0
- data/app/views/odania/info/imprint.html.erb +9 -0
- data/app/views/odania/info/terms_and_conditions.html.erb +3 -0
- data/app/views/odania/notify/contact_form.html.erb +5 -0
- data/app/views/odania/notify/notify_admin.html.erb +3 -0
- data/app/views/odania/shared/_errors.html.erb +11 -0
- data/app/views/protected/dashboard/index.html.erb +2 -0
- data/app/views/protected/odania/shared/_menu.html.erb +10 -0
- data/config/locales/de.yml +14 -0
- data/config/locales/en.yml +14 -0
- data/config/routes.rb +8 -3
- data/db/migrate/20140512153554_add_email_info_to_site.rb +6 -0
- data/db/migrate/20140512161811_add_imprint_terms_to_site.rb +6 -0
- data/lib/odania.rb +10 -1
- data/lib/odania/admin.rb +9 -9
- data/lib/odania/disabled_background_job.rb +7 -0
- data/lib/odania/protected.rb +12 -0
- data/{app/models → lib}/odania/target_type.rb +0 -0
- data/lib/odania_core/engine.rb +1 -0
- data/lib/odania_core/version.rb +1 -1
- data/lib/tasks/odania_core_tasks.rake +3 -2
- data/test/controllers/admin/odania/dashboard_controller_test.rb +17 -0
- data/test/controllers/odania/deliver_controller_test.rb +1 -0
- data/test/controllers/protected/odania/dashboard_controller_test.rb +17 -0
- data/test/dummy/config/database.yml +5 -0
- data/test/dummy/config/environments/development.rb +1 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/schema.rb +40 -15
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +8181 -0
- data/test/dummy/log/test.log +58765 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/050eb77fb84c3d5b11b2c335ffc2066e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/071ed495ead612a4b476446e41911790 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1162767bf7dd2fa8a0729a9b74c5d262 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13ebf9a23c7bcd470cced5e3c026b2c6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1aabd31da5b9fb20f92ccb6aab02693e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/31320b4010a117d38d5ae980db673d0f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/31bf03ea315906104e90565c1755f93b +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/51ceb5283b390c7096cb51c446afff14 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/542e319febac79296c8eed4cba6b1278 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5546cd8a339e2685f326f6e3aa7137d1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5896f3bd71adf47dbc97c8b096de89e5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/64ae089382b7b1071cb7f81859a2c7e5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6a2d6a50e71f610e9622c7b00b89d9fb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6c591a1043d02ec6818da184e63bab27 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6ef2e646e5df37d1a2b8eb4c95227732 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/70a571034fb5b24b25ea62e490854fb5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/80c0164f49a2ca6316e174f9cd881828 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/89feb1399fd506496e0895a9dcbf266d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/8a390d01d219afed891a2ccf558900f9 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/91ad661f834d4764233be7b4cd1eced4 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9257ec40a4a608c323010e1a7a392875 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a22b9e077056434affa1f7096cac526c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a6253055c7af3ad275675a529405f9dc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a934f78fb9f28b5be1ffaf3ad9c7d679 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aa2496eee87838cc6a8e82fe1835c7dc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/aee29c6618c315a907c84a7244f9a2d5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b568cecbb1f2095238d9752c06eaad12 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b94fc2358ebd35d7593676da3994abf7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/bb77c7d971ba740bb9555b56a5088922 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/bc22e41c8d34b097603e2810ff80b480 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c133b830eef0f8ce6c50a77c77db6811 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c24ede15fd68a27d8eebc1a5a6bf38f8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c7fadd1caf1cf9bb073f2d4084867691 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cadf3a38b8b2f76f9ae9c40702c51e94 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d555fdabd9f9917902c297ff3eda35d0 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d7607942ea55ac942ea171ffc90e3dd5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/df6de1f873ddd3bab5ffa2351513b502 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e2bc5f3022f0c1b1c5d8a2ec9bdaed19 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e346e8a32395f2f19c4d78d375b1ba43 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e5421896b8e264a2b7ab1292b19bed91 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e57d372b6f0705bbce9d24c6c2eea1b1 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e5c003ee1e62f83c11e2fd7e05aae7a7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/e771808797300a059aa4f25f6eb4a6ee +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ea93a450546497582e332129b7ffcf78 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/ee73b2f7e7a7da30173f3b379a9f56b5 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f37943f3484e4587c579b17f68a6cfd3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fa2c538304a3dcad8e7c80d01bd98c60 +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_badges.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_breadcrumbs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_button-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_carousel.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_close.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_code.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_component-animations.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_dropdowns.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_glyphicons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_input-groups.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_jumbotron.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_media.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_mixins.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_modals.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_navbar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_navs.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_normalize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_pager.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_popovers.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_print.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_progress-bars.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_responsive-embed.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_responsive-utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_scaffolding.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_tables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_thumbnails.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_tooltip.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_type.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_utilities.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_variables.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/2b7ccad7fb6114fd0a5a8b81d489610eacf18cf0/_wells.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_alerts.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_background-variant.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_border-radius.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_buttons.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_center-block.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_clearfix.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_forms.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_gradients.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_grid-framework.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_grid.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_hide-text.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_image.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_labels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_list-group.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_nav-divider.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_nav-vertical-align.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_opacity.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_pagination.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_panels.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_progress-bar.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_reset-filter.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_resize.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_responsive-visibility.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_size.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_tab-focus.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_table-row.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_text-emphasis.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_text-overflow.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/57a5a5754a391e1824a99986aaadb87b7246422e/_vendor-prefixes.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/c06fcf877e5e9b8d4ce79dea27898637e9ebd9b4/style.css.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sass/d1478c0804bb496464f45966578d0e36ddcf39be/bootstrap.scssc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/00289b41bea74006a2d4648acce101be +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/0e64b52b8b7f3783434b8fc77ba80746 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/14fc0938a29aa79bb2321e823afa2a53 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2628a4fb3534fad4c570f9d7db75f185 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/2b87fb40c41ad357ed7e0b82ba32cd03 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/340cbee014f1b02efe5524acdc72279e +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/45c583874d0e047bf054aae066ad66f3 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/464e9c589a85f96b8a0c6b4db98b721b +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/5736e9fa3c5e61402273619daeb9dda4 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/610c5b9a96d0a2f6fa708281748fa43a +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7b998a880b2b33edff7260851f35b673 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/7f77f75866eff4aa14cff532de023873 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8a7112fe0def097e8ce96fcd2ed9ee82 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/8d8d40db7c8757a3e15481173abc4d2f +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/91fc71cf7102d1e9000e63477feccfa8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/aa2496eee87838cc6a8e82fe1835c7dc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/b1f2012aef9055f8d4a97dcad14010fe +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/c24ede15fd68a27d8eebc1a5a6bf38f8 +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/d8ebcc4e0bb18e81039b7b81b658e1bc +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/f68a094a9d20eb0f8df24564219ca878 +0 -0
- data/test/dummy/tmp/pids/server.pid +1 -0
- data/test/integration/disabled_background_job_test.rb +28 -0
- data/test/support/test_setup.rb +1 -0
- metadata +307 -37
@@ -0,0 +1,23 @@
|
|
1
|
+
<h1><%= t('odania.Contact') %></h1>
|
2
|
+
|
3
|
+
<p>
|
4
|
+
<%= form_tag '/contact' do %>
|
5
|
+
<p>
|
6
|
+
<%= t('odania.name') %>:
|
7
|
+
<input type="text" name="<%= @contact_post_name %>[contact_name]" value=""/>
|
8
|
+
</p>
|
9
|
+
|
10
|
+
<p>
|
11
|
+
<%= t('odania.email') %>:
|
12
|
+
<input type="text" name="<%= @contact_post_name %>[email]" value=""/>
|
13
|
+
</p>
|
14
|
+
|
15
|
+
<p>
|
16
|
+
<%= t('odania.ContactText') %>
|
17
|
+
<textarea name="<%= @contact_post_name %>[body]" cols="50" rows="10"></textarea>
|
18
|
+
</p>
|
19
|
+
<p>
|
20
|
+
<input type="submit" name="submit" value="<%= t('odania.send') %>"/>
|
21
|
+
</p>
|
22
|
+
<% end %>
|
23
|
+
</p>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<h1><%= t('odania.Imprint') %></h1>
|
2
|
+
|
3
|
+
<%=raw current_site.imprint %>
|
4
|
+
|
5
|
+
<h2><%= t('odania.This page is created with the Open Source Portal') %></h2>
|
6
|
+
<p><a href="http://www.odania.com">Odania Open Source Portal</a></p>
|
7
|
+
|
8
|
+
<br/><br/><br/>
|
9
|
+
<%= render :partial => 'odania/info/copyright' %>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
<% if obj.errors.any? %>
|
2
|
+
<div id="error_explanation">
|
3
|
+
<h2><%= pluralize(obj.errors.count, 'error') %> prohibited this admin_ad_type from being saved:</h2>
|
4
|
+
|
5
|
+
<ul>
|
6
|
+
<% obj.errors.full_messages.each do |msg| %>
|
7
|
+
<li><%= msg %></li>
|
8
|
+
<% end %>
|
9
|
+
</ul>
|
10
|
+
</div>
|
11
|
+
<% end %>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<div class="container-fluid">
|
2
|
+
<div class="nav-collapse">
|
3
|
+
<ul class="nav nav-list">
|
4
|
+
<li><%= link_to t('Dashboard'), protected_path %></li>
|
5
|
+
<% Odania.protected.pages.each do |protected_page| %>
|
6
|
+
<li><%= link_to protected_page[:name], protected_page[:path] %></li>
|
7
|
+
<% end %>
|
8
|
+
</ul>
|
9
|
+
</div>
|
10
|
+
</div>
|
data/config/locales/de.yml
CHANGED
@@ -9,3 +9,17 @@ de:
|
|
9
9
|
Read more: 'Weiter lesen'
|
10
10
|
Language: 'Sprache'
|
11
11
|
No content defined: 'Kein Inhalt definiert'
|
12
|
+
Dashboard: 'Dashboard'
|
13
|
+
odania:
|
14
|
+
save_and_back: 'Speichern & Zurück'
|
15
|
+
save: 'Speichern'
|
16
|
+
send: 'Senden'
|
17
|
+
name: 'Name'
|
18
|
+
email: 'Email'
|
19
|
+
ContactText: 'Nachricht'
|
20
|
+
Contact: 'Kontakt'
|
21
|
+
Your request is send: 'Deine Anfrage wurde gesendet'
|
22
|
+
Imprint: 'Impressum'
|
23
|
+
Terms and Conditions: 'AGB'
|
24
|
+
Or you can contact us via this form: 'Oder kontaktiere uns über diese Formular'
|
25
|
+
This page is created with the Open Source Portal: 'Diese Seite wurde mit dem Open Source Portal "Odania" erstellt'
|
data/config/locales/en.yml
CHANGED
@@ -9,3 +9,17 @@ en:
|
|
9
9
|
Read more: 'Read more'
|
10
10
|
Language: 'Language'
|
11
11
|
No content defined: 'No content defined'
|
12
|
+
Dashboard: 'Dashboard'
|
13
|
+
odania:
|
14
|
+
save_and_back: 'Save & Back'
|
15
|
+
save: 'Save'
|
16
|
+
send: 'Send'
|
17
|
+
name: 'Name'
|
18
|
+
email: 'Email'
|
19
|
+
ContactText: 'Message'
|
20
|
+
Contact: 'Contact'
|
21
|
+
Your request is send: 'Your message has been sent'
|
22
|
+
Imprint: 'Imprint'
|
23
|
+
Terms and Conditions: 'Terms and Conditions'
|
24
|
+
Or you can contact us via this form: 'Or you can contact us via this form'
|
25
|
+
This page is created with the Open Source Portal: 'This page is created with the Open Source Portal "Odania"'
|
data/config/routes.rb
CHANGED
@@ -3,9 +3,10 @@ Rails.application.routes.draw do
|
|
3
3
|
|
4
4
|
match '/deliver/click' => 'odania/deliver#click', via: [:get, :post], as: :deliver_click
|
5
5
|
|
6
|
-
get '
|
7
|
-
get '
|
8
|
-
|
6
|
+
get 'imprint' => 'odania/info#imprint'
|
7
|
+
get 'terms_and_conditions' => 'odania/info#terms_and_conditions'
|
8
|
+
get 'contact' => 'odania/info#contact'
|
9
|
+
post 'contact' => 'odania/info#contact_send'
|
9
10
|
|
10
11
|
namespace :admin do
|
11
12
|
namespace :odania do
|
@@ -29,6 +30,10 @@ Rails.application.routes.draw do
|
|
29
30
|
get '/' => 'dashboard#index'
|
30
31
|
end
|
31
32
|
|
33
|
+
namespace :protected do
|
34
|
+
get '/' => 'dashboard#index'
|
35
|
+
end
|
36
|
+
|
32
37
|
# Track views
|
33
38
|
match 'track_view/:type/:id' => 'odania/statistics#track_view', :as => :update_views, via: [:get, :post, :put]
|
34
39
|
|
data/lib/odania.rb
CHANGED
@@ -10,10 +10,13 @@ module Odania
|
|
10
10
|
|
11
11
|
autoload :Configuration, 'odania/configuration'
|
12
12
|
autoload :Admin, 'odania/admin'
|
13
|
+
autoload :Protected, 'odania/protected'
|
13
14
|
autoload :CoreTargetTypeUtil, 'odania/core_target_type_util'
|
14
15
|
autoload :TextHelper, 'odania/text_helper'
|
15
16
|
autoload :Taggable, 'odania/taggable'
|
16
17
|
autoload :Filter, 'odania/filter'
|
18
|
+
autoload :DisabledBackgroundJob, 'odania/disabled_background_job'
|
19
|
+
autoload :TargetType, 'odania/target_type'
|
17
20
|
|
18
21
|
# Define a set of helpers that are called on setup.
|
19
22
|
mattr_reader :helpers
|
@@ -30,14 +33,16 @@ module Odania
|
|
30
33
|
def self.setup
|
31
34
|
yield Odania::Configuration
|
32
35
|
@@helpers.each { |h| h.define_helpers(self.config) }
|
36
|
+
end
|
33
37
|
|
38
|
+
def self.setup_enqueue
|
34
39
|
# Enqueue for background processing
|
35
40
|
if Odania.config.background_enqueue.blank?
|
36
41
|
Rails.logger.error 'No background_enqueue defined!'
|
37
42
|
Odania.config.background_enqueue = 'puts \'FallbackEnqueue\';puts'
|
38
43
|
end
|
39
44
|
module_eval <<-METHODS, __FILE__, __LINE__ + 1
|
40
|
-
def self.enqueue(background_type, opts)
|
45
|
+
def self.enqueue(background_type, *opts)
|
41
46
|
#{Odania.config.background_enqueue}(background_type, opts)
|
42
47
|
end
|
43
48
|
METHODS
|
@@ -96,4 +101,8 @@ module Odania
|
|
96
101
|
def self.admin
|
97
102
|
Odania::Admin
|
98
103
|
end
|
104
|
+
|
105
|
+
def self.protected
|
106
|
+
Odania::Protected
|
107
|
+
end
|
99
108
|
end
|
data/lib/odania/admin.rb
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
module Odania
|
3
3
|
module Admin
|
4
4
|
# Registered Templates for the admin pages
|
5
|
-
mattr_reader :
|
6
|
-
@@
|
5
|
+
mattr_reader :templates
|
6
|
+
@@templates = Hash.new
|
7
7
|
|
8
8
|
# Registered Admin Pages
|
9
|
-
mattr_accessor :
|
10
|
-
@@
|
11
|
-
@@
|
12
|
-
@@
|
13
|
-
@@
|
14
|
-
@@
|
15
|
-
@@
|
9
|
+
mattr_accessor :pages
|
10
|
+
@@pages = Set.new
|
11
|
+
@@pages << {name: 'Sites', path: '/admin/odania/sites'}
|
12
|
+
@@pages << {name: 'Contents', path: '/admin/odania/contents'}
|
13
|
+
@@pages << {name: 'Languages', path: '/admin/odania/languages'}
|
14
|
+
@@pages << {name: 'Menus', path: '/admin/odania/menus'}
|
15
|
+
@@pages << {name: 'Menu Items', path: '/admin/odania/menu_items'}
|
16
16
|
end
|
17
17
|
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# This is meant as a fallback/test background processor. It directly executes the action.
|
2
|
+
module DisabledBackgroundJob
|
3
|
+
def self.enqueue(background_type, opts)
|
4
|
+
puts "Directly processing: #{background_type} with options: #{opts}"
|
5
|
+
background_type.to_s.constantize.new.perform(*opts)
|
6
|
+
end
|
7
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# Administration related information
|
2
|
+
module Odania
|
3
|
+
module Protected
|
4
|
+
# Registered Templates for the protected pages
|
5
|
+
mattr_reader :templates
|
6
|
+
@@templates = Hash.new
|
7
|
+
|
8
|
+
# Registered Admin Pages
|
9
|
+
mattr_accessor :pages
|
10
|
+
@@pages = Set.new
|
11
|
+
end
|
12
|
+
end
|
File without changes
|
data/lib/odania_core/engine.rb
CHANGED
data/lib/odania_core/version.rb
CHANGED
@@ -32,9 +32,10 @@ namespace :odania do
|
|
32
32
|
language = Odania::Language.first
|
33
33
|
|
34
34
|
if language.nil?
|
35
|
-
puts
|
35
|
+
puts 'Create a language first'
|
36
36
|
elsif site.nil?
|
37
|
-
site = Odania::Site.create!(default_language_id: language.id, :name => host_name, :host => host_name, :is_default => (Odania::Site.count == 0))
|
37
|
+
site = Odania::Site.create!(default_language_id: language.id, :name => host_name, :host => host_name, :is_default => (Odania::Site.count == 0), tracking_code: '')
|
38
|
+
site.menus.create!(language_id: language.id, title: language.iso_639_1)
|
38
39
|
puts "Site #{site.host} created!"
|
39
40
|
else
|
40
41
|
puts "Site #{site.host} already exists!"
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'test_helper'
|
3
|
+
|
4
|
+
class Admin::DashboardControllerTest < ActionController::TestCase
|
5
|
+
def setup
|
6
|
+
site = create(:default_site)
|
7
|
+
@request.host = site.host
|
8
|
+
@content = create(:content, site: site)
|
9
|
+
@language = create(:language)
|
10
|
+
@menu = create(:menu_with_items, site: site, amount: 4, language: site.default_language)
|
11
|
+
end
|
12
|
+
|
13
|
+
test 'test should get index' do
|
14
|
+
get :index
|
15
|
+
assert_response :success
|
16
|
+
end
|
17
|
+
end
|
@@ -23,6 +23,7 @@ class Odania::DeliverControllerTest < ActionController::TestCase
|
|
23
23
|
Odania.setup do |config|
|
24
24
|
config.background_enqueue = 'TestBackgroundWorker.enqueue'
|
25
25
|
end
|
26
|
+
Odania.setup_enqueue
|
26
27
|
|
27
28
|
get :click, {target: URI.escape(target), id: 'myid', type: 'test-type'}
|
28
29
|
assert_response :redirect
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require 'test_helper'
|
3
|
+
|
4
|
+
class Protected::DashboardControllerTest < ActionController::TestCase
|
5
|
+
def setup
|
6
|
+
site = create(:default_site)
|
7
|
+
@request.host = site.host
|
8
|
+
@content = create(:content, site: site)
|
9
|
+
@language = create(:language)
|
10
|
+
@menu = create(:menu_with_items, site: site, amount: 4, language: site.default_language)
|
11
|
+
end
|
12
|
+
|
13
|
+
test 'test should get index' do
|
14
|
+
get :index
|
15
|
+
assert_response :success
|
16
|
+
end
|
17
|
+
end
|
@@ -14,6 +14,7 @@ Dummy::Application.configure do
|
|
14
14
|
config.action_controller.perform_caching = false
|
15
15
|
|
16
16
|
# Don't care if the mailer can't send.
|
17
|
+
config.action_mailer.default_url_options = {:host => 'www.lvh.me:3000'}
|
17
18
|
config.action_mailer.raise_delivery_errors = false
|
18
19
|
|
19
20
|
# Print deprecation notices to the Rails logger.
|
Binary file
|
data/test/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
14
|
+
ActiveRecord::Schema.define(version: 20140512161811) do
|
15
15
|
|
16
16
|
create_table "ckeditor_assets", force: true do |t|
|
17
17
|
t.string "data_file_name", null: false
|
@@ -26,8 +26,8 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
26
26
|
t.datetime "updated_at"
|
27
27
|
end
|
28
28
|
|
29
|
-
add_index "ckeditor_assets", ["assetable_type", "assetable_id"], name: "idx_ckeditor_assetable"
|
30
|
-
add_index "ckeditor_assets", ["assetable_type", "type", "assetable_id"], name: "idx_ckeditor_assetable_type"
|
29
|
+
add_index "ckeditor_assets", ["assetable_type", "assetable_id"], name: "idx_ckeditor_assetable", using: :btree
|
30
|
+
add_index "ckeditor_assets", ["assetable_type", "type", "assetable_id"], name: "idx_ckeditor_assetable_type", using: :btree
|
31
31
|
|
32
32
|
create_table "odania_contents", force: true do |t|
|
33
33
|
t.string "title", null: false
|
@@ -45,15 +45,15 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
45
45
|
t.datetime "updated_at"
|
46
46
|
end
|
47
47
|
|
48
|
-
add_index "odania_contents", ["site_id", "language_id", "is_active"], name: "index_odania_contents_on_site_id_and_language_id_and_is_active"
|
49
|
-
add_index "odania_contents", ["user_id"], name: "index_odania_contents_on_user_id"
|
48
|
+
add_index "odania_contents", ["site_id", "language_id", "is_active"], name: "index_odania_contents_on_site_id_and_language_id_and_is_active", using: :btree
|
49
|
+
add_index "odania_contents", ["user_id"], name: "index_odania_contents_on_user_id", using: :btree
|
50
50
|
|
51
51
|
create_table "odania_languages", force: true do |t|
|
52
52
|
t.string "name"
|
53
53
|
t.string "iso_639_1"
|
54
54
|
end
|
55
55
|
|
56
|
-
add_index "odania_languages", ["iso_639_1"], name: "index_odania_languages_on_iso_639_1", unique: true
|
56
|
+
add_index "odania_languages", ["iso_639_1"], name: "index_odania_languages_on_iso_639_1", unique: true, using: :btree
|
57
57
|
|
58
58
|
create_table "odania_menu_items", force: true do |t|
|
59
59
|
t.integer "menu_id"
|
@@ -66,7 +66,7 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
66
66
|
t.string "full_path"
|
67
67
|
end
|
68
68
|
|
69
|
-
add_index "odania_menu_items", ["menu_id", "full_path"], name: "index_odania_menu_items_on_menu_id_and_full_path"
|
69
|
+
add_index "odania_menu_items", ["menu_id", "full_path"], name: "index_odania_menu_items_on_menu_id_and_full_path", using: :btree
|
70
70
|
|
71
71
|
create_table "odania_menus", force: true do |t|
|
72
72
|
t.string "title"
|
@@ -78,7 +78,28 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
78
78
|
t.datetime "updated_at"
|
79
79
|
end
|
80
80
|
|
81
|
-
add_index "odania_menus", ["site_id", "language_id"], name: "index_odania_menus_on_site_id_and_language_id", unique: true
|
81
|
+
add_index "odania_menus", ["site_id", "language_id"], name: "index_odania_menus_on_site_id_and_language_id", unique: true, using: :btree
|
82
|
+
|
83
|
+
create_table "odania_omniauth_identities", force: true do |t|
|
84
|
+
t.string "email"
|
85
|
+
t.string "name"
|
86
|
+
t.string "password_digest"
|
87
|
+
t.datetime "created_at"
|
88
|
+
t.datetime "updated_at"
|
89
|
+
end
|
90
|
+
|
91
|
+
add_index "odania_omniauth_identities", ["email"], name: "omniauth_identities_email", using: :btree
|
92
|
+
|
93
|
+
create_table "odania_omniauth_user_authentications", force: true do |t|
|
94
|
+
t.integer "user_id"
|
95
|
+
t.string "provider"
|
96
|
+
t.string "uid"
|
97
|
+
t.datetime "created_at"
|
98
|
+
t.datetime "updated_at"
|
99
|
+
end
|
100
|
+
|
101
|
+
add_index "odania_omniauth_user_authentications", ["provider", "uid"], name: "omniauth_authentications_provider_uid", using: :btree
|
102
|
+
add_index "odania_omniauth_user_authentications", ["user_id", "provider"], name: "omniauth_authentications_user_id_provider", using: :btree
|
82
103
|
|
83
104
|
create_table "odania_sites", force: true do |t|
|
84
105
|
t.string "name"
|
@@ -88,12 +109,16 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
88
109
|
t.text "tracking_code"
|
89
110
|
t.text "description"
|
90
111
|
t.string "template"
|
91
|
-
t.boolean "user_signup_allowed",
|
112
|
+
t.boolean "user_signup_allowed", default: false
|
92
113
|
t.integer "default_language_id"
|
93
114
|
t.integer "redirect_to_id"
|
115
|
+
t.string "default_from_email"
|
116
|
+
t.string "notify_email_address"
|
117
|
+
t.text "imprint"
|
118
|
+
t.text "terms_and_conditions"
|
94
119
|
end
|
95
120
|
|
96
|
-
add_index "odania_sites", ["host"], name: "index_odania_sites_on_host", unique: true
|
121
|
+
add_index "odania_sites", ["host"], name: "index_odania_sites_on_host", unique: true, using: :btree
|
97
122
|
|
98
123
|
create_table "odania_tag_xrefs", force: true do |t|
|
99
124
|
t.integer "tag_id"
|
@@ -102,8 +127,8 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
102
127
|
t.string "context", limit: 128
|
103
128
|
end
|
104
129
|
|
105
|
-
add_index "odania_tag_xrefs", ["ref_type", "ref_id", "context"], name: "index_odania_tag_xrefs_on_ref_type_and_ref_id_and_context"
|
106
|
-
add_index "odania_tag_xrefs", ["tag_id", "context"], name: "index_odania_tag_xrefs_on_tag_id_and_context"
|
130
|
+
add_index "odania_tag_xrefs", ["ref_type", "ref_id", "context"], name: "index_odania_tag_xrefs_on_ref_type_and_ref_id_and_context", using: :btree
|
131
|
+
add_index "odania_tag_xrefs", ["tag_id", "context"], name: "index_odania_tag_xrefs_on_tag_id_and_context", using: :btree
|
107
132
|
|
108
133
|
create_table "odania_tags", force: true do |t|
|
109
134
|
t.string "name", null: false
|
@@ -112,18 +137,18 @@ ActiveRecord::Schema.define(version: 20140425202800) do
|
|
112
137
|
t.integer "language_id"
|
113
138
|
end
|
114
139
|
|
115
|
-
add_index "odania_tags", ["site_id", "
|
140
|
+
add_index "odania_tags", ["site_id", "name"], name: "index_odania_tags_on_site_id_and_name", unique: true, using: :btree
|
116
141
|
|
117
142
|
create_table "odania_user_roles", force: true do |t|
|
118
143
|
t.integer "user_id"
|
119
144
|
t.integer "role", default: 0
|
120
145
|
end
|
121
146
|
|
122
|
-
add_index "odania_user_roles", ["user_id"], name: "index_odania_user_roles_on_user_id"
|
147
|
+
add_index "odania_user_roles", ["user_id"], name: "index_odania_user_roles_on_user_id", using: :btree
|
123
148
|
|
124
149
|
create_table "odania_users", force: true do |t|
|
125
150
|
t.string "name"
|
126
|
-
t.string "email"
|
151
|
+
t.string "email", null: false
|
127
152
|
t.string "admin_layout"
|
128
153
|
t.string "ip"
|
129
154
|
t.datetime "last_login"
|