cybele 1.8.0 → 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -1
  3. data/README.md +16 -2
  4. data/dump.rdb +1 -0
  5. data/lib/cybele/app_builder.rb +213 -220
  6. data/lib/cybele/generators/app_generator.rb +31 -20
  7. data/lib/cybele/version.rb +2 -2
  8. data/templates/.env.local.erb +11 -0
  9. data/templates/.env.production.erb +11 -0
  10. data/templates/.env.staging.erb +11 -0
  11. data/templates/README.md.erb +22 -0
  12. data/templates/app/assets/javascripts/application.js.coffee +63 -1
  13. data/templates/app/assets/javascripts/hq/application.js.coffee +93 -0
  14. data/templates/app/assets/stylesheets/application.css.sass +15 -4
  15. data/templates/app/assets/stylesheets/hq/application.css.sass +92 -0
  16. data/templates/app/controllers/application_controller.rb.erb +48 -0
  17. data/templates/app/controllers/concerns/basic_authentication.rb +18 -0
  18. data/templates/app/controllers/hq/admins_controller.rb +64 -0
  19. data/templates/app/controllers/hq/application_controller.rb +11 -0
  20. data/templates/app/controllers/hq/audits_controller.rb +16 -0
  21. data/templates/app/controllers/hq/cities_controller.rb +54 -0
  22. data/templates/app/controllers/hq/countries_controller.rb +54 -0
  23. data/templates/app/controllers/hq/dashboard_controller.rb +4 -1
  24. data/templates/app/controllers/hq/passwords_controller.rb +10 -0
  25. data/templates/app/controllers/hq/registrations_controller.rb +21 -0
  26. data/templates/app/controllers/hq/sessions_controller.rb +1 -1
  27. data/templates/app/controllers/hq/users_controller.rb +64 -0
  28. data/templates/app/controllers/user/dashboard_controller.rb +8 -0
  29. data/templates/app/controllers/user/passwords_controller.rb +10 -0
  30. data/templates/app/controllers/user/profiles_controller.rb +34 -0
  31. data/templates/app/controllers/user/registrations_controller.rb +20 -0
  32. data/templates/app/controllers/user/sessions_controller.rb +16 -0
  33. data/templates/app/controllers/user/user_application_controller.rb +20 -0
  34. data/templates/app/helpers/application_helper.rb.erb +27 -0
  35. data/templates/app/mailers/admin_mailer.rb +10 -0
  36. data/templates/app/mailers/base_mailer.rb +4 -0
  37. data/templates/app/mailers/user_mailer.rb +10 -0
  38. data/templates/app/models/admin.rb +51 -0
  39. data/templates/app/models/audit.rb +3 -0
  40. data/templates/app/models/city.rb +12 -0
  41. data/templates/app/models/country.rb +12 -0
  42. data/templates/app/models/user.rb +54 -0
  43. data/templates/app/views/admin_mailer/login_info.html.haml +13 -0
  44. data/templates/app/views/devise/confirmations/new.html.haml +6 -5
  45. data/templates/app/views/devise/mailer/confirmation_instructions.html.haml +5 -3
  46. data/templates/app/views/devise/mailer/reset_password_instructions.html.haml +2 -2
  47. data/templates/app/views/devise/passwords/edit.html.haml +3 -3
  48. data/templates/app/views/devise/passwords/new.html.haml +3 -3
  49. data/templates/app/views/devise/registrations/edit.html.haml +5 -11
  50. data/templates/app/views/devise/registrations/new.html.haml +18 -6
  51. data/templates/app/views/devise/sessions/new.html.haml +1 -1
  52. data/templates/app/views/devise/shared/_links.haml +3 -1
  53. data/templates/app/views/devise/unlocks/new.html.haml +4 -4
  54. data/templates/app/views/hq/admins/_admin.html.haml +21 -0
  55. data/templates/app/views/hq/admins/_blank.html.haml +9 -0
  56. data/templates/app/views/hq/admins/_filters.html.haml +20 -0
  57. data/templates/app/views/hq/admins/_form.html.haml +17 -0
  58. data/templates/app/views/hq/admins/_list.html.haml +15 -0
  59. data/templates/app/views/hq/admins/edit.html.haml +3 -0
  60. data/templates/app/views/hq/admins/index.html.haml +18 -0
  61. data/templates/app/views/hq/admins/new.html.haml +5 -0
  62. data/templates/app/views/hq/admins/show.html.haml +19 -0
  63. data/templates/app/views/hq/audits/_filters.html.haml +32 -0
  64. data/templates/app/views/hq/audits/_list.html.haml +37 -0
  65. data/templates/app/views/hq/audits/index.html.haml +5 -0
  66. data/templates/app/views/hq/audits/show.html.haml +5 -0
  67. data/templates/app/views/hq/cities/_blank.html.haml +9 -0
  68. data/templates/app/views/hq/cities/_city.html.haml +12 -0
  69. data/templates/app/views/hq/cities/_filters.html.haml +15 -0
  70. data/templates/app/views/hq/cities/_form.html.haml +15 -0
  71. data/templates/app/views/hq/cities/_list.html.haml +13 -0
  72. data/templates/app/views/hq/cities/edit.html.haml +3 -0
  73. data/templates/app/views/hq/cities/index.html.haml +18 -0
  74. data/templates/app/views/hq/cities/new.html.haml +3 -0
  75. data/templates/app/views/hq/cities/show.html.haml +13 -0
  76. data/templates/app/views/hq/countries/_blank.html.haml +9 -0
  77. data/templates/app/views/hq/countries/_country.html.haml +11 -0
  78. data/templates/app/views/hq/countries/_filters.html.haml +14 -0
  79. data/templates/app/views/hq/countries/_form.html.haml +14 -0
  80. data/templates/app/views/hq/countries/_list.html.haml +12 -0
  81. data/templates/app/views/hq/countries/edit.html.haml +3 -0
  82. data/templates/app/views/hq/countries/index.html.haml +18 -0
  83. data/templates/app/views/hq/countries/new.html.haml +3 -0
  84. data/templates/app/views/hq/countries/show.html.haml +14 -0
  85. data/templates/app/views/hq/dashboard/index.html.haml +8 -0
  86. data/templates/app/views/hq/passwords/edit.html.haml +12 -0
  87. data/templates/app/views/hq/passwords/new.html.haml +9 -0
  88. data/templates/app/views/hq/registrations/edit.html.haml +19 -0
  89. data/templates/app/views/hq/sessions/new.html.haml +7 -5
  90. data/templates/app/views/hq/users/_blank.html.haml +9 -0
  91. data/templates/app/views/hq/users/_filters.html.haml +20 -0
  92. data/templates/app/views/hq/users/_form.html.haml +18 -0
  93. data/templates/app/views/hq/users/_list.html.haml +15 -0
  94. data/templates/app/views/hq/users/_user.html.haml +20 -0
  95. data/templates/app/views/hq/users/edit.html.haml +3 -0
  96. data/templates/app/views/hq/users/index.html.haml +18 -0
  97. data/templates/app/views/hq/users/new.html.haml +5 -0
  98. data/templates/app/views/hq/users/show.html.haml +20 -0
  99. data/templates/app/views/layouts/application.html.haml.erb +16 -8
  100. data/templates/app/views/layouts/hq/application.html.haml.erb +55 -0
  101. data/templates/app/views/layouts/hq/login.html.haml.erb +35 -0
  102. data/templates/app/views/layouts/hq/partials/_dock.html.haml.erb +36 -0
  103. data/templates/app/views/layouts/hq/partials/_footer.html.haml.erb +0 -0
  104. data/templates/app/views/layouts/hq/partials/_navbar.html.haml.erb +22 -0
  105. data/templates/app/views/layouts/hq/partials/_trackers.html.haml.erb +0 -0
  106. data/templates/app/views/layouts/mailer.html.haml.erb +321 -0
  107. data/templates/app/views/layouts/mailer.text.haml +1 -0
  108. data/templates/app/views/layouts/partials/_footer.html.haml.erb +0 -0
  109. data/templates/app/views/layouts/partials/_trackers.html.haml.erb +0 -0
  110. data/templates/app/views/layouts/partials/_warnings.html.haml.erb +3 -0
  111. data/templates/app/views/user/dashboard/index.html.haml +8 -0
  112. data/templates/app/views/user/passwords/edit.html.haml +12 -0
  113. data/templates/app/views/user/passwords/new.html.haml +10 -0
  114. data/templates/app/views/{user_profiles → user/profiles}/_form.html.haml +4 -5
  115. data/templates/app/views/user/profiles/edit.html.haml +3 -0
  116. data/templates/app/views/user/profiles/show.html.haml +15 -0
  117. data/templates/app/views/user/registrations/edit.html.haml +19 -0
  118. data/templates/app/views/user/sessions/new.html.haml +11 -0
  119. data/templates/app/views/user_mailer/login_info.html.haml +13 -0
  120. data/templates/app/views/welcome/index.html.haml.erb +4 -4
  121. data/templates/config/initializers/devise_async.rb +6 -0
  122. data/templates/config/initializers/sidekiq.rb +13 -0
  123. data/templates/config/locales/email.tr.yml +28 -0
  124. data/templates/config/locales/models.tr.yml +72 -41
  125. data/templates/config/locales/responders.tr.yml +4 -1
  126. data/templates/config/locales/show_for.tr.yml +1 -3
  127. data/templates/config/locales/simple_form.tr.yml +8 -22
  128. data/templates/config/locales/tr.yml +33 -2
  129. data/templates/config/locales/view.tr.yml +64 -18
  130. data/templates/config/routes.erb +51 -0
  131. data/templates/config/schedule.yml +16 -0
  132. data/templates/config/settings/production.yml +0 -17
  133. data/templates/config/settings/staging.yml +0 -17
  134. data/templates/config/sidekiq.yml +13 -0
  135. data/templates/cybele_Gemfile +42 -5
  136. data/templates/cybele_gitignore +3 -1
  137. data/templates/cybele_version.txt +1 -0
  138. data/templates/env.sample.erb +11 -0
  139. data/templates/lib/data/cities.yml +163 -0
  140. data/templates/lib/tasks/dev.rake +29 -5
  141. data/templates/lib/tasks/sidekiq.rake +26 -0
  142. data/templates/lib/templates/rails/responders_controller/controller.rb +27 -22
  143. data/templates/public/images/favicon.png +0 -0
  144. data/templates/public/images/mail-logo.png +0 -0
  145. data/templates/public/images/missing_cover.png +0 -0
  146. data/templates/public/images/missing_cover@2x.png +0 -0
  147. data/templates/public/images/missing_logo.png +0 -0
  148. data/templates/public/images/missing_logo@2x.png +0 -0
  149. data/templates/public/images/sprite.png +0 -0
  150. data/templates/ruby-version +1 -1
  151. data/templates/vendor/assets/javascripts/jquery.datetimepicker.js +1871 -0
  152. data/templates/vendor/assets/javascripts/jquery.maskedinput.min.js +7 -0
  153. data/templates/vendor/assets/javascripts/nprogress.js +491 -0
  154. data/templates/vendor/assets/javascripts/trix.js +25 -0
  155. data/templates/vendor/assets/stylesheets/jquery.datetimepicker.css +418 -0
  156. data/templates/vendor/assets/stylesheets/nprogress.css +74 -0
  157. data/templates/vendor/assets/stylesheets/trix.css +209 -0
  158. metadata +125 -24
  159. data/templates/app/controllers/application_controller.rb +0 -19
  160. data/templates/app/controllers/hq/admin_profiles_controller.rb +0 -56
  161. data/templates/app/controllers/user_profiles_controller.rb +0 -56
  162. data/templates/app/views/hq/admin_profiles/_form.html.haml +0 -15
  163. data/templates/app/views/hq/admin_profiles/edit.html.haml +0 -3
  164. data/templates/app/views/hq/admin_profiles/new.html.haml +0 -3
  165. data/templates/app/views/hq/admin_profiles/show.html.haml +0 -13
  166. data/templates/app/views/hq/dashboard/index.html.haml.erb +0 -3
  167. data/templates/app/views/user_profiles/edit.html.haml +0 -3
  168. data/templates/app/views/user_profiles/new.html.haml +0 -3
  169. data/templates/app/views/user_profiles/show.html.haml +0 -13
  170. data/templates/config/locales/en.yml +0 -2
  171. data/templates/config/locales/models.en.yml +0 -54
  172. data/templates/config/locales/responders.en.yml +0 -10
  173. data/templates/config/locales/show_for.en.yml +0 -7
  174. data/templates/config/locales/simple_form.en.yml +0 -30
  175. data/templates/config/locales/view.en.yml +0 -51
