form_creation 0.1.8 → 0.1.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0c445e1378e9292c31b9c33e9a52a9e56489dde967c031df52e62b0dded09dfe
4
- data.tar.gz: d5e9b0fa9b26cdf1b561cf6863d735414df771825ed2aec6b5fadc4de5a69a1a
3
+ metadata.gz: b06fdb369df28541aad4f20f93dffc266d2ceadae3942978c8c86cc61c83ef41
4
+ data.tar.gz: 2b6011f7deb932168c67ab302ef7d0f66d799b029fa74e48d7896f19238ec22c
5
5
  SHA512:
6
- metadata.gz: 025b7178ab5072e4d2d920b3c327bfd5ef3d9ba8f226a3a6d911e499816296e3452e9c4b42abd56ab0efe7f9f4d06ada615dd5616fb2505d9c494adf4cb819d1
7
- data.tar.gz: 85179478f76cb702ff7dddc5212285328710654102ef4afd12732e483dfb32f07af7787dfdc6d9460fc10ece32dea2496018cf75757990ff5f3616ec438659b1
6
+ metadata.gz: 863045755d45ed32d3cfc62e22e9b2fb31ffa931e9be3e2f7ed07b3f551c83f90b3dfda391ad2d1ded59767bb5c4b071ab0605a5e2daa80fdbbe902795566865
7
+ data.tar.gz: 77186d6cc0a423a0f66d2a2ea77814a39459d024a7c5bf5420f1fd6f91db616e39a2a352b5725b07794dff2bfc333beb997211850273653dc686365341be68f9
@@ -75,4 +75,7 @@ $(document).ready(function() {
75
75
  var validator = $(".edit_post").validate();
76
76
  validator.resetForm();
77
77
  });
78
+ $('#table_posts').DataTable({
79
+ "order": [[ 0, "desc" ]]
80
+ });
78
81
  });
@@ -46,4 +46,116 @@
46
46
  }
47
47
  .save-btn {
48
48
  width: 465px;
49
+ }
50
+ .btn {
51
+ text-decoration: none !important;
52
+ color: #fff !important;
53
+ background-color: #3378b7 !important;
54
+ text-align: center !important;
55
+ letter-spacing: .5px !important;
56
+ }
57
+ .btn-2 {
58
+ border: 1px solid transparent;
59
+ text-decoration: none !important;
60
+ color: #fff !important;
61
+ background-color: #3379b7 !important;
62
+ text-align: center !important;
63
+ letter-spacing: .5px !important;
64
+ }
65
+ .dataTables_filter input {
66
+ width: 300px;
67
+ height: 40px;
68
+ border-radius: 10px;
69
+ outline: none;
70
+ padding: 15px;
71
+ }
72
+ .dataTables_length select {
73
+ width: 70px;
74
+ height: calc(1.5em + .75rem + 2px);
75
+ padding: .375rem .75rem;
76
+ font-size: 1rem;
77
+ font-weight: 400;
78
+ line-height: 1.5;
79
+ color: #495057;
80
+ background-color: #fff;
81
+ background-clip: padding-box;
82
+ border: 1px solid #ced4da;
83
+ border-radius: .25rem;
84
+ transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
85
+ }
86
+ .menu-nav {
87
+ height: 60px;
88
+ background-color: #ae99de;
89
+ }
90
+ footer {
91
+ background-color: #ae99de;
92
+ height: 45px;
93
+ color: #fff;
94
+ margin-top: 120px;
95
+ text-align: center;
96
+ padding-top: 8px;
97
+ }
98
+ .add-btn {
99
+ margin-bottom: 10px;
100
+ text-align: right;
101
+ margin-right: 22px;
102
+ margin-bottom: 20px;
103
+ }
104
+ .dataTables_filter label {
105
+ font-weight: bold;
106
+ }
107
+ .form-title {
108
+ color: #4a3a8e;
109
+ font-size: 40px;
110
+ margin-left: 40px;
111
+ font-weight: bold;
112
+ text-align: right;
113
+ position: relative;
114
+ right: 80px;
115
+ bottom: 62px;
116
+ }
117
+ .home {
118
+ text-align: left;
119
+ font-size: 40px;
120
+ margin-left: 80px;
121
+ }
122
+ .home a {
123
+ color: #fff;
124
+ }
125
+ .home a:hover {
126
+ color: #fff;
127
+ text-decoration: none;
128
+ }
129
+ .eye-color {
130
+ color: #3197f3;
131
+ margin-right: 10px;
132
+ }
133
+ .edit-color {
134
+ color: #f99a0b;
135
+ margin-right: 10px;
136
+ }
137
+ .delete-color {
138
+ color: #e72f36;
139
+ }
140
+ .eye-color:hover {
141
+ cursor: pointer;
142
+ }
143
+ .edit-color:hover {
144
+ cursor: pointer;
145
+ }
146
+ .delete-color:hover {
147
+ cursor: pointer;
148
+ }
149
+ #table_posts_length {
150
+ display: none;
151
+ }
152
+ .download-xls {
153
+ position: relative;
154
+ top: 40px;
155
+ width: auto;
156
+ float: left;
157
+ left: 0;
158
+ }
159
+ .dataTables_wrapper{
160
+ position: inherit !important;
49
161
  }
