helpdesk 0.0.30 → 0.0.31

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: 175c50efa153a29c6e07377b092b6a54b271dc63
4
- data.tar.gz: 9576a9e450992d87c3747156b0ea1e840ff80794
3
+ metadata.gz: d67332e83f1fe55016bd1540a32cb5cc4fec9bd2
4
+ data.tar.gz: 69fd17578fdd0cb2843e0fffd81a67e066fa6c2d
5
5
  SHA512:
6
- metadata.gz: 8ada4e3c95e97fe8a4f45fb1df60498c64b743685860737ef04245d97151f14587b1624d98bd9a44e29acee477a4bd6bc17544f76445d4e8ea81dc16918ef7ee
7
- data.tar.gz: efe9bb0f1fbecff8d8f0728e82f1a7c2b69ed185fcec72af544510850d5eab68ba0a7ee04f9e8e1275ef27b9c2f4abd260e8dee4c1915700e736f4cdcfb35202
6
+ metadata.gz: ab37716c9dff6baff0d6a5b4dca6d1282349189b60d9d80eb56203c25a0db82880af784b68ccd096f3d58b504c5ff6a3d85fbe3e46e4a476c9ee0bdaa4c533f5
7
+ data.tar.gz: 24b5a0c85346f2a5ac04a79a428c93c06b225027c69c2f4287e57eeaa354e965e935d16da4814b2ad66b6a18db9ba4ada5e555002ef5008405567748a1a1454d
@@ -1,11 +1,7 @@
1
1
  // Place all the behaviors and hooks related to the matching controller here.
2
2
  // All this logic will automatically be available in application.js.
3
3
 
4
- $(document).ready(function(){
5
- $('a[href*="#"]').click(function(){
6
- $($(this).attr("href")).effect("highlight", {}, 1500);
7
- });
8
- });
4
+
9
5
 
