appyantra_admin 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +6 -0
- data/Gemfile +24 -0
- data/MIT-LICENSE +20 -0
- data/README.md +101 -0
- data/Rakefile +26 -0
- data/app/assets/images/appyantra_admin/.gitkeep +0 -0
- data/app/assets/images/appyantra_admin/breadcrumb_divider.png +0 -0
- data/app/assets/images/appyantra_admin/btn_submit.png +0 -0
- data/app/assets/images/appyantra_admin/btn_submit_2.png +0 -0
- data/app/assets/images/appyantra_admin/btn_view_site.png +0 -0
- data/app/assets/images/appyantra_admin/header_bg.png +0 -0
- data/app/assets/images/appyantra_admin/header_shadow.png +0 -0
- data/app/assets/images/appyantra_admin/icn_add_user.png +0 -0
- data/app/assets/images/appyantra_admin/icn_alert_error.png +0 -0
- data/app/assets/images/appyantra_admin/icn_alert_info.png +0 -0
- data/app/assets/images/appyantra_admin/icn_alert_success.png +0 -0
- data/app/assets/images/appyantra_admin/icn_alert_warning.png +0 -0
- data/app/assets/images/appyantra_admin/icn_audio.png +0 -0
- data/app/assets/images/appyantra_admin/icn_categories.png +0 -0
- data/app/assets/images/appyantra_admin/icn_edit.png +0 -0
- data/app/assets/images/appyantra_admin/icn_edit_article.png +0 -0
- data/app/assets/images/appyantra_admin/icn_folder.png +0 -0
- data/app/assets/images/appyantra_admin/icn_jump_back.png +0 -0
- data/app/assets/images/appyantra_admin/icn_logout.png +0 -0
- data/app/assets/images/appyantra_admin/icn_new_article.png +0 -0
- data/app/assets/images/appyantra_admin/icn_photo.png +0 -0
- data/app/assets/images/appyantra_admin/icn_profile.png +0 -0
- data/app/assets/images/appyantra_admin/icn_search.png +0 -0
- data/app/assets/images/appyantra_admin/icn_security.png +0 -0
- data/app/assets/images/appyantra_admin/icn_settings.png +0 -0
- data/app/assets/images/appyantra_admin/icn_tags.png +0 -0
- data/app/assets/images/appyantra_admin/icn_trash.png +0 -0
- data/app/assets/images/appyantra_admin/icn_user.png +0 -0
- data/app/assets/images/appyantra_admin/icn_video.png +0 -0
- data/app/assets/images/appyantra_admin/icn_view_users.png +0 -0
- data/app/assets/images/appyantra_admin/module_footer_bg.png +0 -0
- data/app/assets/images/appyantra_admin/post_message.png +0 -0
- data/app/assets/images/appyantra_admin/secondary_bar.png +0 -0
- data/app/assets/images/appyantra_admin/secondary_bar_shadow.png +0 -0
- data/app/assets/images/appyantra_admin/sidebar.png +0 -0
- data/app/assets/images/appyantra_admin/sidebar_divider.png +0 -0
- data/app/assets/images/appyantra_admin/sidebar_shadow.png +0 -0
- data/app/assets/images/appyantra_admin/table_sorter_header.png +0 -0
- data/app/assets/images/appyantra_admin/trash.png +0 -0
- data/app/assets/images/appyantra_admin/view.png +0 -0
- data/app/assets/images/website/600x300.gif +0 -0
- data/app/assets/images/website/alert-overlay.png +0 -0
- data/app/assets/images/website/bg.png +0 -0
- data/app/assets/images/website/link_bg.png +0 -0
- data/app/assets/images/website/link_border.png +0 -0
- data/app/assets/images/website/place_holder_img.png +0 -0
- data/app/assets/images/website/triangle.gif +0 -0
- data/app/assets/javascripts/appyantra_admin/admin_settings.js.coffee +3 -0
- data/app/assets/javascripts/appyantra_admin/admins/profiles.js.coffee +3 -0
- data/app/assets/javascripts/appyantra_admin/application.js +9 -0
- data/app/assets/javascripts/appyantra_admin/hideshow.js +39 -0
- data/app/assets/javascripts/appyantra_admin/home.js.coffee +3 -0
- data/app/assets/javascripts/appyantra_admin/jquery-1.5.2.min.js +16 -0
- data/app/assets/javascripts/appyantra_admin/jquery.equalHeight.js +20 -0
- data/app/assets/javascripts/appyantra_admin/jquery.tablesorter.min.js +4 -0
- data/app/assets/javascripts/appyantra_admin/managed_models.js.coffee +7 -0
- data/app/assets/javascripts/website/application.js +8 -0
- data/app/assets/javascripts/website/ie/DD_belatedPNG_0.0.8a-min.js +13 -0
- data/app/assets/javascripts/website/jquery.easing.1.3.js +205 -0
- data/app/assets/javascripts/website/jquery.roundabout-1.0.min.js +41 -0
- data/app/assets/javascripts/website/jquery.roundabout-shapes-1.1.js +150 -0
- data/app/assets/stylesheets/appyantra_admin/admin_settings.css.scss +3 -0
- data/app/assets/stylesheets/appyantra_admin/admins/profiles.css.scss +3 -0
- data/app/assets/stylesheets/appyantra_admin/application.css +7 -0
- data/app/assets/stylesheets/appyantra_admin/ie/ie.css +43 -0
- data/app/assets/stylesheets/appyantra_admin/main.css +1191 -0
- data/app/assets/stylesheets/appyantra_admin/managed_models.css.scss +3 -0
- data/app/assets/stylesheets/website/application.css +7 -0
- data/app/assets/stylesheets/website/reset.css +53 -0
- data/app/assets/stylesheets/website/styles.css +889 -0
- data/app/controllers/appyantra_admin/admin_settings_controller.rb +101 -0
- data/app/controllers/appyantra_admin/application_controller.rb +30 -0
- data/app/controllers/appyantra_admin/assets_controller.rb +91 -0
- data/app/controllers/appyantra_admin/home_controller.rb +24 -0
- data/app/controllers/appyantra_admin/pages_controller.rb +123 -0
- data/app/controllers/appyantra_admin/passwords_controller.rb +28 -0
- data/app/controllers/appyantra_admin/profiles_controller.rb +94 -0
- data/app/controllers/appyantra_admin/sessions_controller.rb +20 -0
- data/app/controllers/appyantra_admin/users/confirmations_controller.rb +15 -0
- data/app/controllers/appyantra_admin/users/passwords_controller.rb +16 -0
- data/app/controllers/appyantra_admin/users/registrations_controller.rb +16 -0
- data/app/controllers/appyantra_admin/users/sessions_controller.rb +15 -0
- data/app/controllers/appyantra_admin/users/user_paths.rb +33 -0
- data/app/controllers/appyantra_admin/users_controller.rb +92 -0
- data/app/helpers/appyantra_admin/admin_settings_helper.rb +9 -0
- data/app/helpers/appyantra_admin/application_helper.rb +73 -0
- data/app/helpers/appyantra_admin/pages_helper.rb +38 -0
- data/app/models/activity_feed.rb +5 -0
- data/app/models/activity_log_observer.rb +58 -0
- data/app/models/admin.rb +11 -0
- data/app/models/admin_setting.rb +74 -0
- data/app/models/encrypted_text.rb +20 -0
- data/app/models/link.rb +5 -0
- data/app/models/page.rb +24 -0
- data/app/models/page_keyword.rb +4 -0
- data/app/models/person.rb +14 -0
- data/app/models/short_text.rb +23 -0
- data/app/models/text.rb +11 -0
- data/app/models/user.rb +11 -0
- data/app/sweepers/appyantra_admin/pages_sweeper.rb +20 -0
- data/app/views/appyantra_admin/admin_settings/edit.html.haml +7 -0
- data/app/views/appyantra_admin/admin_settings/index.html.haml +56 -0
- data/app/views/appyantra_admin/admin_settings/mail_settings.html.haml +7 -0
- data/app/views/appyantra_admin/admin_settings/new.html.haml +7 -0
- data/app/views/appyantra_admin/assets/display.js.haml +3 -0
- data/app/views/appyantra_admin/assets/edit.html.haml +7 -0
- data/app/views/appyantra_admin/assets/new.html.haml +7 -0
- data/app/views/appyantra_admin/assets/show.html.haml +55 -0
- data/app/views/appyantra_admin/home/index.html.haml +74 -0
- data/app/views/appyantra_admin/mailer/reset_password_instructions.html.haml +6 -0
- data/app/views/appyantra_admin/mailer/unlock_instructions.html.haml +6 -0
- data/app/views/appyantra_admin/pages/_form.html.haml +40 -0
- data/app/views/appyantra_admin/pages/_page.html.haml +43 -0
- data/app/views/appyantra_admin/pages/edit.html.haml +19 -0
- data/app/views/appyantra_admin/pages/index.html.haml +46 -0
- data/app/views/appyantra_admin/pages/new.html.haml +7 -0
- data/app/views/appyantra_admin/pages/show.html.haml +1 -0
- data/app/views/appyantra_admin/passwords/edit.html.haml +15 -0
- data/app/views/appyantra_admin/passwords/new.html.haml +11 -0
- data/app/views/appyantra_admin/profiles/_admin_profile_form.html.haml +12 -0
- data/app/views/appyantra_admin/profiles/_admin_user.html.haml +11 -0
- data/app/views/appyantra_admin/profiles/edit.html.haml +18 -0
- data/app/views/appyantra_admin/profiles/index.html.haml +51 -0
- data/app/views/appyantra_admin/profiles/new.html.haml +6 -0
- data/app/views/appyantra_admin/profiles/show.html.haml +10 -0
- data/app/views/appyantra_admin/profiles/show.js.haml +3 -0
- data/app/views/appyantra_admin/sessions/new.html.haml +17 -0
- data/app/views/appyantra_admin/shared/_asset_item.html.haml +15 -0
- data/app/views/appyantra_admin/shared/_assets_list.html.haml +6 -0
- data/app/views/appyantra_admin/shared/_formtastic_semantic_form.html.haml +3 -0
- data/app/views/appyantra_admin/shared/_hash_form.html.haml +7 -0
- data/app/views/appyantra_admin/shared/_links.haml +6 -0
- data/app/views/appyantra_admin/shared/types/_encrypted_text.html.haml +1 -0
- data/app/views/appyantra_admin/shared/types/_link.html.haml +1 -0
- data/app/views/appyantra_admin/shared/types/_short_text.html.haml +1 -0
- data/app/views/appyantra_admin/shared/types/_text.html.haml +1 -0
- data/app/views/appyantra_admin/unlocks/new.html.haml +10 -0
- data/app/views/appyantra_admin/users/_form.html.haml +12 -0
- data/app/views/appyantra_admin/users/_user.html.haml +11 -0
- data/app/views/appyantra_admin/users/edit.html.haml +18 -0
- data/app/views/appyantra_admin/users/index.html.haml +54 -0
- data/app/views/appyantra_admin/users/new.html.haml +6 -0
- data/app/views/appyantra_admin/users/show.html.haml +10 -0
- data/app/views/appyantra_admin/users/show.js.haml +3 -0
- data/app/views/layouts/application.html.haml +98 -0
- data/app/views/layouts/appyantra_admin/application.html.haml +106 -0
- data/app/views/layouts/appyantra_admin/landing_page.html.haml +30 -0
- data/app/views/layouts/appyantra_admin/website.html.haml +96 -0
- data/app/views/pages/_google_analytics.html.haml +11 -0
- data/app/views/pages/_meta_tags.html.haml +2 -0
- data/app/views/pages/page.html.haml +4 -0
- data/app/views/users/confirmations/new.html.haml +26 -0
- data/app/views/users/mailer/confirmation_instructions.html.haml +4 -0
- data/app/views/users/mailer/reset_password_instructions.html.haml +6 -0
- data/app/views/users/mailer/unlock_instructions.html.haml +5 -0
- data/app/views/users/passwords/edit.html.haml +31 -0
- data/app/views/users/passwords/new.html.haml +22 -0
- data/app/views/users/registrations/edit.html.haml +42 -0
- data/app/views/users/registrations/new.html.haml +35 -0
- data/app/views/users/sessions/new.html.haml +26 -0
- data/app/views/website/index.html.haml +50 -0
- data/appyantra_admin.gemspec +24 -0
- data/config/initializers/devise.rb +209 -0
- data/config/initializers/formtastic.rb +82 -0
- data/config/initializers/mail_settings.rb +11 -0
- data/config/initializers/secret_token.rb +7 -0
- data/config/initializers/session_store.rb +8 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/routes.rb +71 -0
- data/db/migrate/20120123093508_create_links.rb +15 -0
- data/db/migrate/20120123093916_create_texts.rb +10 -0
- data/db/migrate/20120123094124_create_admin_settings.rb +12 -0
- data/db/migrate/20120124202814_devise_create_admins.rb +25 -0
- data/db/migrate/20120125093505_add_name_to_admins.rb +6 -0
- data/db/migrate/20120217075442_devise_create_users.rb +25 -0
- data/db/migrate/20120217090326_add_name_to_users.rb +6 -0
- data/db/migrate/20120224210009_create_pages.rb +19 -0
- data/db/migrate/20120302084134_add_group_to_admin_settings.rb +5 -0
- data/db/migrate/20120309075847_create_encrypted_texts.rb +10 -0
- data/db/migrate/20120309075904_create_short_texts.rb +10 -0
- data/db/migrate/20120312234850_add_seo_to_pages.rb +5 -0
- data/db/migrate/20120312235235_create_keywords.rb +10 -0
- data/db/migrate/20120314063338_create_activity_feeds.rb +15 -0
- data/lib/appyantra_admin.rb +49 -0
- data/lib/appyantra_admin/crypto.rb +43 -0
- data/lib/appyantra_admin/engine.rb +17 -0
- data/lib/appyantra_admin/utils.rb +27 -0
- data/lib/appyantra_admin/version.rb +3 -0
- data/lib/generators/appyantra_admin/install/USAGE +8 -0
- data/lib/generators/appyantra_admin/install/install_generator.rb +34 -0
- data/lib/generators/appyantra_admin/install/templates/appyantra_admin.rb +28 -0
- data/lib/tasks/appyantra_admin_tasks.rake +47 -0
- data/script/rails +6 -0
- data/test/dummy/.gitignore +36 -0
- data/test/dummy/.rspec +1 -0
- data/test/dummy/Gemfile +43 -0
- data/test/dummy/Guardfile +19 -0
- data/test/dummy/README +261 -0
- data/test/dummy/Rakefile +8 -0
- data/test/dummy/app/assets/javascripts/application.js +9 -0
- data/test/dummy/app/assets/stylesheets/application.css +7 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/product.rb +2 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +48 -0
- data/test/dummy/config/boot.rb +6 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +30 -0
- data/test/dummy/config/environments/production.rb +60 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +10 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/db/migrate/20120213070715_create_products.rb +11 -0
- data/test/dummy/db/seeds.rb +7 -0
- data/test/dummy/doc/README_FOR_APP +2 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +26 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/public/robots.txt +5 -0
- data/test/dummy/script/rails +6 -0
- data/test/dummy/spec/controllers/appyantra_admin/admin_settings_controller_spec.rb +56 -0
- data/test/dummy/spec/controllers/appyantra_admin/assets_controller_spec.rb +64 -0
- data/test/dummy/spec/controllers/appyantra_admin/home_controller_spec.rb +28 -0
- data/test/dummy/spec/controllers/appyantra_admin/passwords_controller_spec.rb +40 -0
- data/test/dummy/spec/controllers/appyantra_admin/profiles_controller_spec.rb +88 -0
- data/test/dummy/spec/controllers/appyantra_admin/sessions_controller_spec.rb +32 -0
- data/test/dummy/spec/factories.rb +55 -0
- data/test/dummy/spec/factories/products.rb +9 -0
- data/test/dummy/spec/helpers/appyantra_admin/application_helper_spec.rb +31 -0
- data/test/dummy/spec/models/admin_setting_spec.rb +22 -0
- data/test/dummy/spec/models/admin_spec.rb +10 -0
- data/test/dummy/spec/models/encrypted_text_spec.rb +13 -0
- data/test/dummy/spec/models/link_spec.rb +5 -0
- data/test/dummy/spec/models/text_spec.rb +5 -0
- data/test/dummy/spec/requests/appyantra_admin/admin_user_auth_spec.rb +54 -0
- data/test/dummy/spec/requests/appyantra_admin/dashboard_spec.rb +34 -0
- data/test/dummy/spec/requests/appyantra_admin/mailer_spec.rb +72 -0
- data/test/dummy/spec/requests/appyantra_admin/manage_pages_spec.rb +209 -0
- data/test/dummy/spec/requests/appyantra_admin/manage_website_users_spec.rb +97 -0
- data/test/dummy/spec/requests/appyantra_admin/website_users_spec.rb +25 -0
- data/test/dummy/spec/routing/sessions_routing_spec.rb +11 -0
- data/test/dummy/spec/spec_helper.rb +51 -0
- data/test/dummy/spec/support/capybara.rb +7 -0
- data/test/dummy/spec/support/controller_macros.rb +8 -0
- data/test/dummy/spec/support/integration_macros.rb +40 -0
- data/test/dummy/spec/support/load_routes.rb +5 -0
- data/test/dummy/spec/support/matchers/user_matcher.rb +13 -0
- metadata +428 -0
@@ -0,0 +1,42 @@
|
|
1
|
+
.grid_8
|
2
|
+
.form_box
|
3
|
+
= form_for(resource, :as => resource_name, :url => main_app.user_registration_path, :html => { :method => :put }) do |f|
|
4
|
+
%h3 Edit #{resource_name.to_s.humanize}
|
5
|
+
.errors
|
6
|
+
= devise_error_messages!
|
7
|
+
.hr.dotted.clearfix
|
8
|
+
%ul
|
9
|
+
%li.clearfix
|
10
|
+
= f.label :email
|
11
|
+
= f.email_field :email
|
12
|
+
%li.clearfix
|
13
|
+
= f.label :first_name
|
14
|
+
= f.text_field :first_name
|
15
|
+
%li.clearfix
|
16
|
+
= f.label :last_name
|
17
|
+
= f.text_field :last_name
|
18
|
+
%li.clearfix
|
19
|
+
= f.label :password
|
20
|
+
%i (leave blank if you don't want to change it)
|
21
|
+
= f.password_field :password
|
22
|
+
%li.clearfix
|
23
|
+
= f.label :password_confirmation
|
24
|
+
= f.password_field :password_confirmation
|
25
|
+
%li.clearfix
|
26
|
+
= f.label :current_password
|
27
|
+
%i (we need your current password to confirm your changes)
|
28
|
+
= f.password_field :current_password
|
29
|
+
%li.clearfix
|
30
|
+
#button
|
31
|
+
= f.submit "Update", id: 'send_message', class: 'button'
|
32
|
+
.clear
|
33
|
+
.clear_gap
|
34
|
+
.grid_8
|
35
|
+
%h3 Cancel my account
|
36
|
+
.hr.dotted.clearfix
|
37
|
+
%p
|
38
|
+
Want to cancel your account? #{link_to "Cancel my account", main_app.user_registration_path, :confirm => "Are you sure?", :method => :delete}.
|
39
|
+
= link_to "Back", :back
|
40
|
+
.clear_gap
|
41
|
+
|
42
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
.grid_8
|
2
|
+
.form_box
|
3
|
+
= form_for(resource, :as => resource_name, :url => main_app.user_registration_path, :html => { :method => :post }) do |f|
|
4
|
+
%h3 Sign up
|
5
|
+
.errors
|
6
|
+
= devise_error_messages!
|
7
|
+
.hr.dotted.clearfix
|
8
|
+
%ul
|
9
|
+
%li.clearfix
|
10
|
+
= f.label :email
|
11
|
+
= f.email_field :email
|
12
|
+
%li.clearfix
|
13
|
+
= f.label :first_name
|
14
|
+
= f.text_field :first_name
|
15
|
+
%li.clearfix
|
16
|
+
= f.label :last_name
|
17
|
+
= f.text_field :last_name
|
18
|
+
%li.clearfix
|
19
|
+
= f.label :password
|
20
|
+
= f.password_field :password
|
21
|
+
%li.clearfix
|
22
|
+
= f.label :password_confirmation
|
23
|
+
= f.password_field :password_confirmation
|
24
|
+
%li.clearfix
|
25
|
+
#button
|
26
|
+
= f.submit "Sign up", id: 'send_message', class: 'button'
|
27
|
+
.clear
|
28
|
+
.clear
|
29
|
+
.links
|
30
|
+
= link_to "Sign in", main_app.new_user_session_path
|
31
|
+
|
|
32
|
+
= link_to "Sign up", main_app.new_user_registration_path
|
33
|
+
|
|
34
|
+
= link_to "Forgot your password?", main_app.new_user_password_path
|
35
|
+
.clear_gap
|
@@ -0,0 +1,26 @@
|
|
1
|
+
.grid_8
|
2
|
+
.form_box
|
3
|
+
= form_for(resource, :as => resource_name, :url => main_app.user_session_path, :html => { :method => :post }) do |f|
|
4
|
+
%h3 Sign in
|
5
|
+
.errors
|
6
|
+
= devise_error_messages!
|
7
|
+
.hr.dotted.clearfix
|
8
|
+
%ul
|
9
|
+
%li.clearfix
|
10
|
+
= f.label :email
|
11
|
+
= f.email_field :email
|
12
|
+
%li.clearfix
|
13
|
+
= f.label :password
|
14
|
+
= f.password_field :password
|
15
|
+
%li.clearfix
|
16
|
+
#button
|
17
|
+
= f.submit "Sign in", id: 'send_message', class: 'button'
|
18
|
+
.clear
|
19
|
+
.clear
|
20
|
+
.links
|
21
|
+
= link_to "Sign in", main_app.new_user_session_path
|
22
|
+
|
|
23
|
+
= link_to "Sign up", main_app.new_user_registration_path
|
24
|
+
|
|
25
|
+
= link_to "Forgot your password?", main_app.new_user_password_path
|
26
|
+
.clear_gap
|
@@ -0,0 +1,50 @@
|
|
1
|
+
/ Featured Image Slider
|
2
|
+
#featured.clearfix.grid_12
|
3
|
+
%ul
|
4
|
+
%li
|
5
|
+
%a{:href => "#"}
|
6
|
+
%span Read about this project
|
7
|
+
%img{:alt => "", :src => "/assets/website/600x300.gif"}/
|
8
|
+
%li
|
9
|
+
%a{:href => "#"}
|
10
|
+
%span Read about this project
|
11
|
+
%img{:alt => "", :src => "/assets/website/600x300.gif"}/
|
12
|
+
%li
|
13
|
+
%a{:href => "#"}
|
14
|
+
%span Read about this project
|
15
|
+
%img{:alt => "", :src => "/assets/website/600x300.gif"}/
|
16
|
+
%li
|
17
|
+
%a{:href => "#"}
|
18
|
+
%span Read about this project
|
19
|
+
%img{:alt => "", :src => "/assets/website/600x300.gif"}/
|
20
|
+
%li
|
21
|
+
%a{:href => "#"}
|
22
|
+
%span Read about this project
|
23
|
+
%img{:alt => "", :src => "/assets/website/600x300.gif"}/
|
24
|
+
.hr.grid_12.clearfix
|
25
|
+
/ Caption Line
|
26
|
+
%h2.grid_12.caption.clearfix
|
27
|
+
Welcome! This website is managed using
|
28
|
+
%span AppYantra Admin
|
29
|
+
.hr.grid_12.clearfix.quicknavhr
|
30
|
+
#quicknav.grid_12
|
31
|
+
%a.quicknavgrid_3.quicknav.alpha{:href => "#"}
|
32
|
+
%h4.title Recent Work
|
33
|
+
%p Cras vestibulum lorem et dui mollis sed posuere leo semper.
|
34
|
+
%p{:style => "text-align:center;"}
|
35
|
+
%img{:alt => "", :src => "/assets/website/place_holder_img.png"}/
|
36
|
+
%a.quicknavgrid_3.quicknav{:href => "#"}
|
37
|
+
%h4.title Learn about us
|
38
|
+
%p Cras vestibulum lorem et dui mollis sed posuere leo semper.
|
39
|
+
%p{:style => "text-align:center;"}
|
40
|
+
%img{:alt => "", :src => "/assets/website/place_holder_img.png"}/
|
41
|
+
%a.quicknavgrid_3.quicknav{:href => "#"}
|
42
|
+
%h4.title Read our blog
|
43
|
+
%p Cras vestibulum lorem et dui mollis sed posuere leo semper.
|
44
|
+
%p{:style => "text-align:center;"}
|
45
|
+
%img{:alt => "", :src => "/assets/website/place_holder_img.png"}/
|
46
|
+
%a.quicknavgrid_3.quicknav{:href => "#"}
|
47
|
+
%h4.title Follow on Twitter
|
48
|
+
%p Cras vestibulum lorem et dui mollis sed posuere leo semper.
|
49
|
+
%p{:style => "text-align:center;"}
|
50
|
+
%img{:alt => "", :src => "/assets/website/place_holder_img.png"}/
|
@@ -0,0 +1,24 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
|
3
|
+
# Maintain your gem's version:
|
4
|
+
require "appyantra_admin/version"
|
5
|
+
|
6
|
+
# Describe your gem and declare its dependencies:
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "appyantra_admin"
|
9
|
+
s.version = AppyantraAdmin::VERSION
|
10
|
+
s.authors = ["Govind Naroji"]
|
11
|
+
s.email = ["govind.naroji@gmail.com"]
|
12
|
+
s.homepage = "http://github.com/appyantra/appyantra_admin"
|
13
|
+
s.summary = %Q{Rails 3 engine for managing an app's assets, users, pages, blog, SEO and Social Media Integration }
|
14
|
+
s.description = %Q{Rails 3 engine for managing an app's assets, users, pages, blog, SEO and Social Media Integration }
|
15
|
+
|
16
|
+
s.files = `git ls-files`.split("\n")
|
17
|
+
s.test_files = `git ls-files -- test/**/*`.split("\n")
|
18
|
+
|
19
|
+
s.add_dependency "rails", "~> 3.1.3"
|
20
|
+
s.add_dependency 'warden'
|
21
|
+
s.add_dependency 'haml-rails'
|
22
|
+
s.add_dependency 'devise', '~>1.5.3'
|
23
|
+
s.add_dependency 'formtastic', '~> 2.0.2'
|
24
|
+
end
|
@@ -0,0 +1,209 @@
|
|
1
|
+
# Use this hook to configure devise mailer, warden hooks and so forth.
|
2
|
+
# Many of these configuration options can be set straight in your model.
|
3
|
+
Devise.setup do |config|
|
4
|
+
# ==> Mailer Configuration
|
5
|
+
# Configure the e-mail address which will be shown in Devise::Mailer,
|
6
|
+
# note that it will be overwritten if you use your own mailer class with default "from" parameter.
|
7
|
+
# config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
|
8
|
+
|
9
|
+
# Configure the class responsible to send e-mails.
|
10
|
+
# config.mailer = "Devise::Mailer"
|
11
|
+
|
12
|
+
# ==> ORM configuration
|
13
|
+
# Load and configure the ORM. Supports :active_record (default) and
|
14
|
+
# :mongoid (bson_ext recommended) by default. Other ORMs may be
|
15
|
+
# available as additional gems.
|
16
|
+
require 'devise/orm/active_record'
|
17
|
+
|
18
|
+
# ==> Configuration for any authentication mechanism
|
19
|
+
# Configure which keys are used when authenticating a user. The default is
|
20
|
+
# just :email. You can configure it to use [:username, :subdomain], so for
|
21
|
+
# authenticating a user, both parameters are required. Remember that those
|
22
|
+
# parameters are used only when authenticating and not when retrieving from
|
23
|
+
# session. If you need permissions, you should implement that in a before filter.
|
24
|
+
# You can also supply a hash where the value is a boolean determining whether
|
25
|
+
# or not authentication should be aborted when the value is not present.
|
26
|
+
# config.authentication_keys = [ :email ]
|
27
|
+
|
28
|
+
# Configure parameters from the request object used for authentication. Each entry
|
29
|
+
# given should be a request method and it will automatically be passed to the
|
30
|
+
# find_for_authentication method and considered in your model lookup. For instance,
|
31
|
+
# if you set :request_keys to [:subdomain], :subdomain will be used on authentication.
|
32
|
+
# The same considerations mentioned for authentication_keys also apply to request_keys.
|
33
|
+
# config.request_keys = []
|
34
|
+
|
35
|
+
# Configure which authentication keys should be case-insensitive.
|
36
|
+
# These keys will be downcased upon creating or modifying a user and when used
|
37
|
+
# to authenticate or find a user. Default is :email.
|
38
|
+
config.case_insensitive_keys = [ :email ]
|
39
|
+
|
40
|
+
# Configure which authentication keys should have whitespace stripped.
|
41
|
+
# These keys will have whitespace before and after removed upon creating or
|
42
|
+
# modifying a user and when used to authenticate or find a user. Default is :email.
|
43
|
+
config.strip_whitespace_keys = [ :email ]
|
44
|
+
|
45
|
+
# Tell if authentication through request.params is enabled. True by default.
|
46
|
+
# config.params_authenticatable = true
|
47
|
+
|
48
|
+
# Tell if authentication through HTTP Basic Auth is enabled. False by default.
|
49
|
+
# config.http_authenticatable = false
|
50
|
+
|
51
|
+
# If http headers should be returned for AJAX requests. True by default.
|
52
|
+
# config.http_authenticatable_on_xhr = true
|
53
|
+
|
54
|
+
# The realm used in Http Basic Authentication. "Application" by default.
|
55
|
+
# config.http_authentication_realm = "Application"
|
56
|
+
|
57
|
+
# It will change confirmation, password recovery and other workflows
|
58
|
+
# to behave the same regardless if the e-mail provided was right or wrong.
|
59
|
+
# Does not affect registerable.
|
60
|
+
# config.paranoid = true
|
61
|
+
|
62
|
+
# ==> Configuration for :database_authenticatable
|
63
|
+
# For bcrypt, this is the cost for hashing the password and defaults to 10. If
|
64
|
+
# using other encryptors, it sets how many times you want the password re-encrypted.
|
65
|
+
#
|
66
|
+
# Limiting the stretches to just one in testing will increase the performance of
|
67
|
+
# your test suite dramatically. However, it is STRONGLY RECOMMENDED to not use
|
68
|
+
# a value less than 10 in other environments.
|
69
|
+
config.stretches = Rails.env.test? ? 1 : 10
|
70
|
+
|
71
|
+
# Setup a pepper to generate the encrypted password.
|
72
|
+
# config.pepper = "be049a64dc7ca1e166d519832f6f9251a713384c273133bf275dd1e55e4f925177e07588b5bac3f7229b0f5bd32e2f7700257774bf762c28119ddc877ba32008"
|
73
|
+
|
74
|
+
# ==> Configuration for :confirmable
|
75
|
+
# A period that the user is allowed to access the website even without
|
76
|
+
# confirming his account. For instance, if set to 2.days, the user will be
|
77
|
+
# able to access the website for two days without confirming his account,
|
78
|
+
# access will be blocked just in the third day. Default is 0.days, meaning
|
79
|
+
# the user cannot access the website without confirming his account.
|
80
|
+
# config.confirm_within = 2.days
|
81
|
+
|
82
|
+
# Defines which key will be used when confirming an account
|
83
|
+
# config.confirmation_keys = [ :email ]
|
84
|
+
|
85
|
+
# ==> Configuration for :rememberable
|
86
|
+
# The time the user will be remembered without asking for credentials again.
|
87
|
+
# config.remember_for = 2.weeks
|
88
|
+
|
89
|
+
# If true, a valid remember token can be re-used between multiple browsers.
|
90
|
+
# config.remember_across_browsers = true
|
91
|
+
|
92
|
+
# If true, extends the user's remember period when remembered via cookie.
|
93
|
+
# config.extend_remember_period = false
|
94
|
+
|
95
|
+
# If true, uses the password salt as remember token. This should be turned
|
96
|
+
# to false if you are not using database authenticatable.
|
97
|
+
config.use_salt_as_remember_token = true
|
98
|
+
|
99
|
+
# Options to be passed to the created cookie. For instance, you can set
|
100
|
+
# :secure => true in order to force SSL only cookies.
|
101
|
+
# config.cookie_options = {}
|
102
|
+
|
103
|
+
# ==> Configuration for :validatable
|
104
|
+
# Range for password length. Default is 6..128.
|
105
|
+
# config.password_length = 6..128
|
106
|
+
|
107
|
+
# Email regex used to validate email formats. It simply asserts that
|
108
|
+
# an one (and only one) @ exists in the given string. This is mainly
|
109
|
+
# to give user feedback and not to assert the e-mail validity.
|
110
|
+
# config.email_regexp = /\A[^@]+@[^@]+\z/
|
111
|
+
|
112
|
+
# ==> Configuration for :timeoutable
|
113
|
+
# The time you want to timeout the user session without activity. After this
|
114
|
+
# time the user will be asked for credentials again. Default is 30 minutes.
|
115
|
+
# config.timeout_in = 30.minutes
|
116
|
+
|
117
|
+
# ==> Configuration for :lockable
|
118
|
+
# Defines which strategy will be used to lock an account.
|
119
|
+
# :failed_attempts = Locks an account after a number of failed attempts to sign in.
|
120
|
+
# :none = No lock strategy. You should handle locking by yourself.
|
121
|
+
# config.lock_strategy = :failed_attempts
|
122
|
+
|
123
|
+
# Defines which key will be used when locking and unlocking an account
|
124
|
+
# config.unlock_keys = [ :email ]
|
125
|
+
|
126
|
+
# Defines which strategy will be used to unlock an account.
|
127
|
+
# :email = Sends an unlock link to the user email
|
128
|
+
# :time = Re-enables login after a certain amount of time (see :unlock_in below)
|
129
|
+
# :both = Enables both strategies
|
130
|
+
# :none = No unlock strategy. You should handle unlocking by yourself.
|
131
|
+
# config.unlock_strategy = :both
|
132
|
+
|
133
|
+
# Number of authentication tries before locking an account if lock_strategy
|
134
|
+
# is failed attempts.
|
135
|
+
# config.maximum_attempts = 20
|
136
|
+
|
137
|
+
# Time interval to unlock the account if :time is enabled as unlock_strategy.
|
138
|
+
# config.unlock_in = 1.hour
|
139
|
+
|
140
|
+
# ==> Configuration for :recoverable
|
141
|
+
#
|
142
|
+
# Defines which key will be used when recovering the password for an account
|
143
|
+
# config.reset_password_keys = [ :email ]
|
144
|
+
|
145
|
+
# Time interval you can reset your password with a reset password key.
|
146
|
+
# Don't put a too small interval or your users won't have the time to
|
147
|
+
# change their passwords.
|
148
|
+
config.reset_password_within = 2.hours
|
149
|
+
|
150
|
+
# ==> Configuration for :encryptable
|
151
|
+
# Allow you to use another encryption algorithm besides bcrypt (default). You can use
|
152
|
+
# :sha1, :sha512 or encryptors from others authentication tools as :clearance_sha1,
|
153
|
+
# :authlogic_sha512 (then you should set stretches above to 20 for default behavior)
|
154
|
+
# and :restful_authentication_sha1 (then you should set stretches to 10, and copy
|
155
|
+
# REST_AUTH_SITE_KEY to pepper)
|
156
|
+
# config.encryptor = :sha512
|
157
|
+
|
158
|
+
# ==> Configuration for :token_authenticatable
|
159
|
+
# Defines name of the authentication token params key
|
160
|
+
# config.token_authentication_key = :auth_token
|
161
|
+
|
162
|
+
# If true, authentication through token does not store user in session and needs
|
163
|
+
# to be supplied on each request. Useful if you are using the token as API token.
|
164
|
+
# config.stateless_token = false
|
165
|
+
|
166
|
+
# ==> Scopes configuration
|
167
|
+
# Turn scoped views on. Before rendering "sessions/new", it will first check for
|
168
|
+
# "users/sessions/new". It's turned off by default because it's slower if you
|
169
|
+
# are using only default views.
|
170
|
+
config.scoped_views = true
|
171
|
+
|
172
|
+
# Configure the default scope given to Warden. By default it's the first
|
173
|
+
# devise role declared in your routes (usually :user).
|
174
|
+
# config.default_scope = :user
|
175
|
+
|
176
|
+
# Configure sign_out behavior.
|
177
|
+
# Sign_out action can be scoped (i.e. /users/sign_out affects only :user scope).
|
178
|
+
# The default is true, which means any logout action will sign out all active scopes.
|
179
|
+
# config.sign_out_all_scopes = true
|
180
|
+
|
181
|
+
# ==> Navigation configuration
|
182
|
+
# Lists the formats that should be treated as navigational. Formats like
|
183
|
+
# :html, should redirect to the sign in page when the user does not have
|
184
|
+
# access, but formats like :xml or :json, should return 401.
|
185
|
+
#
|
186
|
+
# If you have any extra navigational formats, like :iphone or :mobile, you
|
187
|
+
# should add them to the navigational formats lists.
|
188
|
+
#
|
189
|
+
# The :"*/*" and "*/*" formats below is required to match Internet
|
190
|
+
# Explorer requests.
|
191
|
+
# config.navigational_formats = [:"*/*", "*/*", :html]
|
192
|
+
|
193
|
+
# The default HTTP method used to sign out a resource. Default is :delete.
|
194
|
+
config.sign_out_via = :delete
|
195
|
+
|
196
|
+
# ==> OmniAuth
|
197
|
+
# Add a new OmniAuth provider. Check the wiki for more information on setting
|
198
|
+
# up on your models and hooks.
|
199
|
+
# config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo'
|
200
|
+
|
201
|
+
# ==> Warden configuration
|
202
|
+
# If you want to use other strategies, that are not supported by Devise, or
|
203
|
+
# change the failure app, you can configure them inside the config.warden block.
|
204
|
+
#
|
205
|
+
# config.warden do |manager|
|
206
|
+
# manager.intercept_401 = false
|
207
|
+
# manager.default_strategies(:scope => :user).unshift :some_external_strategy
|
208
|
+
# end
|
209
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# --------------------------------------------------------------------------------------------------
|
4
|
+
# Please note: If you're subclassing Formtastic::FormBuilder, Formtastic uses
|
5
|
+
# class_attribute for these configuration attributes instead of the deprecated
|
6
|
+
# class_inheritable_attribute. The behaviour is slightly different with subclasses (especially
|
7
|
+
# around attributes with Hash or Array) values, so make sure you understand what's happening.
|
8
|
+
# See the documentation for class_attribute in ActiveSupport for more information.
|
9
|
+
# --------------------------------------------------------------------------------------------------
|
10
|
+
|
11
|
+
# Set the default text field size when input is a string. Default is nil.
|
12
|
+
# Formtastic::FormBuilder.default_text_field_size = 50
|
13
|
+
|
14
|
+
# Set the default text area height when input is a text. Default is 20.
|
15
|
+
# Formtastic::FormBuilder.default_text_area_height = 5
|
16
|
+
|
17
|
+
# Set the default text area width when input is a text. Default is nil.
|
18
|
+
# Formtastic::FormBuilder.default_text_area_width = 50
|
19
|
+
|
20
|
+
# Should all fields be considered "required" by default?
|
21
|
+
# Defaults to true.
|
22
|
+
# Formtastic::FormBuilder.all_fields_required_by_default = true
|
23
|
+
|
24
|
+
# Should select fields have a blank option/prompt by default?
|
25
|
+
# Defaults to true.
|
26
|
+
# Formtastic::FormBuilder.include_blank_for_select_by_default = true
|
27
|
+
|
28
|
+
# Set the string that will be appended to the labels/fieldsets which are required
|
29
|
+
# It accepts string or procs and the default is a localized version of
|
30
|
+
# '<abbr title="required">*</abbr>'. In other words, if you configure formtastic.required
|
31
|
+
# in your locale, it will replace the abbr title properly. But if you don't want to use
|
32
|
+
# abbr tag, you can simply give a string as below
|
33
|
+
# Formtastic::FormBuilder.required_string = "(required)"
|
34
|
+
|
35
|
+
# Set the string that will be appended to the labels/fieldsets which are optional
|
36
|
+
# Defaults to an empty string ("") and also accepts procs (see required_string above)
|
37
|
+
# Formtastic::FormBuilder.optional_string = "(optional)"
|
38
|
+
|
39
|
+
# Set the way inline errors will be displayed.
|
40
|
+
# Defaults to :sentence, valid options are :sentence, :list, :first and :none
|
41
|
+
# Formtastic::FormBuilder.inline_errors = :sentence
|
42
|
+
# Formtastic uses the following classes as default for hints, inline_errors and error list
|
43
|
+
|
44
|
+
# If you override the class here, please ensure to override it in your stylesheets as well
|
45
|
+
# Formtastic::FormBuilder.default_hint_class = "inline-hints"
|
46
|
+
# Formtastic::FormBuilder.default_inline_error_class = "inline-errors"
|
47
|
+
# Formtastic::FormBuilder.default_error_list_class = "errors"
|
48
|
+
|
49
|
+
# Set the method to call on label text to transform or format it for human-friendly
|
50
|
+
# reading when formtastic is used without object. Defaults to :humanize.
|
51
|
+
# Formtastic::FormBuilder.label_str_method = :humanize
|
52
|
+
|
53
|
+
# Set the array of methods to try calling on parent objects in :select and :radio inputs
|
54
|
+
# for the text inside each @<option>@ tag or alongside each radio @<input>@. The first method
|
55
|
+
# that is found on the object will be used.
|
56
|
+
# Defaults to ["to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
|
57
|
+
# Formtastic::FormBuilder.collection_label_methods = [
|
58
|
+
# "to_label", "display_name", "full_name", "name", "title", "username", "login", "value", "to_s"]
|
59
|
+
|
60
|
+
# Additionally, you can customize the order for specific types of inputs.
|
61
|
+
# This is configured on a type basis and if a type is not found it will
|
62
|
+
# fall back to the default order as defined by #inline_order
|
63
|
+
# Formtastic::FormBuilder.custom_inline_order[:checkbox] = [:errors, :hints, :input]
|
64
|
+
# Formtastic::FormBuilder.custom_inline_order[:select] = [:hints, :input, :errors]
|
65
|
+
|
66
|
+
# Specifies if labels/hints for input fields automatically be looked up using I18n.
|
67
|
+
# Default value: true. Overridden for specific fields by setting value to true,
|
68
|
+
# i.e. :label => true, or :hint => true (or opposite depending on initialized value)
|
69
|
+
# Formtastic::FormBuilder.i18n_lookups_by_default = false
|
70
|
+
|
71
|
+
# You can add custom inputs or override parts of Formtastic by subclassing Formtastic::FormBuilder and
|
72
|
+
# specifying that class here. Defaults to Formtastic::FormBuilder.
|
73
|
+
# Formtastic::Helpers::FormHelper.builder = MyCustomBuilder
|
74
|
+
|
75
|
+
# You can opt-in to Formtastic's use of the HTML5 `required` attribute on `<input>`, `<select>`
|
76
|
+
# and `<textarea>` tags by setting this to false (defaults to true).
|
77
|
+
# Formtastic::FormBuilder.use_required_attribute = true
|
78
|
+
|
79
|
+
# You can opt-in to new HTML5 browser validations (for things like email and url inputs) by setting
|
80
|
+
# this to false. Doing so will add a `novalidate` attribute to the `<form>` tag.
|
81
|
+
# See http://diveintohtml5.org/forms.html#validation for more info.
|
82
|
+
# Formtastic::FormBuilder.perform_browser_validations = true
|