@@ -1,10 +1,16 @@
1
1
  require_dependency "form_creation/application_controller"
2
+ require 'csv'
2
3
 
3
4
  module FormCreation
4
5
  class PostsController < ApplicationController
5
6
  def index
6
- @posts = Post.order('id DESC')
7
- @post = Post.new
7
+ @posts = Post.order('id ASC')
8
+ @post = Post.new
9
+
10
+ respond_to do |format|
11
+ format.html
12
+ format.xls { send_data @posts.to_csv(col_sep: "\t") }
13
+ end
8
14
  end
9
15
 
10
16
  # GET method to get a Post by id
@@ -63,4 +69,4 @@ module FormCreation
63
69
  params.permit(:title, :description, :created_by)
64
70
  end
65
71
  end
66
- end
72
+ end
@@ -3,5 +3,15 @@ module FormCreation
3
3
  validates :title, presence: true
4
4
  validates :description, presence: true
5
5
  validates :created_by, presence: true
6
+
7
+ #Export xls sheet
8
+ def self.to_csv(options = {})
9
+ CSV.generate(options) do |csv|
10
+ csv << column_names
11
+ all.each do |post|
12
+ csv << post.attributes.values_at(*column_names)
13
+ end
14
+ end
15
+ end
6
16
  end
7
17
  end
@@ -1,8 +1,18 @@
1
+ <div>
2
+ <nav class = 'navbar-fixed-top menu-nav'>
3
+ <div>
4
+ <div class="home">
5
+ <%= link_to "<i class=\"fa fa-home\"></i><span style=\"font-size: 17px;font-weight: bold;\">HOME</span>".html_safe, posts_path %>
6
+ </div>
7
+ </div>
8
+ </nav>
9
+ </div>
1
10
  <!-- display all posts -->
2
11
  <div class="container" style="margin-top: 70px;">
3
- <h3>Posts</h3>
4
- <div style="margin-bottom: 10px;">
5
- <%= button_tag "Add <span class=\"fa fa-plus\"></span>".html_safe, class: "btn btn-success btn-sm", "data-toggle" => "modal", "data-target" => "#add_post" %>
12
+ <div>
13
+ <div class="add-btn">
14
+ <%= button_tag "Create New Post <span class=\"fa fa-plus\"></span>".html_safe, class: "btn-2 btn-default btn-sm", "data-toggle" => "modal", "data-target" => "#add_post" %>
15
+ </div>
6
16
  <div class="modal fade" id="add_post" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
7
17
  <div class="modal-dialog" role="document">
8
18
  <div class="modal-content post-content">
@@ -16,17 +26,22 @@
16
26
  <%= render :partial => "form", :locals => {:f => f} %>
17
27
  </div>
18
28
  <div class="save">
19
- <%= f.submit 'Create Post', class: "btn btn-primary save-btn", id: "sub" %>
29
+ <%= f.submit 'Create Post', class: "btn btn-default save-btn", id: "sub" %>
20
30
  </div>
21
31
  <% end %>
22
32
  </div>
23
33
  </div>
24
34
  </div>
25
35
  </div>
26
- </div>
27
- <table class="table table-striped">
36
+ </div>
37
+
38
+ <table class="table table-striped" id="table_posts">
39
+ <div class="download-xls">
40
+ <%= link_to "Download Excel Sheet", posts_path(format: "xls"), class: "btn" %>
41
+ </div>
28
42
  <thead>
29
43
  <tr>
44
+ <th>id</th>
30
45
  <th>Title</th>
31
46
  <th>Description</th>
32
47
  <th>Created By</th>
@@ -36,11 +51,12 @@
36
51
  <tbody>
37
52
  <% @posts.each do |p| %>
38
53
  <tr>
54
+ <td><%= p.id %></td>
39
55
  <td><%= p.title %></td>
40
56
  <td><%= p.description %></td>
41
57
  <td><%= p.created_by %></td>
42
58
  <td>