@@ -0,0 +1,8 @@
1
+ .panel.panel-default
2
+ .panel-body
3
+ .row
4
+ .col-lg-12
5
+ .alert.alert-info
6
+ = t('view.hello', user: current_admin.email)
7
+ = link_to t('navbar.sign_out'), destroy_admin_session_path, method: :delete, class: 'btn btn-danger'
8
+ = link_to t('navbar.edit_login_info'), edit_admin_registration_path, class: 'btn btn-primary'
@@ -0,0 +1,12 @@
1
+ %h2= t('devise.password.edit.title')
2
+ = simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
3
+ = f.error_notification
4
+ = f.input :reset_password_token, as: :hidden
5
+ = f.full_error :reset_password_token
6
+ .form-inputs
7
+ = f.input :password, required: true, autofocus: true
8
+ = f.input :password_confirmation, required: true
9
+ .form-actions
10
+ = f.button :submit, t('devise.password.edit.button') , class: 'btn btn-primary'
11
+ %br/
12
+ = render 'devise/shared/links'
@@ -0,0 +1,9 @@
1
+ %h2= t('devise.password.new.title')
2
+ = simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
3
+ = f.error_notification
4
+ .form-inputs
5
+ = f.input :email, required: true, autofocus: true
6
+ .form-actions
7
+ = f.button :submit, t('devise.password.reset.instructions'), class: 'btn btn-primary'
8
+ %br/
9
+ = render 'devise/shared/links'
@@ -0,0 +1,19 @@
1
+ .panel.panel-default
2
+ .panel-heading
3
+ %i.icon-edit.icon-large
4
+ = t('devise.registration.edit.title', model: resource.class.model_name.human)
5
+ .panel-body
6
+ = simple_form_for(resource, as: resource_name, url: admin_registration_path, html: { method: :put }) do |f|
7
+ = f.error_notification
8
+ .form-inputs
9
+ = f.input :email, required: true, autofocus: true
10
+ - if devise_mapping.confirmable? && resource.pending_reconfirmation?
11
+ %p
12
+ = t('devise.registration.waiting_confirmation', email: resource.unconfirmed_email )
13
+ %hr
14
+ = f.input :password, label: t('activerecord.attributes.admin.password'), autocomplete: 'off', hint: t('devise.registration.hint_password'), required: false
15
+ = f.input :password_confirmation, label: t('activerecord.attributes.admin.password_confirmation'), required: false
16
+ %hr
17
+ = f.input :current_password, label: t('activerecord.attributes.admin.current_password'), hint: t('devise.registration.hint_current_password'), required: true
18
+ .form-actions
19
+ = f.button :submit, t('btn.update'), class: 'btn btn-primary'
@@ -1,9 +1,11 @@
1
1
  %h2