10
6
  (function() {
11
7
  $(function() {
@@ -1,2 +1,14 @@
1
- // Place all the behaviors and hooks related to the matching controller here.
2
- // All this logic will automatically be available in application.js.
1
+ $(document).ready(function(){
2
+ $('body').scrollspy({
3
+ target: '.bs-docs-sidebar',
4
+ offset: 40
5
+ });
6
+
7
+ $(".bs-docs-sidebar").affix({
8
+ offset: {
9
+ top: 122
10
+ }
11
+ });
12
+ });
13
+
14
+
@@ -1,3 +1,77 @@
1
- // Place all the styles related to the Faqs controller here.
2
- // They will automatically be included in application.css.
3
- // You can use Sass (SCSS) here: http://sass-lang.com/
1
+ body {
2
+ position: relative;
3
+ }
4
+
5
+ .affix{
6
+ top: 0px;
7
+ width:inherit;
8
+ }
9
+
10
+ /* sidebar */
11
+ .bs-docs-sidebar {
12
+ padding-left: 0px;
13
+ margin-top: 20px;
14
+ margin-bottom: 20px;
15
+ }
16
+
17
+ /* all links */
18
+ .bs-docs-sidebar .nav>li>a {
19
+ color: #999;
20
+ border-left: 2px solid transparent;
21
+ padding: 4px 20px;
22
+ font-size: 13px;
23
+ font-weight: 400;
24
+ }
25
+
26
+ /* nested links */
27
+ .bs-docs-sidebar .nav .nav>li>a {
28
+ padding-top: 1px;
29
+ padding-bottom: 1px;
30
+ padding-left: 30px;
31
+ font-size: 12px;
32
+ }
33
+
34
+ .bs-docs-sidebar .nav .nav .nav>li>a {
35
+ padding-top: 1px;
36
+ padding-bottom: 1px;
37
+ padding-left: 40px;
38
+ font-size: 12px;
39
+ }
40
+
41
+ .bs-docs-sidebar .nav .nav .nav .nav>li>a {
42
+ padding-top: 1px;
43
+ padding-bottom: 1px;
44
+ padding-left: 50px;
45
+ font-size: 12px;
46
+ }
47
+
48
+ /* active & hover links */
49
+ .bs-docs-sidebar .nav>.active>a,
50
+ .bs-docs-sidebar .nav>li>a:hover,
51
+ .bs-docs-sidebar .nav>li>a:focus {
52
+ color: #563d7c;
53
+ text-decoration: none;
54
+ background-color: transparent;
55
+ border-left-color: #563d7c;
56
+ }
57
+ /* all active links */
58
+ .bs-docs-sidebar .nav>.active>a,
59
+ .bs-docs-sidebar .nav>.active:hover>a,
60
+ .bs-docs-sidebar .nav>.active:focus>a {
61
+ font-weight: 700;
62
+ }
63
+ /* nested active links */
64
+ .bs-docs-sidebar .nav .nav>.active>a,
65
+ .bs-docs-sidebar .nav .nav>.active:hover>a,
66
+ .bs-docs-sidebar .nav .nav>.active:focus>a {
67
+ font-weight: 500;
68
+ }
69
+
70
+ /* hide inactive nested list */
71
+ .bs-docs-sidebar .nav ul.nav {
72
+ display: none;
73
+ }
74
+ /* show active nested list */
75
+ .bs-docs-sidebar .nav>.active>ul.nav {
76
+ display: block;
77
+ }
@@ -6,15 +6,26 @@ class Helpdesk::Admin::FaqsController < Helpdesk::Admin::BaseController
6
6
  end
7
7
  render :nothing => true
8
8
  end
9
+
10
+ def sorting
11
+ if params[:id]=='all'
12
+
13
+ @faqs = Helpdesk::Faq.roots
14
+ else
15
+ @faq = Helpdesk::Faq.find(params[:id])
16
+ @faqs = @faq.children
17
+ end
18
+ end
19
+
9
20
  # GET /faqs
10
21
  # GET /faqs.json
11
22
  def index
12
23
  if params[:faqs] == 'active'
13
- @faqs = Helpdesk::Faq.active
24
+ @faqs = Helpdesk::Faq.roots.active
14
25
  elsif params[:faqs] == 'inactive'
15
- @faqs = Helpdesk::Faq.inactive
26
+ @faqs = Helpdesk::Faq.roots.inactive
16
27
  else
17
- @faqs = Helpdesk::Faq.all
28
+ @faqs = Helpdesk::Faq.roots
18
29
  end
19
30
  respond_to do |format|
20
31
  format.html # index.html.erb
@@ -95,6 +106,6 @@ class Helpdesk::Admin::FaqsController < Helpdesk::Admin::BaseController
95
106
 
96
107
  private
97
108
  def faq_params
98
- params.require(:faq).permit(:active, :position, :title, :text, translations_attributes:[:id,:locale,:title,:text])
109
+ params.require(:faq).permit(:active, :position, :title, :text,:parent_id, translations_attributes:[:id,:locale,:title,:text])
99
110
  end
100
111
  end
@@ -1,7 +1,16 @@
1
1
  module Helpdesk
2
2
  class FaqsController < Helpdesk::ApplicationController
3
+
4
+ def search
5
+ @faqs = Helpdesk::Faq.search(params[:search])
6
+ end
7
+
3
8
  def index
4
- @faqs = Helpdesk::Faq.active
9
+ @faqs = Helpdesk::Faq.active.roots
10
+ end
11
+
12
+ def show
13
+ @faq = Helpdesk::Faq.active.find(params[:id])
5
14
  end
6
15
  end
7
16
  end
@@ -3,9 +3,40 @@ module Helpdesk
3
3
  translates :title, :text
4
4
  accepts_nested_attributes_for :translations
5
5
 
6
+ acts_as_ordered_tree
7
+
6
8
  default_scope {order('position ASC').includes(:translations)}
7
9
 
8
10
  scope :active, -> {where(active: true)}
9
11
  scope :inactive, -> {where(active: false)}
12
+
13
+ def name_with_depth
14
+ "#{"&nbsp;&nbsp;&nbsp;&nbsp;"*depth}\\_ #{title}".html_safe
15
+ end
16
+
17
+ def to_param
18
+ id ? "#{id}-#{title.parameterize}" : nil
19
+ end
20
+
21
+ def self.search(query, page=1)
22
+ query = "%#{query}%"
23
+ arel_faqs_t = Arel::Table.new(:helpdesk_faq_translations)
24
+ name_match = arel_faqs_t[:title].matches(query)
25
+ postal_match = arel_faqs_t[:text].matches(query)
26
+ with_translations.active.where(name_match.or(postal_match)).page(page).per_page(5)
27
+ end
28
+
29
+ def anchor
30
+ "##{to_param}"
31
+ end
32
+
33
+ def self.collection
34
+ arr = []
35
+ roots.each do |faq|
36
+ arr << faq
37
+ arr << faq.descendants
38
+ end
39
+ return arr.flatten
40
+ end
10
41
  end
11
42
  end
@@ -1,6 +1,7 @@
1
1
  module Helpdesk
2
2
  class Ticket < ActiveRecord::Base
3
3
 
4
+
4
5
  STATUSES = [
5
6
  [ :new, 'label-primary',3],
6
7
  [ :open, 'label-warning',2],
@@ -61,8 +62,6 @@ module Helpdesk
61
62
  self.subject.strip!
62
63
  end
63
64
 
64
-
65
-
66
65
  def send_email
67
66
  Helpdesk::NotificationsMailer.ticket_created_notification(self).deliver
68
67
  unless requester.email.empty?
@@ -78,8 +77,5 @@ module Helpdesk
78
77
  end
79
78
  end
80
79
 
81
-
82
-
83
-
84
80
  end
85
81
  end
@@ -0,0 +1,10 @@
1
+ - faqs.each do |faq|
2
+ %li
3
+ = faq.title
4
+ %div
5
+ = link_to t('helpdesk.show'), faqs_path(anchor:faq.to_param), class: 'btn btn-info btn-xs', target: :faq_preview
6
+ = link_to t('helpdesk.edit'), edit_admin_faq_path(faq),class: 'btn btn-primary btn-xs'
7
+ = link_to t('helpdesk.destroy'), admin_faq_path(faq), method: :delete, data: { confirm: 'Are you sure?' },class: 'btn btn-danger btn-xs'
8
+ - if faq.children.present?
9
+ %ol
10
+ = render partial:'/helpdesk/admin/faqs/faq', locals:{ faqs:faq.children }
@@ -6,6 +6,7 @@
6
6
  - @faq.errors.full_messages.each do |msg|
7
7
  %li= msg
8
8
  = f.input :active
9
+ = f.input :parent_id, collection: Helpdesk::Faq.collection,label_method: :name_with_depth
9
10
 
10
11
 
11
12
 
@@ -5,5 +5,8 @@
5
5
  = menu_li ico('envelope') + "#{t('helpdesk.faqs.active')} (#{Helpdesk::Faq.active.count})", admin_faqs_url(:faqs => 'active')
6
6
 
7
7
  = menu_li ico('info-sign') + "#{t('helpdesk.faqs.inactive')} (#{Helpdesk::Faq.inactive.count})", admin_faqs_url(:faqs => 'inactive')
8
+
9
+ = menu_li ico('signal') + "#{t('helpdesk.faqs.sorting')}", sorting_admin_faq_url(:all)
10
+
8
11
  %li.divider
9
- = menu_li ico('list') + t('helpdesk.faqs.all'), admin_faqs_url(:faqs => 'all')
12
+ = menu_li ico('list') + t('helpdesk.faqs.all'), admin_faqs_url(:faqs => 'all')
@@ -11,49 +11,8 @@
11
11
 
12
12
 
13
13
 
14
- %ul.unstyled#faqs
15
- - @faqs.each do |faq|
16
- %li.row{id:"faqs_#{faq.id}",style:'padding:5px 0px;'}
17
- %div.handle.span2{style:'cursor:move'}
18
- %span
19
- = ico('move')
20
- %span.badge.badge-info
21
- = "link#{faq.id}"
22
- - if faq.active
23
- %span.label.label-success
24
- = t('helpdesk.faqs.faq.active')
25
- - else
26
- %span.label
27
- = t('helpdesk.faqs.faq.inactive')
28
- %div.span5
29
- = faq.title
30
- %div.span2
31
- = link_to t('helpdesk.show'), admin_faq_path(faq), class: 'btn btn-info btn-mini'
32
- = link_to t('helpdesk.edit'), edit_admin_faq_path(faq),class: 'btn btn-primary btn-mini'
33
- = link_to t('helpdesk.destroy'), admin_faq_path(faq), method: :delete, data: { confirm: 'Are you sure?' },class: 'btn btn-danger btn-mini'
34
-
35
-
36
- - content_for :scripts do
37
- :javascript
38
- $(document).ready(function(){
39
- $('#faqs').sortable({
40
- axis: 'y',
41
- dropOnEmpty: false,
42
- handle: '.handle',
43
- cursor: 'crosshair',
44
- items: 'li',
45
- opacity: 0.4,
46
- scroll: true,
47
- update: function(){
48
- $.ajax({
49
- type: 'post',
50
- data: $('#faqs').sortable('serialize'),
51
- dataType: 'script',
52
- complete: function(request){
53
- $('#faqs').effect('highlight');
54
- },
55
- url: '#{sort_admin_faqs_path}'
56
- })
57
- }
58
- });
59
- });
14
+
15
+ %ol
16
+ = render partial:'/helpdesk/admin/faqs/faq', locals:{ faqs:@faqs }
17
+
18
+
@@ -0,0 +1,46 @@
1
+ = render 'menu'
2
+
3
+ %ol.breadcrumb
4
+ = t('helpdesk.faqs.sorting')
5
+ = menu_li 'FAQ Root',sorting_admin_faq_url(:all)
6
+ - if @faq
7
+ - @faq.ancestors.reverse_each do |faq|
8
+ = menu_li faq.title, sorting_admin_faq_url(faq)
9
+ = menu_li @faq.title, sorting_admin_faq_url(@faq)
10
+
11
+
12
+ %ul.unstyled#faqs
13
+ - @faqs.each do |faq|
14
+ %li.row{id:"faqs_#{faq.id}",style:'padding:5px 0px;'}
15
+ %div.handle.span2{style:'cursor:move'}
16
+ %span
17
+ = ico('move')
18
+ %span
19
+ = faq.title
20
+ - if faq.children.present?
21
+ = link_to t('helpdesk.sort_this_childs'), sorting_admin_faq_url(faq), class: 'btn btn-info btn-xs'
22
+
23
+ - content_for :scripts do
24
+ :javascript
25
+ $(document).ready(function(){
26
+ $('#faqs').sortable({
27
+ axis: 'y',
28
+ dropOnEmpty: false,
29
+ handle: '.handle',
30
+ cursor: 'crosshair',
31
+ items: 'li',
32
+ opacity: 0.4,
33
+ scroll: true,
34
+ update: function(){
35
+ $.ajax({
36
+ type: 'post',
37
+ data: $('#faqs').sortable('serialize'),
38
+ dataType: 'script',
39
+ complete: function(request){
40
+ $('#faqs').effect('highlight');
41
+ },
42
+ url: '#{sort_admin_faqs_path}'
43
+ })
44
+ }
45
+ });
46
+ });
@@ -0,0 +1,8 @@
1
+ - faqs.each do |faq|
2
+ %li{:id=>faq.to_param}
3
+ %h3
4
+ = link_to faq.title, faqs_path(anchor:faq)
5
+ = raw faq.text
6
+ - if faq.children.present?
7
+ %ul
8
+ = render partial:'/helpdesk/faqs/faq', locals:{ faqs:faq.children }
@@ -0,0 +1,11 @@
1
+ - faqs.each do |faq|
2
+ %li
3
+ - link = link_type=='anchor' ? faq.anchor : faqs_path(anchor:faq)
4
+ - if(faq.id==params[:id].to_i)
5
+ = link_to faq.title, link, class: :active
6
+ - else
7
+ = link_to faq.title, link
8
+ -if faq.children.present?
9
+ %ul.nav.nav-stacked
10
+ = render partial:'/helpdesk/faqs/menu', locals:{faqs:faq.children, link_type:link_type}
11
+
@@ -1,20 +1,11 @@
1
+ = content_for :left do
2
+ %nav.bs-docs-sidebar.col
3
+ %ul#sidebar.nav.nav-stacked
4
+ = render partial: 'menu', locals:{faqs:@faqs,link_type:'anchor'}
5
+
1
6
  %div.content
2
7
  %div.pageContainer
3
- %h1
8
+ %h2
4
9
  = t('helpdesk.faqs.title_s')
5
- %ol#faq
6
- - @faqs.each do |faq|
7
- %li{:id=>"link#{faq.id}"}
8
- %h3
9
- = link_to faq.title, "\#link#{faq.id}"
10
- %div{style:"display:none"}
11
- = raw faq.text
12
-
13
- - content_for :scripts do
14
- :javascript
15
- $(document).ready(function(){
16
- $('ol#faq li h3').click(function () {
17
- $(this).parent().find('div').slideToggle('fast');
18
- });
19
- $("a[href='" + window.location.hash + "']").click();
20
- });
10
+ %ul#faq
11
+ = render partial:'/helpdesk/faqs/faq', locals:{faqs:@faqs}
@@ -0,0 +1,27 @@
1
+ = content_for :left do
2
+ %nav.bs-docs-sidebar.col
3
+ %ul#sidebar.nav.nav-stacked
4
+ = render partial: 'menu', locals:{faqs:Helpdesk::Faq.roots,link_type:'link'}
5
+
6
+ %div.content
7
+ %div.pageContainer
8
+ - if params[:search]
9
+ .alert.alert-info
10
+ = t('helpdesk.faqs.search_count', count: @faqs.size, query:params[:search])
11
+
12
+ %h1
13
+ = t('helpdesk.faqs.title_s')
14
+ %ol#faq
15
+ - @faqs.each do |faq|
16
+ %li.callout
17
+ %span.title
18
+ = link_to faqs_url(anchor:faq.to_param) do
19
+ = highlight(faq.title, params[:search], highlighter: '<strong>\1</strong>')
20
+ %span.body
21
+ - if faq.text.index(params[:search])
22
+ - start_index = [0, faq.text.index(params[:search])-30].max
23
+ - else
24
+ - start_index = 0
25
+
26
+ = highlight("..."+faq.text[start_index,params[:search].length+40].strip+"...", params[:search], highlighter: '<strong>\1</strong>')
27
+
@@ -0,0 +1,15 @@
1
+ = content_for :left do
2
+ %nav.bs-docs-sidebar
3
+ %ul#sidebar.nav.nav-stacked.fixed
4
+ = render partial: 'menu', locals:{lvl:1,tree:[0],faqs:Helpdesk::Faq.roots,link_type:''}
5
+
6
+ %ol.breadcrumb
7
+ = menu_li 'FAQ',faqs_url
8
+ - @faq.ancestors.reverse_each do |faq|
9
+ = menu_li faq.title, faq_url(faq)
10
+ = menu_li @faq.title, faq_url(@faq)
11
+
12
+
13
+ %ol#faq
14
+ = render partial:'/helpdesk/faqs/faq', locals:{faqs:[@faq]}
15
+
@@ -14,6 +14,8 @@
14
14
  = menu_li t('helpdesk.subscribers.title'),admin_subscribers_path
15
15
  = menu_li t('helpdesk.faqs.title'),admin_faqs_path
16
16
 
17
+
18
+
17
19
  %ul.nav.navbar-nav.navbar-right
18
20
  %li.dropdown.user
19
21
  = link_to current_user.send(Helpdesk.display_user.to_sym), "#",:class=>"dropdown-toggle",data:{toggle:"dropdown"}
@@ -11,7 +11,11 @@
11
11
  %ul.nav.navbar-nav
12
12
  = menu_li t('helpdesk.tickets.title'),tickets_path
13
13
  = menu_li t('helpdesk.faq'),faqs_path
14
-
14
+ %form.navbar-form.navbar-left{role:'search',action:search_faqs_url}
15
+ .form-group
16
+ %input.form-control{type:'text', placeholder:t('helpdesk.faqs.search_in_faqs'),name:'search',value:params[:search]}
17
+ %button.btn.btn-default{type:"submit"}
18
+ = t('helpdesk.faqs.search')
15
19
  %ul.nav.navbar-nav.navbar-right
16
20
  %li.dropdown.user
17
21
  = link_to current_user.send(Helpdesk.display_user.to_sym), "#",:class=>"dropdown-toggle",data:{toggle:"dropdown"}
@@ -53,6 +53,8 @@ en:
53
53
  new: Add Subscriber
54
54
 
55
55
  faqs:
56
+ search: Search
57
+ search_in_faqs: Search in FAQs
56
58
  title: FAQ
57
59
  title_s: Frequently Asked Questions
58
60
  active: Active Questions
@@ -63,6 +65,11 @@ en:
63
65
  faq:
64
66
  active: active
65
67
  inactive: inactive
68
+ search_count:
69
+ zero: 'We could not find anything matching your query: "%{query}"'
70
+ one: 'Found one result matching your query: "%{query}"'
71
+ other: 'Found {%count} results matching your query: "%{query}"'
72
+ back_to_fasq: '« Back to FAQ list'
66
73
 
67
74
  mailer:
68
75
  comment_by_helpdesk_confirmation:
@@ -62,6 +62,9 @@ pl:
62
62
  new: Dodaj subskrybenta
63
63
 
64
64
  faqs:
65
+ sorting: 'Sortowanie:'
66
+ search: Szukaj
67
+ search_in_faqs: Szukaj w FAQ
65
68
  title: FAQ
66
69
  title_s: Często zadawane pytania
67
70
  active: Aktywne pytania
@@ -72,6 +75,14 @@ pl:
72
75
  faq:
73
76
  active: aktywne
74
77
  inactive: nieaktywne
78
+ search_count:
79
+ zero: 'Nic nie znaleziono dla zapytania: "%{query}"'
80
+ one: 'Znaleziono jeden wynik, dla zapytania: "%{query}"'
81
+ few: 'Znaleziono %{count} wyniki, dla zapytania: "%{query}"'
82
+ many: 'Znaleziono %{count} wyników, dla zapytania: "%{query}"'
83
+ other: 'Znaleziono %{count} wyników, dla zapytania: "%{query}"'
84
+ back_to_fasq: '« Wróć do listy pojęć'
85
+
75
86
 
76
87
  mailer:
77
88
  comment_by_helpdesk_confirmation:
data/config/routes.rb CHANGED
@@ -11,13 +11,16 @@ Helpdesk::Engine.routes.draw do
11
11
  resources :ticket_types
12
12
  resources :faqs do
13
13
  post :sort, on: :collection
14
+ get :sorting, on: :member
14
15
  end
15
16
  resources :subscribers
16
17
  root :to => 'tickets#index'
17
18
  end
18
19
 
19
20
  resources :subscribers, :only => [:index, :create, :destroy]
20
- resources :faqs, :only => [ :index ]
21
+ resources :faqs, :only => [ :index, :show ] do
22
+ get :search, on: :collection
23
+ end
21
24
  resources :tickets, :except => [ :edit, :destroy ]
22
25
 
23
26
 
@@ -0,0 +1,8 @@
1
+ class AddParentIdToHelpdeskFaqs < ActiveRecord::Migration
2
+ def change
3
+ add_column :helpdesk_faqs, :parent_id, :integer
4
+ add_column :helpdesk_faqs, :depth, :integer, null:false, default:0
5
+ add_column :helpdesk_faqs, :children_count, :integer, null:false, default:0
6
+ add_index :helpdesk_faqs, :parent_id
7
+ end
8
+ end
@@ -10,6 +10,7 @@ require 'ckeditor'
10
10
  require 'select2-rails'
11
11
  require 'kaminari'
12
12
  require 'jquery-ui-rails'
13
+ require 'acts_as_ordered_tree'
13
14
 
14
15
  module Helpdesk
15
16
  class Engine < ::Rails::Engine
@@ -1,3 +1,3 @@
1
1
  module Helpdesk
2
- VERSION = "0.0.30"
2
+ VERSION = "0.0.31"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helpdesk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.30
4
+ version: 0.0.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Beynon Wacław Łuczak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-04 00:00:00.000000000 Z
11
+ date: 2014-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: launchy
@@ -360,6 +360,20 @@ dependencies:
360
360
  - - ">="
361
361
  - !ruby/object:Gem::Version
362
362
  version: '0'
363
+ - !ruby/object:Gem::Dependency
364
+ name: acts_as_ordered_tree
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - ">="
368
+ - !ruby/object:Gem::Version
369
+ version: '0'
370
+ type: :runtime
371
+ prerelease: false
372
+ version_requirements: !ruby/object:Gem::Requirement
373
+ requirements:
374
+ - - ">="
375
+ - !ruby/object:Gem::Version
376
+ version: '0'
363
377
  description: 'Helpesk includes: tickets, ticket types, email-notification, FAQ, subscribers'
364
378
  email:
365
379
  - john@beynon.org.uk, waclaw@luczak.it
@@ -411,12 +425,14 @@ files:
411
425
  - app/models/helpdesk/ticket.rb
412
426
  - app/models/helpdesk/ticket_type.rb
413
427
  - app/views/helpdesk/admin/dashboard/index.html.erb
428
+ - app/views/helpdesk/admin/faqs/_faq.html.haml
414
429
  - app/views/helpdesk/admin/faqs/_form.html.haml
415
430
  - app/views/helpdesk/admin/faqs/_menu.html.haml
416
431
  - app/views/helpdesk/admin/faqs/edit.html.haml
417
432
  - app/views/helpdesk/admin/faqs/index.html.haml
418
433
  - app/views/helpdesk/admin/faqs/new.html.haml
419
434
  - app/views/helpdesk/admin/faqs/show.html.haml
435
+ - app/views/helpdesk/admin/faqs/sorting.html.haml
420
436
  - app/views/helpdesk/admin/subscribers/_form.html.haml
421
437
  - app/views/helpdesk/admin/subscribers/_menu.html.haml
422
438
  - app/views/helpdesk/admin/subscribers/edit.html.haml
@@ -437,7 +453,11 @@ files:
437
453
  - app/views/helpdesk/admin/tickets/new.html.haml
438
454
  - app/views/helpdesk/admin/tickets/show.html.haml
439
455
  - app/views/helpdesk/dashboard/index.html.erb
456
+ - app/views/helpdesk/faqs/_faq.html.haml
457
+ - app/views/helpdesk/faqs/_menu.html.haml
440
458
  - app/views/helpdesk/faqs/index.html.haml
459
+ - app/views/helpdesk/faqs/search.html.haml
460
+ - app/views/helpdesk/faqs/show.html.haml
441
461
  - app/views/helpdesk/notifications_mailer/comment_by_helpdesk_confirmation.html.haml
442
462
  - app/views/helpdesk/notifications_mailer/comment_by_helpdesk_notification.html.haml
443
463
  - app/views/helpdesk/notifications_mailer/comment_by_requester_confirmation.html.haml
@@ -474,6 +494,7 @@ files:
474
494
  - db/migrate/20130521105605_create_helpdesk_ticket_types.rb
475
495
  - db/migrate/20130522085614_create_helpdesk_faqs.rb
476
496
  - db/migrate/20130522090420_create_helpdesk_subscribers.rb
497
+ - db/migrate/20141105112734_add_parent_id_to_helpdesk_faqs.rb
477
498
  - lib/generators/helpdesk/install_generator.rb
478
499
  - lib/generators/helpdesk/templates/README
479
500
  - lib/generators/helpdesk/templates/helpdesk.rb