dhatu 0.1.11 → 0.1.12

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.
@@ -0,0 +1,148 @@
1
+ <div id="div_promotion_show">
2
+
3
+ <div class="row">
4
+
5
+ <div class="col-md-3 col-sm-12 col-xs-12" style="border-right:1px solid #f1f1f1;">
6
+ <% if display_edit_links? %>
7
+ <%= edit_image(@promotion,
8
+ "cover_image.image.large.url",
9
+ upload_image_link(@promotion, :cover_image, nil ),
10
+ remove_image_link(@promotion, :cover_image, nil ),
11
+ image_options: {assoc_name: :cover_image }) %>
12
+ <% else %>
13
+ <%= display_image(@promotion, "cover_image.image.large.url", class: "img-inline", alt: @promotion.display_name) %>
14
+ <% end %>
15
+ </div>
16
+
17
+ <div class="col-md-6 col-sm-12 col-xs-12" style="border-right:1px solid #f1f1f1;">
18
+
19
+ <%= theme_panel_heading(@promotion.title) %>
20
+
21
+ <%= theme_panel_sub_heading(@promotion.short_description, "#") if @promotion.short_description %>
22
+
23
+ <%= clear_tag(10) %>
24
+
25
+ <%= display_publishable_status(@promotion) %>
26
+
27
+ <%= display_featured(@promotion) %>
28
+
29
+ <%= clear_tag(20) %>
30
+
31
+ <table class="table table-condensed table-bordered mb-20">
32
+ <tbody>
33
+
34
+ <tr>
35
+ <th>Display Name</th>
36
+ <td><%= @promotion.display_name ? "Yes" : "No" %></td>
37
+ <th>Name Mandatory?</th>
38
+ <td><%= @promotion.name_mandatory ? "Yes" : "No" %></td>
39
+ </tr>
40
+
41
+ <tr>
42
+ <th>Display Email</th>
43
+ <td><%= @promotion.display_email ? "Yes" : "No" %></td>
44
+ <th>Email Mandatory?</th>
45
+ <td><%= @promotion.email_mandatory ? "Yes" : "No" %></td>
46
+ </tr>
47
+
48
+ <tr>
49
+ <th>Display Phone</th>
50
+ <td><%= @promotion.display_phone ? "Yes" : "No" %></td>
51
+ <th>Phone Mandatory?</th>
52
+ <td><%= @promotion.phone_mandatory ? "Yes" : "No" %></td>
53
+ </tr>
54
+
55
+ </tbody>
56
+ </table>
57
+ </div>
58
+
59
+ <% if display_manage_links? %>
60
+ <div class="col-md-3 col-sm-12 col-xs-12">
61
+ <%= display_manage_buttons(@promotion) %>
62
+ <%= display_publishable_buttons(@promotion) %>
63
+ <%= display_featurable_buttons(@promotion) %>
64
+ </div>
65
+ <% end %>
66
+
67
+ </div>
68
+
69
+ <hr>
70
+
71
+ <div class="visible-sm visible-xs mb-50"></div>
72
+
73
+ <%= clear_tag(20) %>
74
+
75
+ <ul class="nav nav-pills">
76
+ <li class="active">
77
+ <a href="#technical_details" data-toggle="tab" aria-expanded="false">
78
+ <span class="visible-xs"><i class="fa-database"></i></span>
79
+ <span class="hidden-xs">Technical Details</span>
80
+ </a>
81
+ </li>
82
+
83
+ <li class="">
84
+ <a href="#additional_attributes" data-toggle="tab" aria-expanded="false">
85
+ <span class="visible-xs"><i class="fa-database"></i></span>
86
+ <span class="hidden-xs">Additional Attributes</span>
87
+ </a>
88
+ </li>
89
+ </ul>
90
+
91
+ <div class="tab-content">
92
+ <div class="tab-pane active" id="technical_details" style="border: 1px solid #000;min-height:200px;padding:20px;margin-bottom:20px;max-height: 400px;overflow-y: auto;">
93
+
94
+ <%= clear_tag(20) %>
95
+
96
+ <div class="table-responsive">
97
+ <table class="table table-striped table-condensed table-bordered mb-60">
98
+ <tbody>
99
+
100
+ <tr>
101
+ <th>ID</th><td><%= @promotion.id %></td>
102
+ <th>Code</th><td><%= @promotion.code %></td>
103
+ </tr>
104
+ <tr>
105
+ <th>Featured</th><td><%= @promotion.featured %></td>
106
+ <th>Status</th><td><%= @promotion.status %></td>
107
+ </tr>
108
+ <tr>
109
+ <th>Created At</th><td><%= @promotion.created_at.strftime("%m/%d/%Y - %H:%M:%S") if @promotion.created_at %></td>
110
+ <th>Updated At</th><td><%= @promotion.updated_at.strftime("%m/%d/%Y - %H:%M:%S") if @promotion.updated_at %></td>
111
+ </tr>
112
+
113
+ </tbody>
114
+ </table>
115
+ </div>
116
+
117
+ </div>
118
+
119
+ <div class="tab-pane" id="additional_attributes" style="border: 1px solid #000;min-height:200px;padding:20px;margin-bottom:20px;max-height: 400px;overflow-y: auto;">
120
+
121
+ <%= clear_tag(20) %>
122
+
123
+ <div id="div_promotion_attribute_action_buttons">
124
+ <div class="row">
125
+ <div class="col-md-6">
126
+
127
+ <%= theme_button('Add a Promotion Attribute', 'plus', new_promotion_attribute_path(pr: @promotion.id), classes: "pull-left", btn_type: "success") %>
128
+
129
+ <%= theme_button('Refresh', 'refresh', promotion_attributes_path(pr: @promotion.id), classes: "pull-left ml-10", btn_type: "white") %>
130
+
131
+ </div>
132
+ <div class="col-md-6"></div>
133
+ </div>
134
+ </div>
135
+ <%= clear_tag(10) %>
136
+
137
+ <div id="div_promotion_attribute_index">
138
+ <%= render :partial=>"dhatu/promotion_attributes/index" %>
139
+ </div>
140
+ <%= clear_tag(10) %>
141
+ </div>
142
+ </div>
143
+
144
+ <%= link_to "Close", "#", onclick: "closeLargeModal();", class: "btn btn-primary pull-right" %>
145
+
146
+ <%= clear_tag %>
147
+
148
+ </div>
@@ -0,0 +1,46 @@
1
+ <div class="row">
2
+
3
+ <div class="col-md-12">
4
+
5
+ <ul class="nav nav-tabs nav-tabs-justified">
6
+ <% Dhatu::Promotion::STATUS.each do |key, value| %>
7
+ <li class="<%= @status == value ? 'active' : '' %>">
8
+ <%= link_to promotions_path(st: value), "aria-expanded" => "#{ @status == value ? 'true' : 'false' }" do %>
9
+ <span class="visible-xs"><i class="fa-gift"></i></span>
10
+ <span class="hidden-xs"><%= key %></span>
11
+ <% end %>
12
+ </li>
13
+ <% end %>
14
+ </ul>
15
+
16
+ <div class="tab-content">
17
+ <div class="tab-pane active">
18
+
19
+ <div id="div_promotion_action_buttons">
20
+
21
+ <div class="row">
22
+ <div class="col-sm-6">
23
+ <%= theme_button('Add a Promotion', 'plus', new_promotion_path(), classes: "pull-left mr-10", btn_type: "success") if @current_user.has_create_permission?(Dhatu::Promotion) %>
24
+
25
+ <%= theme_button('Refresh', 'refresh', promotions_path(st: @status), classes: "pull-left mr-10", btn_type: "white") %>
26
+ </div>
27
+ <div class="col-sm-6">
28
+ <%= search_form_kuppayam(Dhatu::Promotion, promotions_path(st: @status), text: @filters[:query]) %>
29
+ </div>
30
+ </div>
31
+
32
+ </div>
33
+ <%= clear_tag(10) %>
34
+
35
+ <div id="div_promotion_index">
36
+ <%= render :partial=>"dhatu/promotions/index" %>
37
+ </div>
38
+ <%= clear_tag(10) %>
39
+
40
+ </div>
41
+ </div>
42
+
43
+ </div>
44
+
45
+ </div>
46
+
@@ -1,5 +1,17 @@
1
1
  <%
