sbidu_generators 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +81 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/sbidu_generators_manifest.js +2 -0
  6. data/app/assets/javascripts/sbidu_generators/application.js +13 -0
  7. data/app/assets/stylesheets/sbidu_generators/application.css +15 -0
  8. data/app/controllers/sbidu_generators/application_controller.rb +5 -0
  9. data/app/helpers/sbidu_generators/application_helper.rb +4 -0
  10. data/app/jobs/sbidu_generators/application_job.rb +4 -0
  11. data/app/mailers/sbidu_generators/application_mailer.rb +6 -0
  12. data/app/models/sbidu_generators/application_record.rb +5 -0
  13. data/app/views/layouts/sbidu_generators/application.html.erb +14 -0
  14. data/config/routes.rb +2 -0
  15. data/lib/generators/sbidu_generators/setup_generator.rb +99 -0
  16. data/lib/generators/sbidu_generators/setup_templates/Dockerfile +40 -0
  17. data/lib/generators/sbidu_generators/setup_templates/Gemfile +103 -0
  18. data/lib/generators/sbidu_generators/setup_templates/README.md +165 -0
  19. data/lib/generators/sbidu_generators/setup_templates/app/assets/javascripts/starter_kit.js +16 -0
  20. data/lib/generators/sbidu_generators/setup_templates/app/assets/javascripts/starter_kit/bootstrap.min.js +7 -0
  21. data/lib/generators/sbidu_generators/setup_templates/app/assets/javascripts/starter_kit/holder.min.js +13 -0
  22. data/lib/generators/sbidu_generators/setup_templates/app/assets/javascripts/starter_kit/jquery-3.2.1.slim.min.js +4 -0
  23. data/lib/generators/sbidu_generators/setup_templates/app/assets/javascripts/starter_kit/popper.min.js +4 -0
  24. data/lib/generators/sbidu_generators/setup_templates/app/assets/javascripts/website.js +14 -0
  25. data/lib/generators/sbidu_generators/setup_templates/app/assets/stylesheets/starter_kit.css +15 -0
  26. data/lib/generators/sbidu_generators/setup_templates/app/assets/stylesheets/starter_kit/banner.css +36 -0
  27. data/lib/generators/sbidu_generators/setup_templates/app/assets/stylesheets/starter_kit/bootstrap.min.css +7 -0
  28. data/lib/generators/sbidu_generators/setup_templates/app/assets/stylesheets/starter_kit/carousel.css +91 -0
  29. data/lib/generators/sbidu_generators/setup_templates/app/assets/stylesheets/starter_kit/general.css +50 -0
  30. data/lib/generators/sbidu_generators/setup_templates/app/assets/stylesheets/website.css +15 -0
  31. data/lib/generators/sbidu_generators/setup_templates/app/controllers/application_controller.rb +20 -0
  32. data/lib/generators/sbidu_generators/setup_templates/app/controllers/dashboard_controller.rb +24 -0
  33. data/lib/generators/sbidu_generators/setup_templates/app/controllers/landing_controller.rb +12 -0
  34. data/lib/generators/sbidu_generators/setup_templates/app/controllers/website/base_controller.rb +19 -0
  35. data/lib/generators/sbidu_generators/setup_templates/app/controllers/website/home_controller.rb +14 -0
  36. data/lib/generators/sbidu_generators/setup_templates/app/views/dashboard/index.html.erb +4 -0
  37. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/common/_disqus.html.erb +21 -0
  38. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/kuppayam/_footer.html.erb +25 -0
  39. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/kuppayam/_navbar.html.erb +58 -0
  40. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/mailer.html.erb +13 -0
  41. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/mailer.text.erb +1 -0
  42. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/website/_footer.html.erb +9 -0
  43. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/website/_head.html.erb +20 -0
  44. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/website/_header.html.erb +27 -0
  45. data/lib/generators/sbidu_generators/setup_templates/app/views/layouts/website/theme.html.erb +38 -0
  46. data/lib/generators/sbidu_generators/setup_templates/app/views/website/home/_slide.html.erb +10 -0
  47. data/lib/generators/sbidu_generators/setup_templates/app/views/website/home/index.html.erb +113 -0
  48. data/lib/generators/sbidu_generators/setup_templates/config/application.yml +5 -0
  49. data/lib/generators/sbidu_generators/setup_templates/config/database.sample.yml +57 -0
  50. data/lib/generators/sbidu_generators/setup_templates/config/database.yml +57 -0
  51. data/lib/generators/sbidu_generators/setup_templates/config/deploy/production.rb +26 -0
  52. data/lib/generators/sbidu_generators/setup_templates/config/initializers/assets.rb +15 -0
  53. data/lib/generators/sbidu_generators/setup_templates/config/initializers/overide_dhatu_controllers.rb +7 -0
  54. data/lib/generators/sbidu_generators/setup_templates/config/initializers/overide_kuppayam_controllers.rb +47 -0
  55. data/lib/generators/sbidu_generators/setup_templates/config/initializers/overide_pattana_controllers.rb +46 -0
  56. data/lib/generators/sbidu_generators/setup_templates/config/initializers/overide_usman_controllers.rb +7 -0
  57. data/lib/generators/sbidu_generators/setup_templates/config/nginx.conf +68 -0
  58. data/lib/generators/sbidu_generators/setup_templates/db/data/categories.csv +26 -0
  59. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/categories.csv +26 -0
  60. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/events.csv +2 -0
  61. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/offers.csv +2 -0
  62. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/permissions.csv +34 -0
  63. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/prices.csv +91 -0
  64. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/section_types.csv +10 -0
  65. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/sections.csv +11 -0
  66. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/services.csv +117 -0
  67. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/team_members.csv +2 -0
  68. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/testimonials.csv +1 -0
  69. data/lib/generators/sbidu_generators/setup_templates/db/data/dummy/users.csv +6 -0
  70. data/lib/generators/sbidu_generators/setup_templates/db/data/events.csv +2 -0
  71. data/lib/generators/sbidu_generators/setup_templates/db/data/offers.csv +2 -0
  72. data/lib/generators/sbidu_generators/setup_templates/db/data/permissions.csv +34 -0
  73. data/lib/generators/sbidu_generators/setup_templates/db/data/prices.csv +91 -0
  74. data/lib/generators/sbidu_generators/setup_templates/db/data/section_types.csv +11 -0
  75. data/lib/generators/sbidu_generators/setup_templates/db/data/sections.csv +11 -0
  76. data/lib/generators/sbidu_generators/setup_templates/db/data/services.csv +117 -0
  77. data/lib/generators/sbidu_generators/setup_templates/db/data/team_members.csv +2 -0
  78. data/lib/generators/sbidu_generators/setup_templates/db/data/testimonials.csv +1 -0
  79. data/lib/generators/sbidu_generators/setup_templates/db/data/users.csv +6 -0
  80. data/lib/generators/sbidu_generators/setup_templates/db/master_data/features.csv +25 -0
  81. data/lib/generators/sbidu_generators/setup_templates/db/master_data/roles.csv +3 -0
  82. data/lib/generators/sbidu_generators/setup_templates/docker-compose.yml +24 -0
  83. data/lib/generators/sbidu_generators/setup_templates/gitignore +46 -0
  84. data/lib/generators/sbidu_generators/setup_templates/lib/tasks/data.rake +133 -0
  85. data/lib/generators/sbidu_generators/setup_templates/rspec +2 -0
  86. data/lib/generators/sbidu_generators/setup_templates/ruby-version +1 -0
  87. data/lib/generators/sbidu_generators/website_generator.rb +34 -0
  88. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/about_us_controller.rb +16 -0
  89. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/base_controller.rb +67 -0
  90. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/blog_controller.rb +29 -0
  91. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/booking_controller.rb +26 -0
  92. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/careers_controller.rb +14 -0
  93. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/categories_controller.rb +39 -0
  94. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/contact_us_controller.rb +36 -0
  95. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/home_controller.rb +32 -0
  96. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/news_controller.rb +15 -0
  97. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/offers_controller.rb +17 -0
  98. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/products_controller.rb +43 -0
  99. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/promotion_enquiries_controller.rb +32 -0
  100. data/lib/generators/sbidu_generators/website_templates/app/controllers/website/services_controller.rb +32 -0
  101. data/lib/generators/sbidu_generators/website_templates/app/views/layouts/common/_banner.html.erb +22 -0
  102. data/lib/generators/sbidu_generators/website_templates/app/views/website/about_us/index.html.erb +23 -0
  103. data/lib/generators/sbidu_generators/website_templates/app/views/website/blog/_item.html.erb +12 -0
  104. data/lib/generators/sbidu_generators/website_templates/app/views/website/blog/index.html.erb +48 -0
  105. data/lib/generators/sbidu_generators/website_templates/app/views/website/blog/show.html.erb +115 -0
  106. data/lib/generators/sbidu_generators/website_templates/app/views/website/booking/_thank_you.html.erb +19 -0
  107. data/lib/generators/sbidu_generators/website_templates/app/views/website/booking/create.js.erb +20 -0
  108. data/lib/generators/sbidu_generators/website_templates/app/views/website/contact_us/_contact_us.html.erb +82 -0
  109. data/lib/generators/sbidu_generators/website_templates/app/views/website/contact_us/index.html.erb +40 -0
  110. data/lib/generators/sbidu_generators/website_templates/app/views/website/home/_slide.html.erb +10 -0
  111. data/lib/generators/sbidu_generators/website_templates/app/views/website/home/index.html.erb +113 -0
  112. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_first_page.html.erb +3 -0
  113. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_gap.html.erb +3 -0
  114. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_last_page.html.erb +3 -0
  115. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_next_page.html.erb +3 -0
  116. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_page.html.erb +9 -0
  117. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_paginator.html.erb +15 -0
  118. data/lib/generators/sbidu_generators/website_templates/app/views/website/kaminari/_prev_page.html.erb +3 -0
  119. data/lib/generators/sbidu_generators/website_templates/app/views/website/offers/_offer_tab.html.erb +100 -0
  120. data/lib/generators/sbidu_generators/website_templates/app/views/website/offers/_package_tab.html.erb +128 -0
  121. data/lib/generators/sbidu_generators/website_templates/app/views/website/offers/_price_tab.html.erb +114 -0
  122. data/lib/generators/sbidu_generators/website_templates/app/views/website/offers/index.html.erb +91 -0
  123. data/lib/generators/sbidu_generators/website_templates/app/views/website/promotion_enquiries/_thank_you.html.erb +19 -0
  124. data/lib/generators/sbidu_generators/website_templates/app/views/website/promotion_enquiries/create.js.erb +20 -0
  125. data/lib/generators/sbidu_generators/website_templates/app/views/website/services/_show.html.erb +78 -0
  126. data/lib/generators/sbidu_generators/website_templates/app/views/website/services/index.html.erb +105 -0
  127. data/lib/generators/sbidu_generators/website_templates/app/views/website/services/show.html.erb +56 -0
  128. data/lib/generators/sbidu_generators/website_templates/app/views/website/website_generator.rb +34 -0
  129. data/lib/generators/sbidu_generators/website_templates/config/routes.rb +32 -0
  130. data/lib/sbidu_generators.rb +5 -0
  131. data/lib/sbidu_generators/engine.rb +5 -0
  132. data/lib/sbidu_generators/version.rb +3 -0
  133. data/lib/tasks/sbidu_generators_tasks.rake +4 -0
  134. metadata +314 -0
