dhatu 0.1.16 → 0.1.18
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.
- checksums.yaml +4 -4
- data/app/controllers/dhatu/categories_controller.rb +3 -1
- data/app/models/dhatu/blog_post.rb +43 -0
- data/app/models/dhatu/booking.rb +1 -1
- data/app/models/dhatu/branch.rb +48 -1
- data/app/models/dhatu/category.rb +1 -1
- data/app/models/dhatu/offer.rb +1 -1
- data/app/models/dhatu/price.rb +1 -1
- data/app/models/dhatu/promotion.rb +64 -2
- data/app/models/dhatu/promotion_attribute.rb +1 -1
- data/app/models/dhatu/promotion_enquiry.rb +1 -1
- data/app/models/dhatu/section.rb +25 -18
- data/app/models/dhatu/section_type.rb +1 -1
- data/app/models/dhatu/service.rb +1 -1
- data/app/models/dhatu/team_member.rb +1 -1
- data/app/models/dhatu/testimonial.rb +1 -1
- data/app/views/dhatu/categories/index.html.erb +5 -0
- data/app/views/dhatu/offers/_index.html.erb +47 -49
- data/app/views/dhatu/offers/_row.html.erb +3 -3
- data/app/views/dhatu/offers/_show.html.erb +7 -7
- data/app/views/dhatu/offers/index.html.erb +2 -2
- data/app/views/dhatu/promotions/_index.html.erb +47 -49
- data/app/views/dhatu/promotions/_row.html.erb +3 -3
- data/app/views/dhatu/promotions/index.html.erb +2 -2
- data/app/views/dhatu/sections/_row.html.erb +1 -2
- data/app/views/layouts/kuppayam/_sidebar.html.erb +1 -1
- data/db/data/dummy/categories.csv +28 -0
- data/db/data/dummy/events.csv +10 -0
- data/db/data/dummy/offers.csv +1 -0
- data/db/data/dummy/prices.csv +91 -0
- data/db/data/dummy/promotions.csv +7 -0
- data/db/data/dummy/section_types.csv +15 -0
- data/db/data/dummy/sections.csv +15 -0
- data/db/data/dummy/services.csv +117 -0
- data/db/data/dummy/team_members.csv +2 -0
- data/db/data/dummy/testimonials.csv +1 -0
- data/db/data/permissions.csv +34 -0
- data/db/data/users.csv +8 -0
- data/db/master_data/features.csv +25 -16
- data/db/master_data/roles.csv +3 -0
- data/db/migrate/20160803045832_create_events.rb +21 -0
- data/db/migrate/20160803045832_create_offers.rb +20 -0
- data/db/migrate/20171010055102_create_sections.rb +21 -0
- data/db/migrate/20171012073510_create_testimonials.rb +17 -0
- data/db/migrate/20171012103805_create_team_members.rb +20 -0
- data/db/migrate/20171012103806_create_blog_posts.rb +23 -0
- data/db/migrate/20171014125053_create_branches.rb +37 -0
- data/db/migrate/20171014125054_create_categories.rb +23 -0
- data/db/migrate/20171014125055_create_services.rb +24 -0
- data/db/migrate/20171104163658_add_category_id_to_blog_posts.rb +5 -0
- data/db/migrate/20171104163659_add_priority_to_tables.rb +8 -0
- data/db/migrate/20171104163660_create_prices.rb +17 -0
- data/db/migrate/20171104163661_create_bookings.rb +22 -0
- data/db/migrate/20171104163662_add_category_id_to_tables.rb +7 -0
- data/db/migrate/20171120145545_remove_categories_from_section.rb +5 -0
- data/db/migrate/20171120145546_create_section_types.rb +9 -0
- data/db/migrate/20171120145547_add_section_type_id_to_sections.rb +15 -0
- data/db/migrate/20171120145548_create_promotion_and_promotion_enquiries.rb +59 -0
- data/db/migrate/20171203114528_change_default_status_of_promotion_enquiries.rb +8 -0
- data/db/migrate/20171203114529_add_meta_description_to_services.rb +7 -0
- data/db/migrate/20171203114530_add_control_fields_to_promotions.rb +7 -0
- data/lib/dhatu/version.rb +1 -1
- data/lib/tasks/dhatu/data.rake +2 -2
- metadata +36 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a31c4186a8a046b6b45aedbc0e8b051b2e3ca94
|
4
|
+
data.tar.gz: 7828c199d77737380d93a7703eb6f3c6bfce9de3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2d5692673467bb172246ded35e8ee5d12cdd33e8333b2018c04eb2f78e04901e55ad65fffa86114a345a791d3ce9e3460f1ec6a08ef734d6460483ace234d1b
|
7
|
+
data.tar.gz: d69aa7af35ac67bd1149b00f2b535dd0f0dc20f62c61d79814f757942f7a5a90e73bc63f5138834b79ebfce5a98388447cdae18cf8c6c068f775073ae34bd0db
|
@@ -59,7 +59,7 @@ module Dhatu
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def get_features
|
62
|
-
@features = Feature.categorisable.published.order("
|
62
|
+
@features = Feature.categorisable.published.order("name ASC").all
|
63
63
|
end
|
64
64
|
|
65
65
|
def permitted_params
|
@@ -97,6 +97,8 @@ module Dhatu
|
|
97
97
|
case @category_type
|
98
98
|
when "none"
|
99
99
|
@relation = @relation.joins("LEFT JOIN features f on f.name = categories.category_type").where("f.name is NULL")
|
100
|
+
when "all_including_children"
|
101
|
+
@relation = Dhatu::Category.where("")
|
100
102
|
when "All"
|
101
103
|
@relation = @relation.where("")
|
102
104
|
else
|
@@ -35,6 +35,49 @@ class Dhatu::BlogPost < Dhatu::ApplicationRecord
|
|
35
35
|
|
36
36
|
scope :upcoming, lambda { where("starts_at >= ?", Time.now) }
|
37
37
|
scope :past, lambda { where("starts_at < ?", Time.now) }
|
38
|
+
|
39
|
+
def self.save_row_data(hsh)
|
40
|
+
# Initializing error hash for displaying all errors altogether
|
41
|
+
error_object = Kuppayam::Importer::ErrorHash.new
|
42
|
+
|
43
|
+
return error_object if hsh[:title].to_s.strip.blank?
|
44
|
+
|
45
|
+
category = Dhatu::Category.find_by_name(hsh[:category].to_s.strip)
|
46
|
+
|
47
|
+
unless category
|
48
|
+
puts "Category '#{hsh[:category].to_s.strip}' not found".red
|
49
|
+
return
|
50
|
+
end
|
51
|
+
|
52
|
+
blog_post = Dhatu::BlogPost.where("title = ? AND category_id = ?", hsh[:title].to_s.strip, category.id).first || Dhatu::BlogPost.new
|
53
|
+
|
54
|
+
blog_post.title = hsh[:title].to_s.strip
|
55
|
+
blog_post.slug = blog_post.title.parameterize[0..64] if blog_post.title
|
56
|
+
blog_post.author = hsh[:author].to_s.strip
|
57
|
+
blog_post.meta_description = hsh[:meta_description].to_s.strip
|
58
|
+
blog_post.description = hsh[:description].to_s.strip
|
59
|
+
blog_post.posted_at = hsh[:posted_at].to_s.strip
|
60
|
+
|
61
|
+
blog_post.category = category
|
62
|
+
|
63
|
+
blog_post.featured = ["true", "t","1","yes","y"].include?(hsh[:featured].to_s.strip)
|
64
|
+
blog_post.status = hsh[:status].to_s.strip.blank? ? PUBLISHED : hsh[:status].to_s.strip
|
65
|
+
|
66
|
+
if blog_post.valid?
|
67
|
+
begin
|
68
|
+
blog_post.save!
|
69
|
+
rescue Exception => e
|
70
|
+
summary = "uncaught #{e} exception while handling connection: #{e.message}"
|
71
|
+
details = "Stack trace: #{e.backtrace.map {|l| " #{l}\n"}.join}"
|
72
|
+
error_object.errors << { summary: summary, details: details }
|
73
|
+
end
|
74
|
+
else
|
75
|
+
summary = "Error while saving blog_post: #{blog_post.title}"
|
76
|
+
details = "Error! #{blog_post.errors.full_messages.to_sentence}"
|
77
|
+
error_object.errors << { summary: summary, details: details }
|
78
|
+
end
|
79
|
+
return error_object
|
80
|
+
end
|
38
81
|
|
39
82
|
# ------------------
|
40
83
|
# Instance Methods
|
data/app/models/dhatu/booking.rb
CHANGED
data/app/models/dhatu/branch.rb
CHANGED
@@ -57,8 +57,55 @@ class Dhatu::Branch < Dhatu::ApplicationRecord
|
|
57
57
|
scope :past, lambda { where("created_at < ?", Time.now) }
|
58
58
|
scope :main_branch, lambda { where("main_branch is TRUE")}
|
59
59
|
|
60
|
+
def self.save_row_data(hsh)
|
61
|
+
# Initializing error hash for displaying all errors altogether
|
62
|
+
error_object = Kuppayam::Importer::ErrorHash.new
|
63
|
+
|
64
|
+
return error_object if hsh[:title].to_s.strip.blank?
|
65
|
+
|
66
|
+
branch = Dhatu::Branch.find_by_title(hsh[:title].to_s.strip) || Dhatu::Branch.new
|
67
|
+
|
68
|
+
branch.title = hsh[:title].to_s.strip
|
69
|
+
branch.address_1 = hsh[:address_1].to_s.strip
|
70
|
+
branch.address_2 = hsh[:address_2].to_s.strip
|
71
|
+
branch.address_3 = hsh[:address_3].to_s.strip
|
72
|
+
branch.email = hsh[:email].to_s.strip
|
73
|
+
branch.landline = hsh[:landline].to_s.strip
|
74
|
+
branch.fax = hsh[:fax].to_s.strip
|
75
|
+
branch.mobile = hsh[:mobile].to_s.strip
|
76
|
+
|
77
|
+
branch.facebook = hsh[:facebook].to_s.strip
|
78
|
+
branch.twitter = hsh[:twitter].to_s.strip
|
79
|
+
branch.google_plus = hsh[:google_plus].to_s.strip
|
80
|
+
branch.linked_in = hsh[:linked_in].to_s.strip
|
81
|
+
branch.youtube = hsh[:youtube].to_s.strip
|
82
|
+
branch.instagram = hsh[:instagram].to_s.strip
|
83
|
+
branch.tumblr = hsh[:tumblr].to_s.strip
|
84
|
+
branch.pinterest = hsh[:pinterest].to_s.strip
|
85
|
+
branch.blog = hsh[:blog].to_s.strip
|
86
|
+
branch.status = hsh[:status].to_s.strip.blank? ? PUBLISHED : hsh[:status].to_s.strip
|
87
|
+
|
88
|
+
branch.featured = ["true", "t","1","yes","y"].include?(hsh[:featured].to_s.strip)
|
89
|
+
branch.main_branch = ["true", "t","1","yes","y"].include?(hsh[:main_branch].to_s.strip)
|
90
|
+
|
91
|
+
if branch.valid?
|
92
|
+
begin
|
93
|
+
branch.save!
|
94
|
+
rescue Exception => e
|
95
|
+
summary = "uncaught #{e} exception while handling connection: #{e.message}"
|
96
|
+
details = "Stack trace: #{e.backtrace.map {|l| " #{l}\n"}.join}"
|
97
|
+
error_object.errors << { summary: summary, details: details }
|
98
|
+
end
|
99
|
+
else
|
100
|
+
summary = "Error while saving branch: #{branch.title}"
|
101
|
+
details = "Error! #{branch.errors.full_messages.to_sentence}"
|
102
|
+
error_object.errors << { summary: summary, details: details }
|
103
|
+
end
|
104
|
+
return error_object
|
105
|
+
end
|
106
|
+
|
60
107
|
# ------------------
|
61
|
-
# Instance
|
108
|
+
# Instance Methods
|
62
109
|
# ------------------
|
63
110
|
|
64
111
|
# Generic Methods
|
data/app/models/dhatu/offer.rb
CHANGED
data/app/models/dhatu/price.rb
CHANGED
@@ -30,8 +30,48 @@ class Dhatu::Promotion < Dhatu::ApplicationRecord
|
|
30
30
|
scope :upcoming, lambda { where("starts_at >= ?", Time.now) }
|
31
31
|
scope :past, lambda { where("starts_at < ?", Time.now) }
|
32
32
|
|
33
|
+
def self.save_row_data(hsh)
|
34
|
+
# Initializing error hash for displaying all errors altogether
|
35
|
+
error_object = Kuppayam::Importer::ErrorHash.new
|
36
|
+
|
37
|
+
return error_object if hsh[:title].to_s.strip.blank?
|
38
|
+
|
39
|
+
promotion = Dhatu::Promotion.find_by_title(hsh[:title].to_s.strip) || Dhatu::Promotion.new
|
40
|
+
|
41
|
+
promotion.title = hsh[:title].to_s.strip
|
42
|
+
promotion.code = hsh[:code].to_s.strip
|
43
|
+
promotion.short_description = hsh[:short_description].to_s.strip
|
44
|
+
|
45
|
+
promotion.display_name = ["true", "t","1","yes","y"].include?(hsh[:display_name].to_s.strip)
|
46
|
+
promotion.display_email = ["true", "t","1","yes","y"].include?(hsh[:display_email].to_s.strip)
|
47
|
+
promotion.display_phone = ["true", "t","1","yes","y"].include?(hsh[:display_phone].to_s.strip)
|
48
|
+
|
49
|
+
promotion.name_mandatory = ["true", "t","1","yes","y"].include?(hsh[:name_mandatory].to_s.strip)
|
50
|
+
promotion.email_mandatory = ["true", "t","1","yes","y"].include?(hsh[:email_mandatory].to_s.strip)
|
51
|
+
promotion.phone_mandatory = ["true", "t","1","yes","y"].include?(hsh[:phone_mandatory].to_s.strip)
|
52
|
+
|
53
|
+
promotion.featured = ["true", "t","1","yes","y"].include?(hsh[:featured].to_s.strip)
|
54
|
+
promotion.status = hsh[:status].to_s.strip.blank? ? PUBLISHED : hsh[:status].to_s.strip
|
55
|
+
promotion.priority = hsh[:priority].to_s.strip.blank? ? 1000 : hsh[:priority].to_s.strip
|
56
|
+
|
57
|
+
if promotion.valid?
|
58
|
+
begin
|
59
|
+
promotion.save!
|
60
|
+
rescue Exception => e
|
61
|
+
summary = "uncaught #{e} exception while handling connection: #{e.message}"
|
62
|
+
details = "Stack trace: #{e.backtrace.map {|l| " #{l}\n"}.join}"
|
63
|
+
error_object.errors << { summary: summary, details: details }
|
64
|
+
end
|
65
|
+
else
|
66
|
+
summary = "Error while saving promotion: #{promotion.title}"
|
67
|
+
details = "Error! #{promotion.errors.full_messages.to_sentence}"
|
68
|
+
error_object.errors << { summary: summary, details: details }
|
69
|
+
end
|
70
|
+
return error_object
|
71
|
+
end
|
72
|
+
|
33
73
|
# ------------------
|
34
|
-
# Instance
|
74
|
+
# Instance Methods
|
35
75
|
# ------------------
|
36
76
|
|
37
77
|
# Generic Methods
|
@@ -46,7 +86,7 @@ class Dhatu::Promotion < Dhatu::ApplicationRecord
|
|
46
86
|
|
47
87
|
def promotion_attributes_with_values
|
48
88
|
hsh = {}
|
49
|
-
self.promotion_attributes.each do |pa|
|
89
|
+
self.promotion_attributes.published.where("mandatory is TRUE").order("priority ASC, name ASC").each do |pa|
|
50
90
|
hsh[pa.name] = { values: pa.values, selected: "selected", data_type: pa.data_type, mandatory: pa.mandatory}
|
51
91
|
end
|
52
92
|
hsh
|
@@ -69,5 +109,27 @@ class Dhatu::Promotion < Dhatu::ApplicationRecord
|
|
69
109
|
def generate_and_save_code
|
70
110
|
self.update_attribute(:code, SecureRandom.hex(4))
|
71
111
|
end
|
112
|
+
|
113
|
+
# Image Configuration
|
114
|
+
# -------------
|
115
|
+
def self.image_configuration
|
116
|
+
{
|
117
|
+
"Image::CoverImage" => {
|
118
|
+
max_upload_limit: 10485760,
|
119
|
+
min_upload_limit: 1,
|
120
|
+
resolutions: [1000, 500],
|
121
|
+
form_upload_image_label: "Upload a new Image",
|
122
|
+
form_title: "Upload an Image",
|
123
|
+
form_sub_title: "Please read the instructions below:",
|
124
|
+
form_instructions: [
|
125
|
+
"the filename should be in .jpg / .jpeg or .png format",
|
126
|
+
"the image resolutions should be <strong>1000 x 500 Pixels</strong>",
|
127
|
+
"the file size should be greater than 100 Kb and or lesser than <strong>10 MB</strong>",
|
128
|
+
"Note: most cameras and camera phones will produce images bigger than this"
|
129
|
+
]
|
130
|
+
}
|
131
|
+
}
|
132
|
+
|
133
|
+
end
|
72
134
|
|
73
135
|
end
|
data/app/models/dhatu/section.rb
CHANGED
@@ -44,38 +44,45 @@ class Dhatu::Section < Dhatu::ApplicationRecord
|
|
44
44
|
|
45
45
|
return error_object if hsh[:title].to_s.strip.blank?
|
46
46
|
|
47
|
-
|
47
|
+
section_type = Dhatu::SectionType.find_by_code(hsh[:section_type].to_s.strip)
|
48
|
+
|
49
|
+
unless section_type
|
50
|
+
puts "Section Type '#{hsh[:section_type].to_s.strip}' not found".red
|
51
|
+
return
|
52
|
+
end
|
53
|
+
|
54
|
+
section = Dhatu::Section.where("title = ? AND section_type_id = ?", hsh[:title].to_s.strip, section_type.id).first || Dhatu::Section.new
|
48
55
|
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
if
|
56
|
+
section.title = hsh[:title].to_s.strip
|
57
|
+
section.sub_title = hsh[:sub_title].to_s.strip
|
58
|
+
section.short_description = hsh[:short_description].to_s.strip
|
59
|
+
section.long_description = hsh[:long_description].to_s.strip
|
60
|
+
section.button_one_text = hsh[:button_one_text].to_s.strip
|
61
|
+
section.button_two_text = hsh[:button_two_text].to_s.strip
|
62
|
+
section.button_one_link = hsh[:button_one_link].to_s.strip
|
63
|
+
section.button_two_link = hsh[:button_two_link].to_s.strip
|
64
|
+
|
65
|
+
section.section_type = section_type
|
66
|
+
section.status = hsh[:status].to_s.strip || PUBLISHED
|
67
|
+
|
68
|
+
if section.valid?
|
62
69
|
begin
|
63
|
-
|
70
|
+
section.save!
|
64
71
|
rescue Exception => e
|
65
72
|
summary = "uncaught #{e} exception while handling connection: #{e.message}"
|
66
73
|
details = "Stack trace: #{e.backtrace.map {|l| " #{l}\n"}.join}"
|
67
74
|
error_object.errors << { summary: summary, details: details }
|
68
75
|
end
|
69
76
|
else
|
70
|
-
summary = "Error while saving
|
71
|
-
details = "Error! #{
|
77
|
+
summary = "Error while saving section: #{section.title}"
|
78
|
+
details = "Error! #{section.errors.full_messages.to_sentence}"
|
72
79
|
error_object.errors << { summary: summary, details: details }
|
73
80
|
end
|
74
81
|
return error_object
|
75
82
|
end
|
76
83
|
|
77
84
|
# ------------------
|
78
|
-
# Instance
|
85
|
+
# Instance Methods
|
79
86
|
# ------------------
|
80
87
|
|
81
88
|
# Generic Methods
|
data/app/models/dhatu/service.rb
CHANGED
@@ -12,9 +12,14 @@
|
|
12
12
|
<%= link_to feature.display_name, categories_path(category_type: feature.name) %>
|
13
13
|
</li>
|
14
14
|
<% end %>
|
15
|
+
<% if @current_user.super_admin? %>
|
15
16
|
<li class="<%= @category_type == "none" ? 'active' : '' %>">
|
16
17
|
<%= link_to "None", categories_path(category_type: :none) %>
|
17
18
|
</li>
|
19
|
+
<li class="<%= @category_type == "all_including_children" ? 'active' : '' %>">
|
20
|
+
<%= link_to "All Including Children", categories_path(category_type: :all_including_children) %>
|
21
|
+
</li>
|
22
|
+
<% end %>
|
18
23
|
</ul>
|
19
24
|
|
20
25
|
<div class="tab-content">
|
@@ -1,53 +1,51 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
1
|
+
<table class="table table-hover members-table middle-align">
|
2
|
+
<thead>
|
3
|
+
<tr>
|
4
|
+
<th style="text-align: center;width:5%" class="hidden-sm hidden-xs">#</th>
|
5
|
+
<th style="text-align: center;width:100px" class="hidden-sm hidden-xs"><i class="fa fa-photo"></i></th>
|
6
|
+
<th>Offer Title</th>
|
7
|
+
<th class="hidden-sm hidden-xs">Offer Text</th>
|
8
|
+
<th style="width:100px;" class="hidden-sm hidden-xs">Featured</th>
|
9
|
+
<th style="width:100px;" class="hidden-sm hidden-xs">Status</th>
|
10
|
+
<% if display_manage_links? %>
|
11
|
+
<th style="text-align: center;" colspan="2" class="hidden-sm hidden-xs">Actions</th>
|
12
|
+
<% end %>
|
13
|
+
</tr>
|
14
|
+
</thead>
|
15
|
+
<tbody>
|
16
|
+
<tr id="tr_offer_0"></tr>
|
17
|
+
<% @offers.each_with_index do |offer, i| %>
|
18
|
+
<tr id="tr_offer_<%= offer.id %>">
|
19
|
+
|
20
|
+
<th scope="row" style="text-align: center;" class="hidden-sm hidden-xs">
|
21
|
+
<%= serial_number(i) %>
|
22
|
+
</th>
|
23
|
+
|
24
|
+
<td class="display-image hidden-sm hidden-xs">
|
25
|
+
<%= display_thumbnail_small(offer) %>
|
26
|
+
</td>
|
27
|
+
|
28
|
+
<td class="display-link"><%= link_to offer.title, offer_path(offer), remote: true %></td>
|
29
|
+
|
30
|
+
<td class="display-link hidden-sm hidden-xs"><%= link_to offer.offer_text, offer_path(offer), remote: true %></td>
|
31
|
+
|
32
|
+
<td class="hidden-sm hidden-xs"><%= display_featured(offer) %></td>
|
33
|
+
|
34
|
+
<td class="hidden-sm hidden-xs"><%= display_publishable_status(offer) %></td>
|
35
|
+
|
36
|
+
<% if display_manage_links? %>
|
37
|
+
<td class="action-links hidden-sm hidden-xs" style="width:10%"><%= display_publishable_links(offer) %></td>
|
38
|
+
|
39
|
+
<td class="action-links hidden-sm hidden-xs" style="width:10%">
|
40
|
+
<%= display_featurable_links(offer) %>
|
41
|
+
<%= display_manage_links(offer, @current_user) %>
|
42
|
+
</td>
|
13
43
|
<% end %>
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
<tr id="tr_offer_<%= offer.id %>">
|
20
|
-
|
21
|
-
<th scope="row" style="text-align: center;">
|
22
|
-
<%= serial_number(i) %>
|
23
|
-
</th>
|
24
|
-
|
25
|
-
<td class="display-image">
|
26
|
-
<%= display_thumbnail_small(offer) %>
|
27
|
-
</td>
|
28
|
-
|
29
|
-
<td class="display-link"><%= link_to offer.title, offer_path(offer), remote: true %></td>
|
30
|
-
|
31
|
-
<td class="display-link"><%= link_to offer.offer_text, offer_path(offer), remote: true %></td>
|
32
|
-
|
33
|
-
<td class="hidden-sm hidden-xs"><%= display_featured(offer) %></td>
|
34
|
-
|
35
|
-
<td class="hidden-sm hidden-xs"><%= display_publishable_status(offer) %></td>
|
36
|
-
|
37
|
-
<% if display_manage_links? %>
|
38
|
-
<td class="action-links hidden-sm hidden-xs" style="width:10%"><%= display_publishable_links(offer) %></td>
|
39
|
-
|
40
|
-
<td class="action-links hidden-sm hidden-xs" style="width:10%">
|
41
|
-
<%= display_featurable_links(offer) %>
|
42
|
-
<%= display_manage_links(offer, @current_user) %>
|
43
|
-
</td>
|
44
|
-
<% end %>
|
45
|
-
|
46
|
-
</tr>
|
47
|
-
<% end %>
|
48
|
-
</tbody>
|
49
|
-
</table>
|
50
|
-
</div>
|
44
|
+
|
45
|
+
</tr>
|
46
|
+
<% end %>
|
47
|
+
</tbody>
|
48
|
+
</table>
|
51
49
|
|
52
50
|
<div class="row">
|
53
51
|
<div class="col-sm-12">
|