43
- <%= button_tag "<span class=\"fa fa-eye\"></span>".html_safe, class: "btn btn-info btn-sm", "data-toggle" => "modal", "data-target" => "#show_post-#{p.id}" %>
59
+ <span class="fa fa-eye eye-color" data-toggle="modal" data-target="#show_post-<%= p.id %>"></span>
44
60
  <div class="modal fade" id="show_post-<%= p.id %>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
45
61
  <div class="modal-dialog" role="document">
46
62
  <div class="modal-content">
@@ -63,12 +79,12 @@
63
79
  </div>
64
80
  </div>
65
81
  <div class="modal-footer">
66
- <%= button_tag "Close", class: "btn btn-secondary", "data-dismiss" => "modal" %>
82
+ <%= button_tag "Close", class: "btn btn-default", "data-dismiss" => "modal" %>
67
83
  </div>
68
84
  </div>
69
85
  </div>
70
86
  </div>
71
- <%= button_tag "<span class=\"fa fa-edit\"></span>".html_safe, class: "btn btn-warning btn-sm", "data-toggle" => "modal", "data-target" => "#edit_post-#{p.id}" %>
87
+ <span class="fa fa-edit edit-color" data-toggle="modal" data-target="#edit_post-<%= p.id %>"></span>
72
88
  <div class="modal fade edit_post-form" id="edit_post-<%= p.id %>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
73
89
  <div class="modal-dialog" role="document">
74
90
  <div class="modal-content post-content">
@@ -82,15 +98,15 @@
82
98
  <%= render :partial => "form", :locals => {:f => f} %>
83
99
  </div>
84
100
  <div class="save">
85
- <%= f.submit 'Update Post', class: "btn btn-primary save-btn", id: "sub" %>
101
+ <%= f.submit 'Update Post', class: "btn btn-default save-btn", id: "sub" %>
86
102
  </div>
87
103
  <% end %>
88
104
  </div>
89
105
  </div>
90
106
  </div>
91
107
  </div>
92
- <%= button_tag "<span class=\"fa fa-trash\"></span>".html_safe, class: "btn btn-danger btn-sm", "data-toggle" => "modal", "data-target" => "#post-#{p.id}" %>
93
- <div class="modal fade" id="post-<%= p.id %>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
108
+ <span class="fa fa-trash delete-color" data-toggle="modal" data-target="#delete_post-<%= p.id %>"></span>
109
+ <div class="modal fade" id="delete_post-<%= p.id %>" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
94
110
  <div class="modal-dialog" role="document">
95
111
  <div class="modal-content">
96
112
  <div class="modal-header">
@@ -101,14 +117,17 @@
101
117
  Are you sure?
102
118
  </div>
103
119
  <div class="modal-footer">
104
- <%= button_tag "Close", class: "btn btn-secondary", "data-dismiss" => "modal" %>
105
- <%= link_to 'Delete', post_path(p), method: :delete, class: "btn btn-danger" %>
120
+ <%= button_tag "Close", class: "btn btn-default", "data-dismiss" => "modal" %>
121
+ <%= link_to 'Delete', post_path(p), method: :delete, class: "btn btn-default" %>
106
122
  </div>
107
123
  </div>
108
124
  </div>
109
125
  </div>
110
126
  </tr>
111
127
  <% end %>
112
- </tbody>
113
- </table>
114
- </div>
128
+ </tbody>
129
+ </table>
130
+ </div>
131
+ <footer>
132
+ <div>@copyrights 2019</div>
133
+ </footer>
@@ -13,7 +13,9 @@
13
13
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
14
14
  <script src='https://kit.fontawesome.com/a076d05399.js'></script>
15
15
  <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous">
16
-
16
+ <link rel="stylesheet" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css">
17
+ <script src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
18
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
17
19
  </head>
18
20
  <body>
19
21
  <%= yield %>
@@ -0,0 +1 @@
1
+ require 'csv'
@@ -0,0 +1 @@
1
+ Mime::Type.register "application/xls", :xls
@@ -1,3 +1,3 @@
1
1
  module FormCreation
2
- VERSION = '0.1.8'
2
+ VERSION = '0.1.9'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: form_creation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - madhubabu-nyros
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-17 00:00:00.000000000 Z
11
+ date: 2019-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -90,6 +90,8 @@ files:
90
90
  - app/views/form_creation/posts/show.html.erb
91
91
  - app/views/form_creation/posts/update.html.erb
92
92
  - app/views/layouts/form_creation/application.html.erb
93
+ - config/application.rb
94
+ - config/initializers/mime_types.rb
93
95
  - config/routes.rb
94
96
  - db/migrate/20191014040009_create_form_creation_posts.rb
95
97
  - lib/form_creation.rb