@@ -0,0 +1,2 @@
1
+ name, designation, description, status, featured, priority
2
+ Krishna, Developer, Some Desc, published, true, 1
@@ -0,0 +1 @@
1
+ name, designation, organisation, description, status, featured, priority
@@ -0,0 +1,6 @@
1
+ name,username,designation,email,phone,super_admin,status
2
+ Jacob Alex,jacob,Site Admin,jacob@nanosys-me.com,,FALSE,approved
3
+ Kishore,kishore,Site Admin,kishore@nanosys-me.com,,FALSE,approved
4
+ Abdul Anas,anas,Site Admin,abdul.anas@rightsolutions.io,,FALSE,approved
5
+ Sanoop S Nair,sanoop,Site Admin,sanoop@rightsolutions.io,,TRUE,approved
6
+ Krishna Prasad Varma,kpvarma,Site Admin,prasad@rightsolutions.io,,TRUE,approved
@@ -0,0 +1,25 @@
1
+ name,status,categorisable
2
+ User,published,FALSE
3
+ Registration,unpublished,FALSE
4
+ Role,published,FALSE
5
+ Permission,published,FALSE
6
+ Country,published,FALSE
7
+ Region,published,FALSE
8
+ City,published,FALSE
9
+ Locality,published,FALSE
10
+ Dhatu::Section,published,FALSE
11
+ Dhatu::SectionType,published,FALSE
12
+ Dhatu::BlogPost,published,TRUE
13
+ Dhatu::Branch,published,FALSE
14
+ Dhatu::Offer,published,TRUE
15
+ Dhatu::Price,published,TRUE
16
+ Dhatu::Event,published,TRUE
17
+ Dhatu::Testimonial,published,TRUE
18
+ Dhatu::TeamMember,published,TRUE
19
+ Dhatu::Category,published,TRUE
20
+ Dhatu::Booking,published,TRUE
21
+ Dhatu::Promotion,published,TRUE
22
+ Dhatu::PromotionAttribute,published,TRUE
23
+ Dhatu::PromotionEnquiry,published,TRUE
24
+ Dhatu::Service,published,TRUE
25
+
@@ -0,0 +1,3 @@
1
+ name
2
+ Site Admin
3
+ Content Manager
@@ -0,0 +1,24 @@
1
+ version: '2'
2
+ services:
3
+ mysql:
4
+ image: mysql:5.6.34
5
+ ports:
6
+ - "3307:3306"
7
+ volumes_from:
8
+ - dbdata
9
+ environment:
10
+ - MYSQL_ROOT_PASSWORD=root
11
+ - MYSQL_DATABASE=dev
12
+ dbdata:
13
+ image: tianon/true
14
+ volumes:
15
+ - /var/lib/mysql
16
+ app:
17
+ build: .
18
+ command: bundle exec rails s -p 3000 -b '0.0.0.0'
19
+ volumes:
20
+ - './:/var/app'
21
+ ports:
22
+ - "3000:3000"
23
+ links:
24
+ - "mysql"
@@ -0,0 +1,46 @@
1
+ # See https://help.github.com/articles/ignoring-files for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*
16
+ /tmp/*
17
+ !/log/.keep
18
+ !/tmp/.keep
19
+
20
+ /node_modules
21
+ /yarn-error.log
22
+
23
+ .byebug_history
24
+
25
+ # -------------------
26
+ # RS .gitignore Setup
27
+ # -------------------
28
+
29
+ # Mac Files
30
+ .DS_Store
31
+ *.DS_Store
32
+
33
+ # Uploaded files
34
+ /public/uploads/**/
35
+
36
+ # Data Files
37
+ config/database.yml
38
+
39
+ # Secret Tokens
40
+ config/initializers/secret_token.rb
41
+
42
+ # dotenv
43
+ # TODO Comment out this rule if environment variables can be committed
44
+ .env
45
+ config/application.yml
46
+ public/assets
@@ -0,0 +1,133 @@
1
+ require 'csv'
2
+ require 'open-uri'
3
+ require 'time'
4
+
5
+ namespace 'import' do
6
+ namespace 'data' do
7
+
8
+ desc "Import all data in sequence"
9
+ task 'all' => :environment do
10
+
11
+ begin
12
+
13
+ # First import all Master Data
14
+ puts "Importing Master Data \t".cyan
15
+
16
+ puts "Importing Features \t".yellow
17
+ Rake::Task["usman:import:master_data:features"].invoke
18
+
19
+ puts "Importing Roles \t".yellow
20
+ Rake::Task["usman:import:master_data:roles"].invoke
21
+
22
+ # Import Users & Permissions
23
+ puts "Importing Users & Permissions \t".cyan
24
+
25
+ puts "Importing Users \t".yellow
26
+ Rake::Task["usman:import:data:users"].invoke
27
+
28
+ puts "Importing permissions \t".yellow
29
+ Rake::Task["usman:import:data:permissions"].invoke
30
+
31
+ # Import Other Data
32
+ puts "Importing Other Data \t".cyan
33
+
34
+ puts "Importing Categories \t".yellow
35
+ Rake::Task["dhatu:import:data:dhatu/categories"].invoke
36
+
37
+ puts "Importing Offers \t".yellow
38
+ Rake::Task["dhatu:import:data:dhatu/offers"].invoke
39
+
40
+ puts "Importing Prices \t".yellow
41
+ Rake::Task["dhatu:import:data:dhatu/prices"].invoke
42
+
43
+ puts "Importing Section Types \t".yellow
44
+ Rake::Task["dhatu:import:data:dhatu/section_types"].invoke
45
+
46
+ puts "Importing Sections \t".yellow
47
+ Rake::Task["dhatu:import:data:dhatu/sections"].invoke
48
+
49
+ puts "Importing Services \t".yellow
50
+ Rake::Task["dhatu:import:data:dhatu/services"].invoke
51
+
52
+ puts "Importing Testimonials \t".yellow
53
+ Rake::Task["dhatu:import:data:dhatu/testimonials"].invoke
54
+
55
+ puts "Importing Team Members \t".yellow
56
+ Rake::Task["dhatu:import:data:dhatu/team_members"].invoke
57
+
58
+ rescue ArgumentError => e
59
+ puts "Loading data - failed - #{e.message}".red
60
+ rescue Exception => e
61
+ puts "Importing data - failed - #{e.message}".red
62
+ puts "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
63
+ end
64
+ puts " "
65
+
66
+ end
67
+
68
+ namespace 'dummy' do
69
+
70
+ desc "Import all dummy data in sequence"
71
+ task 'all' => :environment do
72
+
73
+ begin
74
+
75
+ # First import all Master Data
76
+ puts "Importing Master Data \t".cyan
77
+
78
+ puts "Importing Features \t".yellow
79
+ Rake::Task["usman:import:master_data:features"].invoke
80
+
81
+ puts "Importing Roles \t".yellow
82
+ Rake::Task["usman:import:master_data:roles"].invoke
83
+
84
+ # Import Users & Permissions
85
+ puts "Importing Users & Permissions \t".cyan
86
+
87
+ puts "Importing Users \t".yellow
88
+ Rake::Task["usman:import:data:dummy:users"].invoke
89
+
90
+ puts "Importing permissions \t".yellow
91
+ Rake::Task["usman:import:data:dummy:permissions"].invoke
92
+
93
+ # Import Other Data
94
+ puts "Importing Other Data \t".cyan
95
+
96
+ puts "Importing Categories \t".yellow
97
+ Rake::Task["dhatu:import:data:dummy:dhatu/categories"].invoke
98
+
99
+ puts "Importing Offers \t".yellow
100
+ Rake::Task["dhatu:import:data:dummy:dhatu/offers"].invoke
101
+
102
+ puts "Importing Prices \t".yellow
103
+ Rake::Task["dhatu:import:data:dummy:dhatu/prices"].invoke
104
+
105
+ puts "Importing Section Types \t".yellow
106
+ Rake::Task["dhatu:import:data:dummy:dhatu/section_types"].invoke
107
+
108
+ puts "Importing Sections \t".yellow
109
+ Rake::Task["dhatu:import:data:dummy:dhatu/sections"].invoke
110
+
111
+ puts "Importing Services \t".yellow
112
+ Rake::Task["dhatu:import:data:dummy:dhatu/services"].invoke
113
+
114
+ puts "Importing Testimonials \t".yellow
115
+ Rake::Task["dhatu:import:data:dummy:dhatu/testimonials"].invoke
116
+
117
+ puts "Importing Team Members \t".yellow
118
+ Rake::Task["dhatu:import:data:dummy:dhatu/team_members"].invoke
119
+
120
+ rescue ArgumentError => e
121
+ puts "Import Failed - #{e.message}".red
122
+ rescue Exception => e
123
+ puts "Importing Failed - #{e.message}".red
124
+ puts "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
125
+ end
126
+ puts " "
127
+
128
+ end
129
+
130
+ end
131
+ end
132
+ end
133
+
@@ -0,0 +1,2 @@
1
+ --require spec_helper
2
+ --color
@@ -0,0 +1,34 @@
1
+ require 'rails/generators'
2
+
3
+ class SbiduGenerators::WebsiteGenerator < Rails::Generators::Base
4
+
5
+ source_root File.expand_path('../website_templates', __FILE__)
6
+
7
+ desc "Copies the generic website htmls to kick start a new sbidu app"
8
+
9
+ argument :app_name, :type=>:string
10
+ # argument :fields, :type=>:hash, :banner =>"Resource Fields."
11
+
12
+ class_option :debug, :type => :boolean, :default => false, :desc => "This will print the arguments for debugging"
13
+
14
+ def debug_args
15
+ print_args if options.debug?
16
+ end
17
+
18
+ def configure_routes
19
+ template "config/routes.rb", "config/routes.rb"
20
+ end
21
+
22
+ def setup_webstite
23
+ directory "app/controllers/website", "app/controllers/website"
24
+ directory "app/views/website", "app/views/website"
25
+ template "app/views/layouts/common/_banner.html.erb", "app/views/layouts/common/_banner.html.erb"
26
+ end
27
+
28
+ private
29
+
30
+ def print_args
31
+ puts ":app_name: #{app_name}"
32
+ end
33
+
34
+ end
@@ -0,0 +1,16 @@
1
+ class Website::AboutUsController < Website::BaseController
2
+
3
+ layout "website/theme"
4
+
5
+ def index
6
+ @banner = Dhatu::Section.find_by_section_type("ABOUT_US_BANNER").published.first
7
+ @about_us = Dhatu::Section.find_by_section_type("ABOUT_US").published.first
8
+ end
9
+
10
+ private
11
+
12
+ def set_navs
13
+ set_nav("website/about_us")
14
+ end
15
+
16
+ end
@@ -0,0 +1,67 @@
1
+ class Website::BaseController < ApplicationController
2
+
3
+ layout 'website/home'
4
+
5
+ before_action :get_promotion, :configure_popup, :get_general_data, :set_show_book_now_form
6
+
7
+ private
8
+
9
+ def stylesheet_filename
10
+ @stylesheet_filename = "starter_kit"
11
+ end
12
+
13
+ def javascript_filename
14
+ @javascript_filename = "starter_kit"
15
+ end
16
+
17
+ def get_general_data
18
+ @footer_section = Dhatu::Section.find_by_section_type("ABOUT_US_FOOTER").published.first
19
+ @book_now_section = Dhatu::Section.find_by_section_type("BOOK_NOW").published.first
20
+ @main_branch = Dhatu::Branch.published.main_branch.first
21
+ @service_categories = Dhatu::Category.where("category_type = 'Dhatu::Service'").published.all
22
+ end
23
+
24
+ def get_promotion
25
+ @promotion = Dhatu::Promotion.published.first
26
+ end
27
+
28
+ def configure_popup
29
+ @show_popup = true
30
+ if @promotion
31
+ @show_popup = false and return unless @promotion.show_popup
32
+ @show_popup = false and return if @promotion.show_only_on_homepage and params["controller"] != "website/home"
33
+ if @promotion.popup_lifespan_in_minutes > 0
34
+ cookie_name = "popup-#{@promotion.id}"
35
+ @show_popup = false and return if cookies[cookie_name] && cookies[cookie_name].to_s == "#{@promotion.updated_at.to_i}"
36
+ i = @promotion.popup_lifespan_in_minutes.to_i
37
+ cookies[cookie_name] = { :value => "#{@promotion.updated_at.to_i}", :expires => i.hours.from_now }
38
+ end
39
+ else
40
+ @show_popup = false and return
41
+ end
42
+ end
43
+
44
+ def set_show_book_now_form
45
+ @show_book_now_form = true
46
+ end
47
+
48
+ def generate_category_breadcrumbs
49
+ @links = [{name: "Home", link: root_path},
50
+ {name: "Distribution", link: categories_path}]
51
+
52
+ # Generating Dynamic Breadcrumbs with category heirarchy
53
+ @parent_categories = []
54
+ parent_category = @category
55
+
56
+ loop do
57
+ @parent_categories << parent_category
58
+ break if parent_category.parent_id.blank?
59
+ parent_category = parent_category.parent
60
+ end if parent_category
61
+
62
+ @parent_categories.reverse.each do |c|
63
+ @links << {name: c.name, link: category_path(permalink: c.permalink)}
64
+ end
65
+ end
66
+
67
+ end
@@ -0,0 +1,29 @@
1
+ class Website::BlogController < Website::BaseController
2
+
3
+ layout "website/theme"
4
+
5
+ def index
6
+ @banner = Dhatu::Section.find_by_section_type("BLOG_BANNER").published.first
7
+
8
+ @categories = Dhatu::Category.where(category_type: "Dhatu::BlogPost").all
9
+ @relation = Dhatu::BlogPost.published.includes(:cover_image).where("")
10
+
11
+ @relation = @relation.search(params[:query]) if params[:query]
12
+ @relation = @relation.where("category_id = ?", params[:category_id]) if params[:category_id]
13
+
14
+ @blog_posts = @r_objects = @relation.page(@current_page).per(1)
15
+ end
16
+
17
+ def show
18
+ @categories = Dhatu::Category.where(category_type: "Dhatu::BlogPost").all
19
+ @blog_post = Dhatu::BlogPost.published.find_by_slug(params[:slug])
20
+ @recent_posts = Dhatu::BlogPost.published.order("created_at desc").limit(5)
21
+ end
22
+
23
+ private
24
+
25
+ def set_navs
26
+ set_nav("website/blog")
27
+ end
28
+
29
+ end
@@ -0,0 +1,26 @@
1
+ module Website
2
+ class BookingController < Website::BaseController
3
+
4
+ def create
5
+ @booking = Dhatu::Booking.new
6
+ @booking.assign_attributes(permitted_params)
7
+ if @booking.valid?
8
+ @booking.save
9
+ set_flash_message(I18n.translate("forms.save", item: "Booking"), :success)
10
+ end
11
+ set_resource_notification(@booking)
12
+ render :create, layout: false
13
+ end
14
+
15
+ private
16
+
17
+ def default_item_name
18
+ "booking"
19
+ end
20
+
21
+ def permitted_params
22
+ params.require("dhatu/booking").permit(:name, :service_id, :email, :mobile, :date, :time, :message)
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,14 @@
1
+ class Website::CareersController < Website::BaseController
2
+
3
+ def index
4
+ @events = []
5
+ set_title("Red Velvet Salon, Karama - The best salon in Dubai")
6
+ end
7
+
8
+ private
9
+
10
+ def set_navs
11
+ set_nav("website/careers")
12
+ end
13
+
14
+ end