sbidu_generators 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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