2
2
  dhatu_items = {
3
+ promotions: {
4
+ text: "Promotions",
5
+ icon_class: "fa-gift",
6
+ url: dhatu.promotions_url,
7
+ has_permission: @current_user.has_read_permission?(Dhatu::Promotion)
8
+ },
9
+ promotion_enquiries: {
10
+ text: "Promotional Enquiries",
11
+ icon_class: "linecons-sound",
12
+ url: dhatu.promotion_enquiries_url,
13
+ has_permission: @current_user.has_read_permission?(Dhatu::PromotionEnquiry)
14
+ },
3
15
  bookings: {
4
16
  text: "Bookings",
5
17
  icon_class: "fa-calendar",
@@ -103,6 +115,18 @@
103
115
  icon_class: "linecons-diamond",
104
116
  url: usman.features_url,
105
117
  has_permission: @current_user.has_read_permission?(Feature)
118
+ },
119
+ section_types: {
120
+ text: "Manage Section Types",
121
+ icon_class: "fa-reorder",
122
+ url: dhatu.section_types_url,
123
+ has_permission: @current_user.has_read_permission?(Dhatu::SectionType)
124
+ },
125
+ promotion_attributes: {
126
+ text: "Promotion Attributes",
127
+ icon_class: "fa-list",
128
+ url: dhatu.promotion_attributes_url,
129
+ has_permission: @current_user.has_read_permission?(Dhatu::PromotionAttribute)
106
130
  }
107
131
  }