2
2
  = t('devise.session.title', model: resource.class.model_name.human )
3
- = simple_form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f|
3
+ = simple_form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
4
4
  .form-inputs
5
- = f.input :email, :required => false, :autofocus => true
6
- = f.input :password, :required => false
7
- = f.input :remember_me, :as => :boolean,label: t('devise.session.remember_me') if devise_mapping.rememberable?
5
+ = f.input :email, required: false, autofocus: true
6
+ = f.input :password, required: false
7
+ = f.input :remember_me, as: :boolean,label: t('devise.session.remember_me') if devise_mapping.rememberable?
8
8
  .form-actions
9
- = f.button :submit, t('devise.session.button')
9
+ = f.button :submit, t('devise.session.button'), class: 'btn btn-primary'
10
+ %br/
11
+ = render 'devise/shared/links'
@@ -0,0 +1,9 @@
1
+ - if params[:q].present?
2
+ = render 'list'
3
+ - else
4
+ .alert.alert-warning
5
+ %p
6
+ %h3= t('view.there_is_no_data', resource: User.model_name.human.downcase)
7
+ = link_to new_hq_user_path, class: 'btn btn-primary' do
8
+ = t('action_button.new', resource_name: User.model_name.human)
9
+ = t('btn.add')
@@ -0,0 +1,20 @@
1
+ .table-header.row
2
+ .col-lg-3
3
+ = link_to hq_users_path(q: {is_active_true: 1}), class: 'btn btn-success' do
4
+ = t('view.active')
5
+ %span.badge= User.where(is_active: true).count
6
+ = link_to hq_users_path(q: {is_active_false: 1}), class: 'btn btn-warning' do
7
+ = t('view.passive')
8
+ %span.badge= User.where(is_active: false).count
9
+ - if params[:q].present? && (params[:q][:is_active_true].present? || params[:q][:is_active_false].present? || params[:q][:name_or_surname_cont].present?)
10
+ = link_to hq_users_path, class: 'btn btn-info' do
11
+ = t('view.all')
12
+ %span.badge= User.count
13
+ .col-lg-9
14
+ = search_form_for [:hq, @search], builder: SimpleForm::FormBuilder, html: {class: 'form-inline', data: { turboform: true }} do |f|
15
+ .pull-right
16
+ .input-group
17
+ = f.input_field :name_or_surname_cont, label: false, class: 'form-control', placeholder: t('view.quick_search')
18
+ %span.input-group-btn
19
+ = button_tag( class: 'btn btn-primary') do
20
+ %i.icon-search
@@ -0,0 +1,18 @@
1
+ .panel.panel-default
2
+ .panel-heading
3
+ %i.icon-edit.icon-large
4
+ = yield :form_title
5
+ .panel-body
6
+ = simple_form_for([:hq, @user]) do |f|
7
+ = f.error_notification
8
+
9
+ .form-inputs
10
+ = f.input :name
11
+ = f.input :surname
12
+ = f.input :email
13
+ = f.input :time_zone, input_html: { class: 'chosen-select'}, include_blank: t('view.select')
14
+
15
+ .form-actions
16
+ - text = @user.id.present? ? t('btn.update') : t('btn.add')
17
+ = f.button :submit, text, class: 'btn btn-primary'
18
+ = link_to t('cancel'), hq_users_path, class: 'btn'
@@ -0,0 +1,15 @@
1
+ .panel-body.filters
2
+ = render 'filters'
3
+ %table.table
4
+ %thead
5
+ %tr
6
+ %th= sort_link(@search, :id, t('activerecord.attributes.user.id'))
7
+ %th= sort_link(@search, :name, t('activerecord.attributes.user.name'))
8
+ %th= sort_link(@search, :email, t('activerecord.attributes.user.email'))
9
+ %th= sort_link(@search, :current_sign_in_at, t('activerecord.attributes.user.current_sign_in_at'))
10
+ %th= sort_link(@search, :last_sign_in_at, t('activerecord.attributes.user.last_sign_in_at'))
11
+ %th= sort_link(@search, :is_active, t('activerecord.attributes.user.is_active'))
12
+ %th.actions
13
+ = t('view.actions')
14
+ %tbody.users
15
+ = render @users
@@ -0,0 +1,20 @@
1
+ %tr{class: user.is_active ? 'active' : 'passive'}
2
+ %td= user.id
3
+ %td= user.full_name
4
+ %td= mail_to user.email, user.email
5
+ %td=l user.current_sign_in_at if user.current_sign_in_at.present?
6
+ %td=l user.last_sign_in_at if user.last_sign_in_at.present?
7
+ %td= user.is_active ? t('view.active') : t('view.passive')
8
+ %td.action
9
+ = link_to([:hq, user], class: 'btn btn-success', data: { toggle: :tooltip}, title: t('tooltips.zoom')) do
10
+ %i.icon-zoom-in
11
+ = link_to(edit_hq_user_path(user) , class: 'btn btn-info', data: { toggle: :tooltip }, title: t('tooltips.edit')) do
12
+ %i.icon-edit
13
+ = link_to([:hq, user], class: 'btn btn-danger', method: :delete, data: { confirm: t('tooltips.are_you_sure'), toggle: :tooltip }, title: t('tooltips.delete')) do
14
+ %i.icon-trash
15
+ - if user.is_active
16
+ = link_to(toggle_is_active_hq_user_path(user), class: 'btn btn-danger', method: :post, data: { toggle: :tooltip}, title: t('view.make_passive') ) do
17
+ %i.icon-ban-circle
18
+ - else
19
+ = link_to(toggle_is_active_hq_user_path(user), class: 'btn btn-info', method: :post, data: { toggle: :tooltip}, title: t('view.make_active')) do
20
+ %i.icon-check
@@ -0,0 +1,3 @@
1
+ - content_for :form_title do
2
+ = t('tt.edit', resource_name: 'Yönetici bilgilerini')
3
+ = render 'form'
@@ -0,0 +1,18 @@
1
+ - content_for :toolbar do
2
+ = link_to new_hq_user_path, class: 'btn btn-default' do
3
+ %i.icon-plus
4
+ = t('action_button.new', resource_name: User.model_name.human)
5
+
6
+ .panel.panel-default.grid
7
+ .panel-heading
8
+ %i.fa.fa-table.icon-large
9
+ = t('activerecord.models.users')
10
+ .panel-tools
11
+ .btn-group
12
+ %a.btn{href: hq_users_path, data: {toggle: 'toolbar-tooltip'}, title: t('view.reload')}
13
+ %i.fa.fa-refresh
14
+ .badge= @users.total_entries
15
+ =blankable(@users)
16
+ .panel-footer
17
+ .pagination.pagination-sm
18
+ = will_paginate @users, renderer: BootstrapPagination::Rails, bootstrap: 3
@@ -0,0 +1,5 @@
1
+ - content_for :form_title do
2
+ = t('tt.new', resource_name: User.model_name.human)
3
+ .alert.alert-info
4
+ = t('view.create_resource_mail_info', resource: User.model_name.human.downcase)
5
+ = render 'form'
@@ -0,0 +1,20 @@
1
+ - content_for :toolbar do
2
+ = link_to edit_hq_user_path(@user ), class: 'btn btn-default' do
3
+ %i.icon-pencil
4
+ = t('action_button.edit')
5
+ .panel.panel-default
6
+ .panel-heading
7
+ %i.icon-edit.icon-large
8
+ = t('tt.show', resource_name: User.model_name.human)
9
+ .panel-body
10
+ = show_for @user do |s|
11
+ = s.attribute :name
12
+ = s.attribute :surname
13
+ = s.attribute :email do
14
+ = mail_to @user.email, @user.email
15
+ = s.attribute :is_active
16
+ = s.attribute :time_zone
17
+ = s.attribute :current_sign_in_at
18
+ = s.attribute :last_sign_in_at
19
+ = s.attribute :created_at
20
+ = s.attribute :updated_at
@@ -1,22 +1,30 @@
1
1
  !!!
