radesk 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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 %>");