108
132
  %>
@@ -200,7 +224,7 @@
200
224
  </ul>
201
225
  </li>
202
226
  <% end %>
203
-
227
+
204
228
  <% if configuration_items.map{|x,y| x if y[:has_permission] }.compact.any? %>
205
229
  <li class="">
206
230
  <a href="#">
data/config/routes.rb CHANGED
@@ -4,6 +4,28 @@ Dhatu::Engine.routes.draw do
4
4
 
5
5
  scope :admin do
6
6
 
7
+ resources :promotions do
8
+ member do
9
+ put :update_status, as: :update_status
10
+ put :mark_as_featured
11
+ put :remove_from_featured
12
+ end
13
+ end
14
+
15
+ resources :promotion_attributes do
16
+ member do
17
+ put :update_status, as: :update_status
18
+ end
19
+ end
20
+
21
+ resources :promotion_enquiries, only: [:index, :show] do
22
+ member do
23
+ put :update_status, as: :update_status
24
+ put :mark_as_featured
25
+ put :remove_from_featured
26
+ end
27
+ end
28
+
7
29
  resources :bookings, only: [:index, :show] do
8
30
  member do
9
31
  put :update_status, as: :update_status
data/lib/dhatu/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Dhatu
2
- VERSION = '0.1.11'
2
+ VERSION = '0.1.12'
3
3
  end
@@ -0,0 +1,48 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :unpublished_promotion, class: Dhatu::Promotion do
4
+ title "Offer Title"
5
+ code "108273"
6
+ short_description "Some Promotion Description"
7
+
8
+ display_name true
9
+ display_email true
10
+ display_phone true
11
+
12
+ name_mandatory true
13
+ email_mandatory false
14
+ phone_mandatory false
15
+ end
16
+
17
+ factory :published_promotion, parent: :unpublished_promotion do
18
+ after :build do |e|
19
+ e.publish
20
+ end
21
+ end
22
+
23
+ factory :removed_promotion, parent: :unpublished_promotion do
24
+ after :build do |e|
25
+ e.remove
26
+ end
27
+ end
28
+
29
+ factory :archived_promotion, parent: :unpublished_promotion do
30
+ after :build do |e|
31
+ e.archive
32
+ end
33
+ end
34
+
35
+ factory :featured_promotion, parent: :published_promotion do
36
+ after :build do |e|
37
+ e.mark_as_featured
38
+ end
39
+ end
40
+
41
+ factory :non_featured_promotion, parent: :published_promotion do
42
+ after :build do |e|
43
+ e.remove_from_featured
44
+ end
45
+ end
46
+
47
+
48
+ end
@@ -0,0 +1,36 @@
1
+ FactoryGirl.define do
2
+ factory :promotion_attribute do
3
+ name "Attribute Name"
4
+
5
+ # Data Type could be text, integer, date, list_drop_down (Select from a List), list_radio_button (Choose one) & boolean (Checkbox)
6
+ data_type "text"
7
+ mandatory false
8
+ promotion
9
+ end
10
+
11
+ factory :text_promotion_attribute, parent: :promotion_attribute do
12
+ data_type "text"
13
+ end
14
+
15
+ factory :integer_promotion_attribute, parent: :promotion_attribute do
16
+ data_type "integer"
17
+ end
18
+
19
+ factory :date_promotion_attribute, parent: :promotion_attribute do
20
+ data_type "date"
21
+ end
22
+
23
+ factory :list_drop_down_promotion_attribute, parent: :promotion_attribute do
24
+ data_type "list_drop_down"
25
+ values ["Value 1", "Value 2", "Value 3"]
26
+ end
27
+
28
+ factory :list_radio_button_promotion_attribute, parent: :promotion_attribute do
29
+ data_type "list_radio_button"
30
+ values ["Radio 1", "Radio 2", "Radio 3"]
31
+ end
32
+
33
+ factory :boolean_promotion_attribute, parent: :promotion_attribute do
34
+ data_type "boolean"
35
+ end
36
+ end
@@ -0,0 +1,13 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :promotion_cover_image, class: Image::CoverImage do
4
+ image { Rack::Test::UploadedFile.new('spec/dummy/spec/factories/test.jpg', 'image.png') }
5
+ association :imageable, factory: :published_promotion
6
+ end
7
+
8
+ factory :oversized_promotion_cover_image, class: Image::CoverImage do
9
+ image { Rack::Test::UploadedFile.new('spec/dummy/spec/factories/test.jpg', 'image.png') }
10
+ association :imageable, factory: :published_promotion
11
+ end
12
+
13
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dhatu
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - kpvarma
@@ -107,7 +107,7 @@ dependencies:
107
107
  version: '0.1'
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
- version: 0.1.27
110
+ version: 0.1.28
111
111
  type: :runtime
