radesk 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 80c2d3bcf9200c4e8069b2816db0d5103b1e8193
4
- data.tar.gz: f5b0a5dd1cbd1db19deaea05b19b4d71066ba6b0
3
+ metadata.gz: e21822e2307c3ba267990f78e659d2e01c485d03
4
+ data.tar.gz: 38fe0c25966b0d8cdd4861ae4e79dc86c0972fca
5
5
  SHA512:
6
- metadata.gz: a05e249d22ab0c5cddb0c823cdddf8cc8aced2882b63ee4670157eda4450a986f9532a5028e4a3f7e1d1c1a8ec08788caaedb947a2849dadf5b281178becb228
7
- data.tar.gz: 13126462950b6c365e101767b927ca8a1dce4f91e239570000e39ed89ca4465956c7f5334fc9498de906ea9dc5173e80e3f12cfdd1debb222250487912c59b12
6
+ metadata.gz: 4160d1ffb3014a8989ee0d8c7091ced33286e6cf62ba59580a792199ce41bb34b56d9f8bbd8623939d09401f973b7131cf7a054fdc09d83bfd005202ff190df1
7
+ data.tar.gz: e7a0367794e19d5de1fdcc63c0e01226dcaec0331f00e0bf0c638472105cfb85493ab7d4961fc390bbd7a18ea20653bfc2b200e28e1f8fe4fe536ce0d206a80e
@@ -3,7 +3,13 @@ $dark_color: #3e3e3e;
3
3
  $light_color: #f6f6f6;
4
4
 
5
5
  #radesk {
6
- * { margin: 0; padding: 0; }
6
+ * {
7
+ margin: 0;
8
+ padding: 0;
9
+ &:focus {
10
+ outline: none;
11
+ }
12
+ }
7
13
  a {
8
14
  color: $dark_color;
9
15
  text-decoration: none;
@@ -22,6 +28,12 @@ $light_color: #f6f6f6;
22
28
  margin: 0 auto;
23
29
  }
24
30
 
31
+ .notice {
32
+ background: $main_color;
33
+ color: #fff;
34
+ padding: 12px 0;
35
+ }
36
+
25
37
  .nav {
26
38
  border-bottom: 1px solid darken($light_color, 5%);
27
39
  padding: 12px 0;
@@ -70,6 +82,17 @@ $light_color: #f6f6f6;
70
82
  &.status {
71
83
  width: 20px;
72
84
  }
85
+ &.user, &.created_at {
86
+ white-space: nowrap;
87
+ padding-left: 10px;
88
+ }
89
+ .title {
90
+ height: 14px;
91
+ overflow: hidden;
92
+ }
93
+ .message {
94
+ color: darken($light_color, 20%);
95
+ }
73
96
  }
74
97
  }
75
98
  }
@@ -12,7 +12,9 @@ module Radesk
12
12
  @answer.ticket_id = params[:ticket_id]
13
13
 
14
14
  if @answer.save
15
- render 'update_answers'
15
+ redirect_to @answer.ticket, notice: 'Answer was successfully created.'
16
+ else
17
+ redirect_to :back, notice: @answer.errors.full_messages.first
16
18
  end
17
19
  end
18
20
 
@@ -26,7 +28,7 @@ module Radesk
26
28
 
27
29
  def destroy
28
30
  @answer.destroy
29
- redirect_to @answer.ticket, notice: notice
31
+ redirect_to @answer.ticket, notice: 'Answer was successfully destroyed.'
30
32
  end
31
33
 
32
34
  private
@@ -35,7 +37,7 @@ module Radesk
35
37
  end
36
38
 
37
39
  def check_access
38
- redirect_to :back unless radesk_current_user.id == @answer.user_id || radesk_current_user.try(:radesk_admin?)
40
+ redirect_to :back unless @answer.has_access?(radesk_current_user)
39
41
  end
40
42
 
41
43
  def answer_params
@@ -27,18 +27,22 @@ module Radesk
27
27
  end
28
28
 
29
29
  def destroy
30
- @ticket.destroy
31
- redirect_to tickets_url, notice: 'Ticket was successfully destroyed.'
30
+ if radesk_current_user.try(:radesk_admin?)
31
+ @ticket.destroy
32
+ redirect_to tickets_url, notice: 'Ticket was successfully destroyed.'
33
+ else
34
+ redirect_to :back
35
+ end
32
36
  end
33
37
 
34
38
  def open
35
39
  @ticket.update(:closed => false)
36
- render 'change_status'
40
+ render 'update_status'
37
41
  end
