tawork 0.0.23 → 0.0.24

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzE1NTgxMWQxYjI4MTJkMGJlYjEwM2U4YTY2ZWQ3OGVkMDE0NWRiNw==
4
+ ZjhmMzgxMzNlYjA5OGY4NzJhZmI4NDU2YTVmYmVkMTljZDczM2I0ZQ==
5
5
  data.tar.gz: !binary |-
6
- ZTcwMzg0NzBkOTQ0NWRkNDNmMDcwM2Q1ZTVhZTlkMGM3ZGRjNmE4YQ==
6
+ M2U1MjczODA5OTM0YjZiNTdmYzkwN2E2MWVhOTlhNTFlNmNiNzMzMA==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- MGExNzkxNWY4ODExNTJkNGZmMWVkNDAyM2QxNTkxMTM3NjBlMjk1ZWVmZDc2
10
- MDllZTBhY2ZjZTc0OWUyYTY0ZTk4NzVmNmJhMDgwOWUzZjFiMjkzNTMxMjdl
11
- NThlMmZlNDU4NTQ2ZjAwODU4YTk5NmQ0NjQ5NTUyYmNiNTU4MDA=
9
+ NjQyMjhiODJmOGZmNTY3YTdlZGFjMDc0OTI3NTM0MDY0ZmRiZTM0Yjk2NDI3
10
+ YzhhYmE2ZjhkMDdiMzIwYzlhODQ2ZGQ0OTc0YzUxZDBkY2QxOGIyM2ZmYWM5
11
+ MWEyYzJmMTU0NWRiOGY3N2E0NTYyMWM1ZmQyZWM1M2NjYmUyZmM=
12
12
  data.tar.gz: !binary |-
13
- NDkzMzZiOWI4NDZkYzdjYzVjMjM0MDNiMzhkMzUxMWVmNzBlYjIxMDdhMTM0
14
- NzM5N2FhYTYzOTZlMGM5NDViOGJkMzI4N2JmZmYyYjRhYWFkMmE1OWVlOTFi
15
- NDkxY2QyZmVmNzBmNWUwNjNhYWFjMDZiOTI0YTljYWM1ZmZlOGY=
13
+ YjE5M2IzMDJmZTRjMzE5ODFkY2RkYzNmYzBmYTRlMjVhNWE2MmQwOTc4NTM5
14
+ NmQxOTllODY2ZWNmYzNmYmM1YzI0ZDk3YTU2ZTBiY2RhYzU2YTEzYmViYTNi
15
+ YTQwNWNjNDRiMDIyMGU5Mjg1MWRlYmY5YjdkZjViMGUwYThhMTE=
data/Gemfile CHANGED
@@ -9,6 +9,7 @@ gem 'rails', "4.1.0.rc1"
9
9
  gem 'mysql2'
10
10
  gem 'bootstrap-sass'
11
11
 
12
+ gem 'docsplit'
12
13
  gem 'kaminari'
13
14
  gem 'elasticsearch', git: 'git://github.com/elasticsearch/elasticsearch-ruby.git'
14
15
  gem 'elasticsearch-model', git: 'git://github.com/elasticsearch/elasticsearch-rails.git'
data/Gemfile.lock CHANGED
@@ -120,6 +120,7 @@ GEM
120
120
  warden (~> 1.2.3)
121
121
  diff-lcs (1.2.5)
122
122
  diffy (3.0.2)
123
+ docsplit (0.7.4)
123
124
  dotenv (0.10.0)
124
125
  erubis (2.7.0)
125
126
  eventmachine (1.0.3)
@@ -337,6 +338,7 @@ DEPENDENCIES
337
338
  coffee-rails (~> 4.0.0)
338
339
  devise
339
340
  diffy
341
+ docsplit
340
342
  elasticsearch!
341
343
  elasticsearch-model!
342
344
  elasticsearch-rails!
@@ -8,4 +8,10 @@ window.Tawork =
8
8
  Models: {}
9
9
  Collections: {}
10
10
  Routers: {}
11
- Views: {}
11
+ Views: {}
12
+
13
+ # global window closer
14
+
15
+ $(document).click (event) ->
16
+ if( $(event.target).closest('.close-outside-click').length == 0 )
17
+ $('.close-outside-click').addClass("hide")
@@ -9,6 +9,7 @@ body
9
9
  font-size: 15px
10
10
  line-height: 1.428571429
11
11
  padding-top: 60px
12
+ padding-bottom: 30px
12
13
 
13
14
  /* Hide for mobile, show later */
14
15
  .sidebar
@@ -12,6 +12,7 @@ class Attachment < ActiveRecord::Base
12
12
  indexes :type, :as => :type, :boost => 100
13
13
  indexes :filename, :analyzer => 'snowball', :boost => 100