2
- %html
2
+ %html{lang: I18n.locale}
3
3
  %head
4
- %title <%= app_name %>
5
- = stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true
6
- = javascript_include_tag "application", "data-turbolinks-track" => true
4
+ %title= content_for?(:title) ? "#{yield(:title)} - <%= app_name %>" : '<%= app_name %>'
5
+ %meta(http-equiv="content-type" content="text/html" charset="utf-8")
6
+ %meta(http-equiv="x-ua-compatible" content="ie=edge,chrome=1")
7
+ %meta(name="description" content="<%= app_name %>")
8
+ %meta(name="author" content="<%= app_name %>")
9
+ %link(rel="shortcut icon" href="/images/favicon.png")
10
+
11
+ = stylesheet_link_tag 'application', '//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css',
12
+ media: 'all', 'data-turbolinks-track' => true
13
+ = javascript_include_tag 'application', 'data-turbolinks-track' => true
7
14
  = csrf_meta_tags
15
+ = yield :head
8
16
  %body
17
+ = render 'layouts/partials/warnings'
9
18
  .container-narrow
10
19
  .masthead
11
20
  %ul.nav.nav-pills.pull-right
12
21
  %li.active
13
- %a{:href => "/"} Home
14
- %li
15
- %a{:href => "/rails/routes"} Routes
22
+ %a{href: "/"}
23
+ = t('navbar.home_page')
16
24
  %h3.muted= link_to "<%= app_name %>", root_path