112
112
  prerelease: false
113
113
  version_requirements: !ruby/object:Gem::Requirement
@@ -117,7 +117,7 @@ dependencies:
117
117
  version: '0.1'
118
118
  - - ">="
119
119
  - !ruby/object:Gem::Version
120
- version: 0.1.27
120
+ version: 0.1.28
121
121
  - !ruby/object:Gem::Dependency
122
122
  name: pattana
123
123
  requirement: !ruby/object:Gem::Requirement
@@ -418,6 +418,8 @@ files:
418
418
  - app/controllers/dhatu/events_controller.rb
419
419
  - app/controllers/dhatu/offers_controller.rb
420
420
  - app/controllers/dhatu/prices_controller.rb
421
+ - app/controllers/dhatu/promotion_attributes_controller.rb
422
+ - app/controllers/dhatu/promotions_controller.rb
421
423
  - app/controllers/dhatu/resource_controller.rb
422
424
  - app/controllers/dhatu/section_types_controller.rb
423
425
  - app/controllers/dhatu/sections_controller.rb
@@ -435,6 +437,9 @@ files:
435
437
  - app/models/dhatu/event.rb
436
438
  - app/models/dhatu/offer.rb
437
439
  - app/models/dhatu/price.rb
440
+ - app/models/dhatu/promotion.rb
441
+ - app/models/dhatu/promotion_attribute.rb
442
+ - app/models/dhatu/promotion_enquiry.rb
438
443
  - app/models/dhatu/section.rb
439
444
  - app/models/dhatu/section_type.rb
440
445
  - app/models/dhatu/service.rb
@@ -479,6 +484,16 @@ files:
479
484
  - app/views/dhatu/prices/_row.html.erb
480
485
  - app/views/dhatu/prices/_show.html.erb
481
486
  - app/views/dhatu/prices/index.html.erb
487
+ - app/views/dhatu/promotion_attributes/_form.html.erb
488
+ - app/views/dhatu/promotion_attributes/_index.html.erb
489
+ - app/views/dhatu/promotion_attributes/_row.html.erb
490
+ - app/views/dhatu/promotion_attributes/_show.html.erb
491
+ - app/views/dhatu/promotion_attributes/index.html.erb
492
+ - app/views/dhatu/promotions/_form.html.erb
493
+ - app/views/dhatu/promotions/_index.html.erb
494
+ - app/views/dhatu/promotions/_row.html.erb
495
+ - app/views/dhatu/promotions/_show.html.erb
496
+ - app/views/dhatu/promotions/index.html.erb
482
497
  - app/views/dhatu/section_types/_form.html.erb
483
498
  - app/views/dhatu/section_types/_index.html.erb
484
499
  - app/views/dhatu/section_types/_row.html.erb
@@ -529,6 +544,9 @@ files:
529
544
  - spec/dummy/spec/factories/offer.rb
530
545
  - spec/dummy/spec/factories/offer_cover_image.rb
531
546
  - spec/dummy/spec/factories/offer_gallery_image.rb
547
+ - spec/dummy/spec/factories/promotion.rb
548
+ - spec/dummy/spec/factories/promotion_attributes.rb
549
+ - spec/dummy/spec/factories/promotion_cover_image.rb
532
550
  - spec/dummy/spec/factories/section.rb
533
551
  - spec/dummy/spec/factories/section_cover_image.rb
534
552
  - spec/dummy/spec/factories/section_gallery_image.rb