14
14
  indexes :content_type, :analyzer => 'snowball'
15
+ indexes :body, :analyzer => 'snowball'
15
16
  indexes :created_at, :type => 'date', :include_in_all => false
16
17
  indexes :updated_at, :type => 'date', :include_in_all => false
17
18
  end
@@ -30,6 +31,7 @@ class Attachment < ActiveRecord::Base
30
31
  file, user,
31
32
  "uploading file: #{filename}"
32
33
  )
34
+ attachment.__elasticsearch__.index_document
33
35
  end
34
36
 
35
37
  attachment
@@ -83,10 +85,43 @@ class Attachment < ActiveRecord::Base
83
85
  def as_indexed_json(options = {})
84
86
  json = self.as_json
85
87
  json[:type] = self.class.to_s.underscore
88
+ json[:body] = self.extracted_text
86
89
 
87
90
  json
88
91
  end
89
92
 
93
+ def extracted_text
94
+ tmp_dir = File.join Rails.root, "tmp", "#{id}_#{Time.now.to_i}"
95
+ text_dir = File.join tmp_dir, "text_dump"
96
+ tmp_filename = File.join tmp_dir, filename
97
+
98
+ FileUtils.mkdir_p tmp_dir
99
+
100
+ File.open tmp_filename, "wb" do |file|
101
+ file.write self.file_data
102
+ end
103
+
104
+ docs = Dir[File.join(tmp_dir, "*")]
105
+ Docsplit.extract_text(docs, output: text_dir)
106
+
107
+ texts = []
108
+ Dir[File.join(text_dir, "*")].each do |file|
109
+ texts << File.read(file)
110
+ end
111
+
112
+ text = texts.join("\n")
113
+
114
+ encoding_options = {
115
+ :invalid => :replace, # Replace invalid byte sequences
116
+ :undef => :replace, # Replace anything not defined in ASCII
117
+ :replace => '', # Use a blank for those replacements
118
+ :universal_newline => true # Always break lines with \n
119
+ }
120
+ text.encode(Encoding.find('ASCII'), encoding_options)
121
+ rescue
122
+ Rails.logger.info "document not extractable."
123
+ end
124
+
90
125
  protected
91
126
 
92
127
  def wiki_attachment_data
@@ -96,4 +131,5 @@ class Attachment < ActiveRecord::Base
96
131
  def wiki_dir
97
132
  "/attachments/#{id}"
98
133
  end
134
+
99
135
  end
@@ -11,20 +11,30 @@
11
11
 
12
12
  .collapse.navbar-collapse
13
13
  %ul.nav.navbar-nav
14
- %li.dropdown
15
- %a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
16
- Spaces
17
- %b.caret
18
- %ul.dropdown-menu
19
- %li
20
- = link_to "Spaces Listing", wiki_pages_path, class: "space-link"
21
- %li.divider
22
- - Page.roots.each do |page|
14
+ - if current_user.present?
15
+ %li.dropdown
16
+ %a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
17
+ Spaces
18
+ %b.caret
19
+ %ul.dropdown-menu
23
20
  %li
24
- = link_to page.title, wiki_page_path(page)
25
- %li.divider
26
- %li
27
- = link_to "Create New Space", new_wiki_space_path
21
+ = link_to "Spaces Listing", wiki_pages_path, class: "space-link"
22
+ %li.divider
23
+ - Page.roots.each do |page|
24
+ %li
25
+ = link_to page.title, wiki_page_path(page)
26
+ %li.divider
27
+ %li
28
+ = link_to "Create New Space", new_wiki_space_path
29
+
30
+ %li.dropdown
31
+ %a.dropdown-toggle{"data-toggle" => "dropdown", :href => "#"}
32
+ Favourites
33
+ %b.caret
34
+ %ul.dropdown-menu
35
+ - Starred.where(user: current_user, starrable_type: 'Page').each do |starred|
36
+ %li
37
+ = link_to starred.starrable.title, wiki_page_path(starred.starrable)
28
38
  -# %li
29
39
  -# = link_to "wiki", wiki_path
30
40
  %ul.nav.navbar-nav.navbar-right
@@ -32,7 +42,7 @@
32
42
  #global-search-container
33
43
  %form.navbar-form
34
44
  %input#global-search.form-control{type: "text", placeholder: "Search...", style: "width: 400px;", autocomplete: "off"}
35
- #global-search-results.hide
45
+ #global-search-results.hide.close-outside-click
36
46
  :coffeescript
37
47
  view = new GlobalSearch(el: $("#global-search-container"))
38
48
  - if user_signed_in?
@@ -1,3 +1,3 @@
1
1
  module Tawork
2
- VERSION = '0.0.23'
2
+ VERSION = '0.0.24'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tawork
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.23
4
+ version: 0.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adnan Ali