17
25
  %hr/
18
26
  = render partial: 'layouts/partials/messages'
19
27
  = yield
20
28
  %hr/
21
29
  .footer
22
- %p © Company 2013
30
+ %p <%= app_name %> Copyright &copy; #{Time.zone.now.year} Tüm Hakları Saklıdır.
@@ -0,0 +1,55 @@
1
+ !!! 5
2
+ /[if IE 8] <html class="no-js lt-ie10 lt-ie9" lang="en-us">
3
+ /[if IE 9] <html class="no-js lt-ie10 lt-ie9" lang="en-us">
4
+ /[if lt IE 10] <html class="no-js lt-ie10" lang="en-us">
5
+ %html{lang: I18n.locale, class: 'no-js'}
6
+ %head
7
+ %title= content_for?(:title) ? "#{yield(:title)} - <%= app_name %>" : '<%= app_name %>'
8
+ %meta(http-equiv="content-type" content="text/html" charset="utf-8")
9
+ %meta(http-equiv="x-ua-compatible" content="ie=edge,chrome=1")
10
+ %meta(name="description" content="<%= app_name %>")
11
+ %meta(name="author" content="<%= app_name %>")
12
+ %meta{content: 'initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width', name: 'viewport'}
13
+ %meta(name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1" media="(device-height: 568px)")
14
+ %meta(name='apple-mobile-web-app-capable' content='yes')
15
+ %meta(name='apple-mobile-web-app-status-bar-style' content='translucent-black')
16
+
17
+ %link(rel="shortcut icon" href="/images/favicon.png")
18
+
19
+ = csrf_meta_tags
20
+
21
+ / Stylesheets (Don't change include order)
22
+ = stylesheet_link_tag 'hq/application',
23
+ '//netdna.bootstrapcdn.com/font-awesome/3.2.0/css/font-awesome.min.css',
24
+ '//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css',
25
+ media: 'all', 'data-turbolinks-track' => true
26
+
27
+ / Javascripts
28
+ = javascript_include_tag '//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js',
29
+ 'hq/application', 'data-turbolinks-track' => true
30
+ = yield :head
31
+
32
+ %body.main
33
+
34
+ / Navbar
35
+ = render partial: 'layouts/hq/partials/navbar'
36
+
37
+ #wrapper
38
+
39
+ / Sidebar
40
+ %section#sidebar
41
+ = render partial: 'layouts/hq/partials/dock'
42
+
43
+ / Tools
44
+ %section#tools
45
+ = render partial: 'layouts/hq/partials/breadcrumb'
46
+ = render partial: 'layouts/hq/partials/toolbar'
47
+
48
+ / Content
49
+ #content
50
+ = render 'layouts/partials/warnings'
51
+ = render partial: 'layouts/partials/messages'
52
+ = yield
53
+
54
+ / Footer
55
+ = render partial: 'layouts/hq/partials/footer'
@@ -0,0 +1,35 @@
1
+ !!! 5
2
+ /[if IE 8] <html class="no-js lt-ie10 lt-ie9" lang="en-us">
3
+ /[if IE 9] <html class="no-js lt-ie10 lt-ie9" lang="en-us">
4
+ /[if lt IE 10] <html class="no-js lt-ie10" lang="en-us">
5
+ %html{lang: I18n.locale, class: 'no-js'}
6
+ %head
7
+ %title= content_for?(:title) ? "#{yield(:title)} - <%= app_name %>" : '<%= app_name %>'
8
+ %meta(http-equiv="content-type" content="text/html" charset="utf-8")
9
+ %meta(http-equiv="x-ua-compatible" content="ie=edge,chrome=1")
10
+ %meta(name="description" content="<%= app_name %>")
11
+ %meta(name="author" content="<%= app_name %>")
12
+ %meta{content: 'initial-scale=1.0,user-scalable=no,maximum-scale=1,width=device-width', name: 'viewport'}
13
+ %meta(name="viewport" content="initial-scale=1.0,user-scalable=no,maximum-scale=1" media="(device-height: 568px)")
14
+ %meta(name='apple-mobile-web-app-capable' content='yes')
15
+ %meta(name='apple-mobile-web-app-status-bar-style' content='translucent-black')
16
+
17
+ %link(rel="shortcut icon" href="/images/favicon.png")
18
+
19
+ / Stylesheets (Don't change include order)
20
+ = stylesheet_link_tag 'hq/application',
21
+ '//netdna.bootstrapcdn.com/font-awesome/3.2.0/css/font-awesome.min.css',
22
+ '//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css',
23
+ media: 'all', 'data-turbolinks-track' => true
24
+ = yield :head
25
+
26
+ %body.login
27
+ = render 'layouts/partials/warnings'
28
+ .wrapper
29
+ = render partial: 'layouts/partials/messages'
30
+ = yield
31
+
32
+ %br/
33
+ .text-center.text-muted
34
+ = render partial: 'layouts/hq/partials/footer'
35
+ = render file: 'public/VERSION.txt'
@@ -0,0 +1,36 @@
1
+ %i#toggle.icon-align-justify.icon-large
2
+
3
+ %ul#dock
4
+
5
+ %li.launcher
6
+ %i.icon-dashboard
7
+ =link_to t('dock.dashboard'), hq_dashboard_index_path
8
+
9
+ %li.launcher.dropdown.hover
10
+ %i.fa.fa-list
11
+ %a{href: '#'}= t('dock.system_users')
12
+ %ul.dropdown-menu
13
+ %li
14
+ = link_to hq_admins_path do
15
+ %i.fa.fa-users
16
+ = t('activerecord.models.admins')
17
+ %li
18
+ = link_to hq_users_path do
19
+ %i.fa.fa-users
20
+ = t('activerecord.models.users')
21
+
22
+ %br/
23
+ %li.launcher.dropdown.hover
24
+ %i.fa.fa-list
25
+ %a{href: '#'}= t('dock.system_datas')
26
+ %ul.dropdown-menu
27
+ %li
28
+ =link_to hq_countries_path do
29
+ %i.fa.fa-database
30
+ = t('activerecord.models.countries')
31
+ %li
32
+ =link_to hq_cities_path do
33
+ %i.fa.fa-database
34
+ = t('activerecord.models.cities')
35
+
36
+ #beaker{data: {toggle: 'tooltip'}, title: 'Made by lab2023'}
@@ -0,0 +1,22 @@
1
+ #navbar.navbar.navbar-default
2
+ %a.navbar-brand{href: hq_dashboard_index_path}
3
+ %i.icon-beer
4
+ <%= app_name %>
5
+ = t('navbar.admin_portal')
6
+ %ul.nav.navbar-nav.pull-right
7
+ %li
8
+ = link_to hq_audits_path do
9
+ %i.icon-cog
10
+ = t('activerecord.models.audits')
11
+ %li.dropdown.user
12
+ %a.dropdown-toggle{'data-toggle' => 'dropdown', href: '#'}
13
+ %i.icon-user
14
+ %strong
15
+ = current_admin.email
16
+ %b.caret
17
+ %ul.dropdown-menu
18
+ %li
19
+ =link_to t('navbar.edit_login_info'), edit_admin_registration_path
20
+ %li.divider
21
+ %li
22
+ =link_to t('navbar.signout'), destroy_admin_session_path, method: :delete
@@ -0,0 +1,321 @@
1
+ !!!
2
+ %html{:xmlns => "http://www.w3.org/1999/xhtml", "xmlns:mc" => "http://www.w3.org/1999/xhtml"}
3
+ %head
4
+ %meta{:content => "text/html; charset=UTF-8", "http-equiv" => "Content-Type"}/
5
+ %title= @subject
6
+ :css
7
+ #outlook a{padding:0;}
8
+ .ReadMsgBody{width:100%;} .ExternalClass{width:100%;}
9
+ .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;}
10
+ body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}
11
+ table, td{mso-table-lspace:0pt; mso-table-rspace:0pt;}
12
+ img{-ms-interpolation-mode:bicubic;}
13
+ body{margin:0; padding:0;}
14
+ img{border:0; height:auto; line-height:100%; outline:none; text-decoration:none;}
15
+ table{border-collapse:collapse !important;}
16
+ body, #bodyTable, #bodyCell{height:100% !important; margin:0; padding:0; width:100% !important;}
17
+ #bodyCell{padding:20px;}
18
+ #templateContainer{width:600px;}
19
+ body, #bodyTable{
20
+ /*@editable*/ background-color:#DEE0E2;
21
+ }
22
+ #bodyCell{
23
+ /*@editable*/ border-top:4px solid #BBBBBB;
24
+ }
25
+ #templateContainer{
26
+ /*@editable*/ border:1px solid #BBBBBB;
27
+ }
28
+ h1{
29
+ /*@editable*/ color:#202020 !important;
30
+ display:block;
31
+ /*@editable*/ font-family:Helvetica;
32
+ /*@editable*/ font-size:26px;
33
+ /*@editable*/ font-style:normal;
34
+ /*@editable*/ font-weight:bold;
35
+ /*@editable*/ line-height:100%;
36
+ /*@editable*/ letter-spacing:normal;
37
+ margin-top:0;
38
+ margin-right:0;
39
+ margin-bottom:10px;
40
+ margin-left:0;
41
+ /*@editable*/ text-align:left;
42
+ }
43
+ h2{
44
+ /*@editable*/ color:#404040 !important;
45
+ display:block;
46
+ /*@editable*/ font-family:Helvetica;
47
+ /*@editable*/ font-size:20px;
48
+ /*@editable*/ font-style:normal;
49
+ /*@editable*/ font-weight:bold;
50
+ /*@editable*/ line-height:100%;
51
+ /*@editable*/ letter-spacing:normal;
52
+ margin-top:0;
53
+ margin-right:0;
54
+ margin-bottom:10px;
55
+ margin-left:0;
56
+ /*@editable*/ text-align:left;
57
+ }
58
+ h3{
59
+ /*@editable*/ color:#606060 !important;
60
+ display:block;
61
+ /*@editable*/ font-family:Helvetica;
62
+ /*@editable*/ font-size:16px;
63
+ /*@editable*/ font-style:italic;
64
+ /*@editable*/ font-weight:normal;
65
+ /*@editable*/ line-height:100%;
66
+ /*@editable*/ letter-spacing:normal;
67
+ margin-top:0;
68
+ margin-right:0;
69
+ margin-bottom:10px;
70
+ margin-left:0;
71
+ /*@editable*/ text-align:left;
72
+ }
73
+ h4{
74
+ /*@editable*/ color:#808080 !important;
75
+ display:block;
76
+ /*@editable*/ font-family:Helvetica;
77
+ /*@editable*/ font-size:14px;
78
+ /*@editable*/ font-style:italic;
79
+ /*@editable*/ font-weight:normal;
80
+ /*@editable*/ line-height:100%;
81
+ /*@editable*/ letter-spacing:normal;
82
+ margin-top:0;
83
+ margin-right:0;
84
+ margin-bottom:10px;
85
+ margin-left:0;
86
+ /*@editable*/ text-align:left;
87
+ }
88
+ #templatePreheader{
89
+ /*@editable*/ background-color:#F4F4F4;
90
+ /*@editable*/ border-bottom:1px solid #CCCCCC;
91
+ }
92
+ .preheaderContent{
93
+ /*@editable*/ color:#808080;
94
+ /*@editable*/ font-family:Helvetica;
95
+ /*@editable*/ font-size:10px;
96
+ /*@editable*/ line-height:125%;
97
+ /*@editable*/ text-align:left;
98
+ }
99
+ .preheaderContent a:link, .preheaderContent a:visited, /* Yahoo! Mail Override */ .preheaderContent a .yshortcuts /* Yahoo! Mail Override */{
100
+ /*@editable*/ color:#606060;
101
+ /*@editable*/ font-weight:normal;
102
+ /*@editable*/ text-decoration:underline;
103
+ }
104
+ #templateHeader{
105
+ /*@editable*/ background-color:#F4F4F4;
106
+ /*@editable*/ border-top:1px solid #FFFFFF;
107
+ /*@editable*/ border-bottom:1px solid #CCCCCC;
108
+ }
109
+ .headerContent{
110
+ /*@editable*/ color:#505050;
111
+ /*@editable*/ font-family:Helvetica;
112
+ /*@editable*/ font-size:20px;
113
+ /*@editable*/ font-weight:bold;
114
+ /*@editable*/ line-height:100%;
115
+ /*@editable*/ padding-top:0;
116
+ /*@editable*/ padding-right:0;
117
+ /*@editable*/ padding-bottom:0;
118
+ /*@editable*/ padding-left:0;
119
+ /*@editable*/ text-align:left;
120
+ /*@editable*/ vertical-align:middle;
121
+ }
122
+ .headerContent a:link, .headerContent a:visited, /* Yahoo! Mail Override */ .headerContent a .yshortcuts /* Yahoo! Mail Override */{
123
+ /*@editable*/ color:#EB4102;
124
+ /*@editable*/ font-weight:normal;
125
+ /*@editable*/ text-decoration:underline;
126
+ }
127
+ #headerImage{
128
+ height:auto;
129
+ max-width:600px;
130
+ }
131
+ #templateBody{
132
+ /*@editable*/ background-color:#F4F4F4;
133
+ /*@editable*/ border-top:1px solid #FFFFFF;
134
+ /*@editable*/ border-bottom:1px solid #CCCCCC;
135
+ }
136
+ .bodyContent{
137
+ /*@editable*/ color:#505050;
138
+ /*@editable*/ font-family:Helvetica;
139
+ /*@editable*/ font-size:16px;
140
+ /*@editable*/ line-height:150%;
141
+ padding-top:20px;
142
+ padding-right:20px;
143
+ padding-bottom:20px;
144
+ padding-left:20px;
145
+ /*@editable*/ text-align:left;
146
+ }
147
+ .bodyContent a:link, .bodyContent a:visited, /* Yahoo! Mail Override */ .bodyContent a .yshortcuts /* Yahoo! Mail Override */{
148
+ /*@editable*/ color:#EB4102;
149
+ /*@editable*/ font-weight:normal;
150
+ /*@editable*/ text-decoration:underline;
151
+ }
152
+ .bodyContent img{
153
+ display:inline;
154
+ height:auto;
155
+ max-width:560px;
156
+ }
157
+ .templateColumnContainer{width:260px;}
158
+ #templateColumns{
159
+ /*@editable*/ background-color:#F4F4F4;
160
+ /*@editable*/ border-top:1px solid #FFFFFF;
161
+ /*@editable*/ border-bottom:1px solid #CCCCCC;
162
+ }
163
+ .leftColumnContent{
164
+ /*@editable*/ color:#505050;
165
+ /*@editable*/ font-family:Helvetica;
166
+ /*@editable*/ font-size:14px;
167
+ /*@editable*/ line-height:150%;
168
+ padding-top:0;
169
+ padding-right:20px;
170
+ padding-bottom:20px;
171
+ padding-left:20px;
172
+ /*@editable*/ text-align:left;
173
+ }
174
+ .leftColumnContent a:link, .leftColumnContent a:visited, /* Yahoo! Mail Override */ .leftColumnContent a .yshortcuts /* Yahoo! Mail Override */{
175
+ /*@editable*/ color:#EB4102;
176
+ /*@editable*/ font-weight:normal;
177
+ /*@editable*/ text-decoration:underline;
178
+ }
179
+ .rightColumnContent{
180
+ /*@editable*/ color:#505050;
181
+ /*@editable*/ font-family:Helvetica;
182
+ /*@editable*/ font-size:14px;
183
+ /*@editable*/ line-height:150%;
184
+ padding-top:0;
185
+ padding-right:20px;
186
+ padding-bottom:20px;
187
+ padding-left:20px;
188
+ /*@editable*/ text-align:left;
189
+ }
190
+ .rightColumnContent a:link, .rightColumnContent a:visited, /* Yahoo! Mail Override */ .rightColumnContent a .yshortcuts /* Yahoo! Mail Override */{
191
+ /*@editable*/ color:#EB4102;
192
+ /*@editable*/ font-weight:normal;
193
+ /*@editable*/ text-decoration:underline;
194
+ }
195
+ .leftColumnContent img, .rightColumnContent img{
196
+ display:inline;
197
+ height:auto;
198
+ max-width:260px;
199
+ }
200
+ #templateFooter{
201
+ /*@editable*/ background-color:#F4F4F4;
202
+ /*@editable*/ border-top:1px solid #FFFFFF;
203
+ }
204
+ .footerContent{
205
+ /*@editable*/ color:#808080;
206
+ /*@editable*/ font-family:Helvetica;
207
+ /*@editable*/ font-size:10px;
208
+ /*@editable*/ line-height:150%;
209
+ padding-top:20px;
210
+ padding-right:20px;
211
+ padding-bottom:20px;
212
+ padding-left:20px;
213
+ /*@editable*/ text-align:left;
214
+ }
215
+ .footerContent a:link, .footerContent a:visited, /* Yahoo! Mail Override */ .footerContent a .yshortcuts, .footerContent a span /* Yahoo! Mail Override */{
216
+ /*@editable*/ color:#606060;
217
+ /*@editable*/ font-weight:normal;
218
+ /*@editable*/ text-decoration:underline;
219
+ }
220
+ @media only screen and (max-width: 480px){
221
+ body, table, td, p, a, li, blockquote{-webkit-text-size-adjust:none !important;} /* Prevent Webkit platforms from changing default text sizes */
222
+ body{width:100% !important; min-width:100% !important;} /* Prevent iOS Mail from adding padding to the body */
223
+ #bodyCell{padding:10px !important;}
224
+ #templateContainer{
225
+ max-width:600px !important;
226
+ /*@editable*/ width:100% !important;
227
+ }
228
+ h1{
229
+ /*@editable*/ font-size:24px !important;
230
+ /*@editable*/ line-height:100% !important;
231
+ }
232
+ h2{
233
+ /*@editable*/ font-size:20px !important;
234
+ /*@editable*/ line-height:100% !important;
235
+ }
236
+ h3{
237
+ /*@editable*/ font-size:18px !important;
238
+ /*@editable*/ line-height:100% !important;
239
+ }
240
+ h4{
241
+ /*@editable*/ font-size:16px !important;
242
+ /*@editable*/ line-height:100% !important;
243
+ }
244
+ #templatePreheader{display:none !important;}
245
+ #headerImage{
246
+ height:auto !important;
247
+ /*@editable*/ max-width:600px !important;
248
+ /*@editable*/ width:100% !important;
249
+ }
250
+ .headerContent{
251
+ /*@editable*/ font-size:20px !important;
252
+ /*@editable*/ line-height:125% !important;
253
+ }
254
+ .bodyContent{
255
+ /*@editable*/ font-size:18px !important;
256
+ /*@editable*/ line-height:125% !important;
257
+ }
258
+ .templateColumnContainer{display:block !important; width:100% !important;}
259
+ .columnImage{
260
+ height:auto !important;
261
+ /*@editable*/ max-width:480px !important;
262
+ /*@editable*/ width:100% !important;
263
+ }
264
+ .leftColumnContent{
265
+ /*@editable*/ font-size:16px !important;
266
+ /*@editable*/ line-height:125% !important;
267
+ }
268
+ .rightColumnContent{
269
+ /*@editable*/ font-size:16px !important;
270
+ /*@editable*/ line-height:125% !important;
271
+ }
272
+ .footerContent{
273
+ /*@editable*/ font-size:14px !important;
274
+ /*@editable*/ line-height:115% !important;
275
+ }
276
+ .footerContent a{display:block !important;}
277
+ }
278
+ %body{:leftmargin => "0", :marginheight => "0", :marginwidth => "0", :offset => "0", :topmargin => "0"}
279
+ %center
280
+ %table#bodyTable{:align => "center", :border => "0", :cellpadding => "0", :cellspacing => "0", :height => "100%", :width => "100%"}
281
+ %tr
282
+ %td#bodyCell{:align => "center", :valign => "top"}
283
+ %table#templateContainer{:border => "0", :cellpadding => "0", :cellspacing => "0"}
284
+ %tr
285
+ %td{:align => "center", :valign => "top"}
286
+ %table#templateBody{:border => "0", :cellpadding => "0", :cellspacing => "0", :width => "100%"}
287
+ %tr
288
+ %td{:align => "left", :valign => "top"}
289
+ = image_tag "#{Settings.root_path}/images/mail-logo.png", width: 150, height: 150, style: 'padding: 10px 20px'
290
+ %tr
291
+ %td.bodyContent{"mc:edit" => "body_content", :valign => "top"}
292
+ = yield
293
+ %br/
294
+ %br/
295
+ %tr
296
+ %td{:align => "center", :valign => "top"}
297
+ %table#templateFooter{:border => "0", :cellpadding => "0", :cellspacing => "0", :width => "100%"}
298
+ %tr
299
+ %td.footerContent{"mc:edit" => "footer_content01", :style => "padding-top:0;", :valign => "top"}
300
+ %br/
301
+ %strong
302
+ Web adresi
303
+ \:
304
+ www.<%= app_name %>.com
305
+ %br/
306
+ %strong
307
+ E-posta
308
+ \:
309
+ info@<%= app_name %>.com
310
+ %br/
311
+ %strong
312
+ Telefon
313
+ \:
314
+ +90 (850) XXX XX-XX
315
+ %br/
316
+ %strong
317
+ İşlem Zamanı
318
+ \:
319
+ #{I18n.localize(Time.zone.now)}
320
+ %br/
321
+ <%= app_name %> Copyright &copy; #{Time.zone.now.year} Tüm Hakları Saklıdır.