kuppayam 0.1.15 → 0.1.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/kuppayam/utilities.js +9 -0
- data/app/controllers/kuppayam/base_controller.rb +1 -0
- data/app/helpers/filter_helper.rb +4 -3
- data/app/helpers/image_helper.rb +7 -10
- data/app/helpers/navigation_helper.rb +11 -2
- data/app/helpers/resource_helper.rb +32 -0
- data/app/helpers/resource_view_helper.rb +227 -0
- data/app/models/concerns/approvable.rb +47 -0
- data/app/models/concerns/featureable.rb +23 -0
- data/app/models/concerns/publishable.rb +46 -0
- data/app/models/image/cover_image.rb +3 -0
- data/app/models/image/gallery_image.rb +11 -0
- data/app/models/image/logo_image.rb +3 -0
- data/app/models/image/profile_image.rb +3 -0
- data/app/uploaders/cover_image_uploader.rb +22 -0
- data/app/uploaders/gallery_image_uploader.rb +22 -0
- data/app/uploaders/logo_image_uploader.rb +22 -0
- data/app/uploaders/profile_image_uploader.rb +22 -0
- data/app/views/kuppayam/api/docs/_navbar.html.erb +12 -0
- data/app/views/kuppayam/api/docs/_navigation.html.erb +12 -19
- data/app/views/kuppayam/api/docs/show.html.erb +70 -80
- data/app/views/kuppayam/images/_form.html.erb +7 -1
- data/app/views/kuppayam/images/_multiple_images.html.erb +29 -0
- data/app/views/kuppayam/images/create.html.erb +20 -7
- data/app/views/kuppayam/images/destroy.js.erb +10 -2
- data/app/views/kuppayam/images/update.html.erb +2 -2
- data/app/views/layouts/dashboard/_items.html.erb +20 -0
- data/app/views/layouts/kuppayam/docs.html.erb +31 -55
- data/config/initializers/validators.rb +5 -1
- data/lib/generators/kuppayam/resource_generator.rb +254 -0
- data/lib/generators/kuppayam/templates/controllers/resource_controller.rb +84 -0
- data/lib/generators/kuppayam/templates/db/migrate/create_resources.rb +14 -0
- data/lib/generators/kuppayam/templates/models/resource.rb +72 -0
- data/lib/generators/kuppayam/templates/spec/controllers/resource_controller_spec.rb +154 -0
- data/lib/generators/kuppayam/templates/spec/factories/resource.rb +42 -0
- data/lib/generators/kuppayam/templates/spec/models/resource_spec.rb +36 -0
- data/lib/generators/kuppayam/templates/views/_form.html.erb +63 -0
- data/lib/generators/kuppayam/templates/views/_index.html.erb +53 -0
- data/lib/generators/kuppayam/templates/views/_row.html.erb +26 -0
- data/lib/generators/kuppayam/templates/views/_show.html.erb +112 -0
- data/lib/generators/kuppayam/templates/views/index.html.erb +46 -0
- data/lib/generators/resource/resource_generator.rb +337 -0
- data/lib/kuppayam/action_view/form_helper.rb +10 -2
- data/lib/kuppayam/action_view/theme_helper.rb +4 -2
- data/lib/kuppayam/version.rb +1 -1
- metadata +58 -2
@@ -0,0 +1,14 @@
|
|
1
|
+
class Create<%= model_class.pluralize %> < ActiveRecord::Migration[5.0]
|
2
|
+
def self.up
|
3
|
+
create_table :<%= table_name %> do |t|
|
4
|
+
<%- fields.each do |name, type| -%>
|
5
|
+
t.<%= type %> :<%= name %>
|
6
|
+
<%- end -%>
|
7
|
+
t.timestamps null: false
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def self.down
|
12
|
+
drop_table :<%= table_name %>
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,72 @@
|
|
1
|
+
class <%= model_class %> < ApplicationRecord
|
2
|
+
|
3
|
+
# Set Table Name
|
4
|
+
# self.table_name = "<%= table_name %>"
|
5
|
+
|
6
|
+
# Including the State Machine Methods
|
7
|
+
include Publishable
|
8
|
+
include Featureable
|
9
|
+
|
10
|
+
# Validations
|
11
|
+
<%- fields.each do |name, type| -%>
|
12
|
+
<%- if type == "string" -%>
|
13
|
+
validates :<%= name %>, presence: true
|
14
|
+
<%- elsif type == "text" -%>
|
15
|
+
validates :<%= name %>, presence: true
|
16
|
+
<%- elsif type == "integer" -%>
|
17
|
+
validates :<%= name %>, presence: true, numericality: true, if: proc{|x| x.condition? }
|
18
|
+
<%- elsif type == "decimal" || type == "float" -%>
|
19
|
+
validates :<%= name %>, format: { with: /^\d+??(?:\.\d{0,2})?$/ },
|
20
|
+
:numericality =>{:greater_than => 0}
|
21
|
+
<%- elsif type != "boolean" -%>
|
22
|
+
validates :<%= name %>, presence: true
|
23
|
+
<%- end -%>
|
24
|
+
<%- end -%>
|
25
|
+
|
26
|
+
# Associations
|
27
|
+
# has_one :cover_image, :as => :imageable, :dependent => :destroy, :class_name => "Image::CoverImage"
|
28
|
+
# has_many :gallery_images, :as => :imageable, :dependent => :destroy, :class_name => "Image::GalleryImage"
|
29
|
+
|
30
|
+
# ------------------
|
31
|
+
# Class Methods
|
32
|
+
# ------------------
|
33
|
+
|
34
|
+
scope :search, lambda {|query| where("
|
35
|
+
<% string_fields_including_main_field.each_with_index do |sfield, i| -%>
|
36
|
+
<% if string_fields_including_main_field.size - 1 != i -%>
|
37
|
+
LOWER(<%= sfield %>) LIKE LOWER('%#{query}%') OR\
|
38
|
+
<% else -%>
|
39
|
+
LOWER(<%= sfield %>) LIKE LOWER('%#{query}%')")
|
40
|
+
<% end -%>
|
41
|
+
<% end -%>
|
42
|
+
}
|
43
|
+
|
44
|
+
scope :upcoming, lambda { where("created_at >= ?", Time.now) }
|
45
|
+
scope :past, lambda { where("created_at < ?", Time.now) }
|
46
|
+
|
47
|
+
# ------------------
|
48
|
+
# Instance variables
|
49
|
+
# ------------------
|
50
|
+
|
51
|
+
# Generic Methods
|
52
|
+
# ---------------
|
53
|
+
def to_param
|
54
|
+
"#{id}-#{title.parameterize[0..32]}"
|
55
|
+
end
|
56
|
+
|
57
|
+
def display_name
|
58
|
+
"#{title_was}"
|
59
|
+
end
|
60
|
+
|
61
|
+
# Permission Methods
|
62
|
+
# ------------------
|
63
|
+
|
64
|
+
def can_be_edited?
|
65
|
+
status?(:published) or status?(:unpublished)
|
66
|
+
end
|
67
|
+
|
68
|
+
def can_be_deleted?
|
69
|
+
status?(:removed)
|
70
|
+
end
|
71
|
+
|
72
|
+
end
|
@@ -0,0 +1,154 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
# require 'pattana/factories.rb'
|
3
|
+
# require 'usman/factories.rb'
|
4
|
+
|
5
|
+
describe <%= controller_class -%>, :type => :controller do
|
6
|
+
|
7
|
+
let(:user) {FactoryGirl.create(:user)}
|
8
|
+
let(:suspended_user) {FactoryGirl.create(:suspended_user)}
|
9
|
+
|
10
|
+
let(:site_role) {FactoryGirl.create(:role, name: "Site Admin")}
|
11
|
+
|
12
|
+
let(:super_admin_user) {FactoryGirl.create(:super_admin_user)}
|
13
|
+
let(:site_admin_user) {
|
14
|
+
site_role
|
15
|
+
user = FactoryGirl.create(:approved_user)
|
16
|
+
user.add_role("Site Admin")
|
17
|
+
user
|
18
|
+
}
|
19
|
+
let(:approved_user) {FactoryGirl.create(:approved_user)}
|
20
|
+
|
21
|
+
let(:published_<%= instance_name %>) {FactoryGirl.create(:published_<%= instance_name %>)}
|
22
|
+
let(:unpublished_<%= instance_name %>) {FactoryGirl.create(:unpublished_<%= instance_name %>)}
|
23
|
+
let(:suspended_<%= instance_name %>) {FactoryGirl.create(:suspended_<%= instance_name %>)}
|
24
|
+
let(:blocked_<%= instance_name %>) {FactoryGirl.create(:blocked_<%= instance_name %>)}
|
25
|
+
let(:removed_<%= instance_name %>) {FactoryGirl.create(:removed_<%= instance_name %>)}
|
26
|
+
|
27
|
+
describe "index" do
|
28
|
+
2.times { FactoryGirl.create(:published_<%= instance_name %>) }
|
29
|
+
context "Positive Case" do
|
30
|
+
it "should be able to view the list of countries" do
|
31
|
+
session[:id] = site_admin_user.id
|
32
|
+
get :index, params: { use_route: 'dhatu' }
|
33
|
+
expect(response.status).to eq(200)
|
34
|
+
end
|
35
|
+
|
36
|
+
it "should be able to search an <%= instance_name %>" do
|
37
|
+
session[:id] = site_admin_user.id
|
38
|
+
get :index, params: { use_route: 'dhatu', query: "India" }, xhr: true
|
39
|
+
expect(response.status).to eq(200)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
describe "show" do
|
45
|
+
context "Positive Case" do
|
46
|
+
it "should be able to view single <%= instance_name %> details" do
|
47
|
+
session[:id] = site_admin_user.id
|
48
|
+
get :show, params: { use_route: 'dhatu', id: published_<%= instance_name %>.id }, xhr: true
|
49
|
+
expect(response.status).to eq(200)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe "update_status" do
|
55
|
+
context "Positive Case" do
|
56
|
+
it "should be update status - publish" do
|
57
|
+
session[:id] = site_admin_user.id
|
58
|
+
unpublished_<%= instance_name %> = FactoryGirl.create(:unpublished_<%= instance_name %>)
|
59
|
+
put :update_status, params: { use_route: 'dhatu', id: unpublished_<%= instance_name %>.id, status: :published }, xhr: true
|
60
|
+
unpublished_<%= instance_name %>.reload
|
61
|
+
expect(unpublished_<%= instance_name %>.published?).to be_truthy
|
62
|
+
expect(response.status).to eq(200)
|
63
|
+
end
|
64
|
+
|
65
|
+
it "should be update status - unpublish" do
|
66
|
+
session[:id] = site_admin_user.id
|
67
|
+
published_<%= instance_name %> = FactoryGirl.create(:published_<%= instance_name %>)
|
68
|
+
put :update_status, params: { use_route: 'dhatu', id: published_<%= instance_name %>.id, status: :unpublished }, xhr: true
|
69
|
+
published_<%= instance_name %>.reload
|
70
|
+
expect(published_<%= instance_name %>.unpublished?).to be_truthy
|
71
|
+
expect(response.status).to eq(200)
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should be update status - remove" do
|
75
|
+
session[:id] = site_admin_user.id
|
76
|
+
unpublished_<%= instance_name %> = FactoryGirl.create(:unpublished_<%= instance_name %>)
|
77
|
+
put :update_status, params: { use_route: 'dhatu', id: unpublished_<%= instance_name %>.id, status: :removed }, xhr: true
|
78
|
+
unpublished_<%= instance_name %>.reload
|
79
|
+
expect(unpublished_<%= instance_name %>.removed?).to be_truthy
|
80
|
+
expect(response.status).to eq(200)
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should be update status - archive" do
|
84
|
+
session[:id] = site_admin_user.id
|
85
|
+
unpublished_<%= instance_name %> = FactoryGirl.create(:unpublished_<%= instance_name %>)
|
86
|
+
put :update_status, params: { use_route: 'dhatu', id: unpublished_<%= instance_name %>.id, status: :archived }, xhr: true
|
87
|
+
unpublished_<%= instance_name %>.reload
|
88
|
+
expect(unpublished_<%= instance_name %>.archived?).to be_truthy
|
89
|
+
expect(response.status).to eq(200)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
describe "new" do
|
95
|
+
context "Positive Case" do
|
96
|
+
it "should display the new form for site admin" do
|
97
|
+
session[:id] = site_admin_user.id
|
98
|
+
get :new, params: { use_route: 'dhatu' }, xhr: true
|
99
|
+
expect(response.status).to eq(200)
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "edit" do
|
105
|
+
context "Positive Case" do
|
106
|
+
it "should display the edit form for site admin" do
|
107
|
+
session[:id] = site_admin_user.id
|
108
|
+
get :edit, params: { use_route: 'dhatu' }, xhr: true
|
109
|
+
expect(response.status).to eq(200)
|
110
|
+
end
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
describe "create" do
|
115
|
+
context "Positive Case" do
|
116
|
+
it "site admin should be able to create a region" do
|
117
|
+
session[:id] = site_admin_user.id
|
118
|
+
<%= instance_name %>_params = FactoryGirl.build(:unpublished_<%= instance_name %>, name: "Some Name").attributes
|
119
|
+
expect do
|
120
|
+
post :create, params: { use_route: 'dhatu', "<%= instance_name %>": <%= instance_name %>_params }, xhr: true
|
121
|
+
end.to change(<%= model_class -%>, :count).by(1)
|
122
|
+
expect(<%= model_class -%>.last.name).to match("Some Name")
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe "update" do
|
128
|
+
context "Positive Case" do
|
129
|
+
it "site admin should be able to update a <%= instance_name %>" do
|
130
|
+
session[:id] = site_admin_user.id
|
131
|
+
published_<%= instance_name %> = FactoryGirl.create(:published_<%= instance_name %>, title: "Some Title")
|
132
|
+
<%= instance_name %>_params = published_<%= instance_name %>.attributes.clone
|
133
|
+
<%= instance_name %>_params["title"] = "Changed Title"
|
134
|
+
expect do
|
135
|
+
put :update, params: { use_route: 'dhatu', id: published_<%= instance_name %>.id, "<%= instance_name %>": <%= instance_name %>_params }, xhr: true
|
136
|
+
end.to change(<%= model_class -%>, :count).by(0)
|
137
|
+
expect(published_<%= instance_name %>.reload.title).to match("Changed Title")
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
describe "destroy" do
|
143
|
+
context "Positive Case" do
|
144
|
+
it "site admin should be able to remove a <%= instance_name %>" do
|
145
|
+
session[:id] = site_admin_user.id
|
146
|
+
removed_<%= instance_name %>
|
147
|
+
expect do
|
148
|
+
delete :destroy, params: { use_route: 'dhatu', id: removed_<%= instance_name %>.id }, xhr: true
|
149
|
+
end.to change(<%= model_class -%>, :count).by(-1)
|
150
|
+
end
|
151
|
+
end
|
152
|
+
end
|
153
|
+
|
154
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
FactoryGirl.define do
|
2
|
+
|
3
|
+
factory :unpublished_<%= instance_name %>, class: <%= model_class %> do
|
4
|
+
|
5
|
+
<%- fields.each do |name, type| -%>
|
6
|
+
<%= name -%> "Some Text"
|
7
|
+
<%- end -%>
|
8
|
+
|
9
|
+
end
|
10
|
+
|
11
|
+
factory :published_<%= instance_name %>, parent: :unpublished_<%= instance_name %> do
|
12
|
+
after :build do |e|
|
13
|
+
e.publish
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
factory :removed_<%= instance_name %>, parent: :unpublished_<%= instance_name %> do
|
18
|
+
after :build do |e|
|
19
|
+
e.remove
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
factory :archived_<%= instance_name %>, parent: :unpublished_<%= instance_name %> do
|
24
|
+
after :build do |e|
|
25
|
+
e.archive
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
factory :featured_<%= instance_name %>, parent: :published_<%= instance_name %> do
|
30
|
+
after :build do |e|
|
31
|
+
e.mark_as_featured
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
factory :non_featured_<%= instance_name %>, parent: :published_<%= instance_name %> do
|
36
|
+
after :build do |e|
|
37
|
+
e.remove_from_featured
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe <%= model_class %>, type: :model do
|
4
|
+
|
5
|
+
let(:<%= instance_name %>) {FactoryGirl.build(:<%= instance_name %>)}
|
6
|
+
|
7
|
+
context "Factory" do
|
8
|
+
it "should validate all the factories" do
|
9
|
+
expect(FactoryGirl.build(:published_<%= instance_name %>).valid?).to be true
|
10
|
+
expect(FactoryGirl.build(:unpublished_<%= instance_name %>).valid?).to be true
|
11
|
+
expect(FactoryGirl.build(:removed_<%= instance_name %>).valid?).to be true
|
12
|
+
expect(FactoryGirl.build(:archived_<%= instance_name %>).valid?).to be true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
context "Validations" do
|
17
|
+
it { should validate_presence_of :title }
|
18
|
+
it { should allow_value('<%= model_name %> Title').for(:title )}
|
19
|
+
it { should_not allow_value('OFTL').for(:title )}
|
20
|
+
it { should_not allow_value("x"*257).for(:title )}
|
21
|
+
|
22
|
+
it { should validate_presence_of :<%= instance_name %>_text }
|
23
|
+
it { should allow_value('<%= model_name %> Text').for(:<%= instance_name %>_text )}
|
24
|
+
it { should_not allow_value('OF').for(:<%= instance_name %>_text )}
|
25
|
+
it { should_not allow_value("x"*65).for(:<%= instance_name %>_text )}
|
26
|
+
|
27
|
+
it { should validate_presence_of :description }
|
28
|
+
|
29
|
+
it { should validate_inclusion_of(:status).in_array(<%= model_class %>::STATUS.values) }
|
30
|
+
end
|
31
|
+
|
32
|
+
context "Associations" do
|
33
|
+
it { should have_one(:cover_image) }
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
<%%= form_for(@<%= instance_name %>,
|
2
|
+
:url => (@<%= instance_name %>.new_record? ? dhatu.<%= instance_name %>s_path : <%= instance_name %>_path),
|
3
|
+
:method => (@<%= instance_name %>.new_record? ? :post : :put),
|
4
|
+
:remote => true,
|
5
|
+
:html => {:id=>"form_<%= instance_name %>", :class=>"mb-0 form-horizontal"}) do |f| %>
|
6
|
+
|
7
|
+
<div id="<%= instance_name %>_form_error">
|
8
|
+
<%%= @<%= instance_name %>.errors[:base].to_sentence %>
|
9
|
+
</div>
|
10
|
+
|
11
|
+
<div class="form-inputs m-15">
|
12
|
+
|
13
|
+
<%- fields.each do |name, type| -%>
|
14
|
+
|
15
|
+
<!-- <%= name.titleize -%> (<%= type -%>) -->
|
16
|
+
<% case type when "string" -%>
|
17
|
+
<% if name.include?("url") -%>
|
18
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :url, placeholder: ""}) -%>
|
19
|
+
<% elsif name.include?("email") -%>
|
20
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :email, placeholder: "name@domain.com"}) -%>
|
21
|
+
<% elsif name.include?("phone") || name.include?("mobile") || name.include?("landline") -%>
|
22
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :tel, placeholder: ""}) -%>
|
23
|
+
<% elsif name.include?("time") -%>
|
24
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :time, placeholder: ""}) -%>
|
25
|
+
<% elsif name.include?("date") -%>
|
26
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :date, placeholder: ""}) -%>
|
27
|
+
<% elsif name.include?("password") -%>
|
28
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :password, placeholder: ""}) -%>
|
29
|
+
<% else -%>
|
30
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { placeholder: ""}) -%>
|
31
|
+
<% end -%>
|
32
|
+
<% when "text" -%>
|
33
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, required: true, html_options: {type: :textarea, class: "form-control wysihtml5", "data-stylesheet-url": "assets/wysiwyg-color.css"}, form_style: "top-bottom") -%>
|
34
|
+
<% when "integer" -%>
|
35
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :number, placeholder: ""}) -%>
|
36
|
+
<% when "references" -%>
|
37
|
+
<%%# options = {assoc_collection: <%= name.titleize -%>.select("id, name").order("name ASC").all, required: true, editable: true, assoc_display_method: :name} -%>
|
38
|
+
<%%#= theme_form_assoc_group(@<%= instance_name -%>, :<%= name.parameterize -%>_id, **options) -%>
|
39
|
+
<% when "date" -%>
|
40
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :date, placeholder: ""}) -%>
|
41
|
+
<% when "datetime" -%>
|
42
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :datetime-local, placeholder: ""}) -%>
|
43
|
+
<% when "timestamp", "time" -%>
|
44
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :time, placeholder: ""}) -%>
|
45
|
+
<% when "boolean" -%>
|
46
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { type: :checkbox, placeholder: ""}) -%>
|
47
|
+
<% else -%>
|
48
|
+
<%%= theme_form_field(@<%= instance_name -%>, :<%= name %>, form_style: "top-bottom", html_options: { placeholder: ""}) -%>
|
49
|
+
<% end -%>
|
50
|
+
<% end -%>
|
51
|
+
|
52
|
+
</div>
|
53
|
+
|
54
|
+
<div>
|
55
|
+
<%%= submit_tag("Save", :class=>"btn btn-primary pull-right ml-10") %>
|
56
|
+
|
57
|
+
<%%= link_to raw("<i class='fa fa-close mr-5'></i><span>Cancel</span>"), "#", onclick: "closeLargeModal();", class: "pull-right btn btn-white" %>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<%%= clear_tag %>
|
61
|
+
|
62
|
+
<%% end %>
|
63
|
+
|
@@ -0,0 +1,53 @@
|
|
1
|
+
<div class="table-responsive">
|
2
|
+
<table class="table table-hover members-table middle-align">
|
3
|
+
<thead>
|
4
|
+
<tr>
|
5
|
+
<th style="text-align: center;width:5%">#</th>
|
6
|
+
<th style="text-align: center;width:100px"><i class="fa fa-photo"></i></th>
|
7
|
+
<th>Display Name</th>
|
8
|
+
<th>Something Else</th>
|
9
|
+
<th style="width:100px;" class="hidden-sm hidden-xs">Featured</th>
|
10
|
+
<th style="width:100px;" class="hidden-sm hidden-xs">Status</th>
|
11
|
+
<th style="text-align: center;" colspan="2" class="hidden-sm hidden-xs">Actions</th>
|
12
|
+
</tr>
|
13
|
+
</thead>
|
14
|
+
<tbody>
|
15
|
+
<tr id="tr_<%= instance_name %>_0"></tr>
|
16
|
+
<%% @<%= instance_name %>s.each_with_index do |<%= instance_name %>, i| %>
|
17
|
+
|
18
|
+
<tr id="tr_<%= instance_name %>_<%%= <%= instance_name %>.id %>">
|
19
|
+
|
20
|
+
<th scope="row" style="text-align: center;">
|
21
|
+
<%%= serial_number(i) %>
|
22
|
+
</th>
|
23
|
+
|
24
|
+
<td class="display-image">
|
25
|
+
<%%= display_thumbnail_small(<%= instance_name %>) %>
|
26
|
+
</td>
|
27
|
+
|
28
|
+
<td class="display-link"><%%= link_to <%= instance_name %>.display_name, <%= instance_name %>_path(<%= instance_name %>), remote: true %></td>
|
29
|
+
|
30
|
+
<td class="display-link"><%%#= link_to <%= instance_name %>.<%= instance_name %>_text, <%= instance_name %>_path(<%= instance_name %>), remote: true %></td>
|
31
|
+
|
32
|
+
<td class="hidden-sm hidden-xs"><%%= display_featured(<%= instance_name %>) %></td>
|
33
|
+
|
34
|
+
<td class="hidden-sm hidden-xs"><%%= display_publishable_status(<%= instance_name %>) %></td>
|
35
|
+
|
36
|
+
<td class="action-links hidden-sm hidden-xs" style="width:10%"><%%= display_publishable_links(<%= instance_name %>) %></td>
|
37
|
+
|
38
|
+
<td class="action-links hidden-sm hidden-xs" style="width:10%">
|
39
|
+
<%%= display_featurable_links(<%= instance_name %>) %>
|
40
|
+
<%%= display_manage_links(<%= instance_name %>) %>
|
41
|
+
</td>
|
42
|
+
|
43
|
+
</tr>
|
44
|
+
<%% end %>
|
45
|
+
</tbody>
|
46
|
+
</table>
|
47
|
+
</div>
|
48
|
+
|
49
|
+
<div class="row">
|
50
|
+
<div class="col-sm-12">
|
51
|
+
<%%= paginate_kuppayam(@<%= instances_name %>) %>
|
52
|
+
</div>
|
53
|
+
</div>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<tr id="tr_<%= instance_name %>_<%%= <%= instance_name %>.id %>">
|
2
|
+
|
3
|
+
<th scope="row" style="text-align: center;">
|
4
|
+
<%%= serial_number(i) %>
|
5
|
+
</th>
|
6
|
+
|
7
|
+
<td class="display-image">
|
8
|
+
<%%= display_thumbnail_small(<%= instance_name %>) %>
|
9
|
+
</td>
|
10
|
+
|
11
|
+
<td class="display-link"><%%= link_to <%= instance_name %>.title, <%= instance_name %>_path(<%= instance_name %>), remote: true %></td>
|
12
|
+
|
13
|
+
<td class="display-link"><%%= link_to <%= instance_name %>.<%= instance_name %>_text, <%= instance_name %>_path(<%= instance_name %>), remote: true %></td>
|
14
|
+
|
15
|
+
<td class="hidden-sm hidden-xs"><%%= display_featured(<%= instance_name %>) %></td>
|
16
|
+
|
17
|
+
<td class="hidden-sm hidden-xs"><%%= display_publishable_status(<%= instance_name %>) %></td>
|
18
|
+
|
19
|
+
<td class="action-links hidden-sm hidden-xs" style="width:10%"><%%= display_publishable_links(<%= instance_name %>) %></td>
|
20
|
+
|
21
|
+
<td class="action-links hidden-sm hidden-xs" style="width:10%">
|
22
|
+
<%%= display_featurable_links(<%= instance_name %>) %>
|
23
|
+
<%%= display_manage_links(<%= instance_name %>) %>
|
24
|
+
</td>
|
25
|
+
|
26
|
+
</tr>
|