38
42
 
39
43
  def close
40
44
  @ticket.update(:closed => true)
41
- render 'change_status'
45
+ render 'update_status'
42
46
  end
43
47
 
44
48
  private
@@ -2,5 +2,11 @@ module Radesk
2
2
  class Answer < ActiveRecord::Base
3
3
  belongs_to :user, :class_name => Radesk.user_class_name.to_s, :foreign_key => :user_id
4
4
  belongs_to :ticket
5
+
6
+ validates_presence_of :message
7
+
8
+ def has_access?(user)
9
+ self.user_id == user.id || user.try(:radesk_admin?)
10
+ end
5
11
  end
6
12
  end
@@ -8,6 +8,10 @@
8
8
  = csrf_meta_tags
9
9
  %body{ :style => 'margin: 0; background: #f6f6f6;' }
10
10
  #radesk
11
+ - if flash[:notice]
12
+ .notice
13
+ .wrap
14
+ = flash[:notice]
11
15
  .nav
12
16
  .wrap
13
17
  = link_to 'Home', '/'
@@ -7,7 +7,7 @@
7
7
  by
8
8
  %span
9
9
  = answer.user.email
10
- - if radesk_current_user.try(:radesk_admin?)
10
+ - if answer.has_access?(radesk_current_user)
11
11
  %span.pull-right
12
12
  = link_to ticket_answer_path(answer.ticket, answer), :method => :delete do
13
13
  %i.fa.fa-close.light
@@ -13,10 +13,15 @@
13
13
  %span{ :class => "ticket-status-#{ticket.id}"}
14
14
  = render 'status', :ticket => ticket
15
15
  %td
16
- = link_to ticket.title, ticket
16
+ .title
17
+ = link_to ticket do
18
+ %strong
19
+ = ticket.title.truncate(100)
20
+ %span.message
21
+ = ticket.message.truncate(100)
17
22
  - if radesk_current_user.try(:radesk_admin?)
18
- %td
23
+ %td.user
19
24
  = ticket.user.email
20
- %td.text-right
25
+ %td.created_at.text-right
21
26
  = ticket.created_at.strftime("%e %b %k:%M")
22
27
  = paginate @tickets
@@ -10,6 +10,10 @@
10
10
  by
11
11
  %span
12
12
  = @ticket.user.email
13
+ - if radesk_current_user.try(:radesk_admin?)
14
+ %span.pull-right
15
+ = link_to ticket_path(@ticket), :method => :delete do
16
+ %i.fa.fa-close.light
13
17
  .message
14
18
  = @ticket.message
15
19
 
@@ -17,10 +21,10 @@
17
21
  %h2
18
22
  Answers
19
23
  .answers
20
- = render 'radesk/answers/answers', :answers => @answers
24
+ = render 'radesk/answers/list', :answers => @answers
21
25
  .create_answer
22
26
  .form
23
- = form_for [@ticket, @ticket.answers.build], :remote => true do |f|
27
+ = form_for [@ticket, @ticket.answers.build] do |f|
24
28
  .form-group
25
29
  = f.label :message, 'Add Your Answer'
26
30
  = f.text_area :message, :class => 'form-control', :rows => 5, :required => true
@@ -1,3 +1,3 @@
1
1
  module Radesk
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: radesk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Novikov
@@ -184,15 +184,14 @@ files:
184
184
  - app/models/radesk/answer.rb
185
185
  - app/models/radesk/ticket.rb
186
186
  - app/views/layouts/radesk/application.html.haml
187
- - app/views/radesk/answers/_answers.html.haml
188
- - app/views/radesk/answers/update_answers.js.erb
187
+ - app/views/radesk/answers/_list.html.haml
189
188
  - app/views/radesk/tickets/_form.html.haml
190
189
  - app/views/radesk/tickets/_status.html.haml
191
- - app/views/radesk/tickets/change_status.js.erb
192
190
  - app/views/radesk/tickets/edit.html.haml
193
191
  - app/views/radesk/tickets/index.html.haml
194
192
  - app/views/radesk/tickets/new.html.haml
195
193
  - app/views/radesk/tickets/show.html.haml
194
+ - app/views/radesk/tickets/update_status.js.erb
196
195
  - config/routes.rb
197
196
  - db/migrate/20141226165609_create_radesk_tickets.rb
198
197
  - db/migrate/20141227023319_create_radesk_answers.rb
@@ -1 +0,0 @@
1
- $(".answers").html("<%= escape_javascript(render 'answers', :answers => @answer.ticket.answers).html_safe %>");