boxroom 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +77 -1
- data/app/concepts/boxroom/folder/view/show.erb +1 -1
- data/app/concepts/boxroom/user_file/contract/notify.rb +7 -0
- data/app/concepts/boxroom/user_file/operations/notify_create.rb +27 -0
- data/app/concepts/boxroom/user_file/operations/notify_remove.rb +27 -0
- data/app/concepts/boxroom/user_file/operations/notify_update.rb +27 -0
- data/app/controllers/boxroom/files_controller.rb +3 -0
- data/app/controllers/boxroom/folders_controller.rb +7 -7
- data/app/mailers/boxroom/user_file_mailer.rb +19 -0
- data/app/models/boxroom/permitted_params.rb +1 -1
- data/app/models/boxroom/user_file.rb +5 -5
- data/app/views/boxroom/folders/_form.html.erb +28 -0
- data/app/views/boxroom/folders/show.html.erb +8 -0
- data/app/views/boxroom/user_file_mailer/notify_create.text.erb +2 -0
- data/app/views/boxroom/user_file_mailer/notify_remove.text.erb +2 -0
- data/app/views/boxroom/user_file_mailer/notify_update.text.erb +2 -0
- data/app/views/boxroom/user_mailer/reset_password_email.de.text.erb +0 -1
- data/app/views/boxroom/user_mailer/reset_password_email.en.text.erb +0 -1
- data/app/views/boxroom/user_mailer/reset_password_email.es.text.erb +0 -1
- data/app/views/boxroom/user_mailer/reset_password_email.fr.text.erb +0 -1
- data/app/views/boxroom/user_mailer/reset_password_email.it.text.erb +0 -1
- data/app/views/boxroom/user_mailer/reset_password_email.nl.text.erb +0 -1
- data/app/views/boxroom/user_mailer/reset_password_email.zh-CN.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.de.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.en.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.es.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.fr.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.it.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.nl.text.erb +0 -1
- data/app/views/boxroom/user_mailer/share_link_email.zh-CN.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.de.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.en.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.es.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.fr.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.it.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.nl.text.erb +0 -1
- data/app/views/boxroom/user_mailer/signup_email.zh-CN.text.erb +0 -1
- data/config/locales/de.yml +12 -1
- data/config/locales/en.yml +10 -0
- data/config/locales/es.yml +11 -1
- data/config/locales/fr.yml +11 -1
- data/config/locales/it.yml +11 -1
- data/config/locales/nl.yml +11 -1
- data/config/locales/zh-CN.yml +11 -1
- data/db/migrate/{20180309104530_add_original_id_to_users.rb → 20180309104530_boxroom_add_original_id_to_users.rb} +1 -1
- data/db/migrate/20180323134701_boxroom_add_notifications_to_folders.rb +10 -0
- data/lib/boxroom/configuration.rb +11 -9
- data/lib/boxroom/version.rb +1 -1
- metadata +12 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5008e36ca69f11ca4d4a2a9520000895932bf6bf
|
4
|
+
data.tar.gz: 4dc36ec5ca5de32f74ac9c70088ab292f7d8d962
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 54dc60f75254a04c3e261394943fd8ebdda4591510fedfb3a3e8f40dd62c7aada22765a6a9cd5b8d47937c0ab3fc547e9748f2782a34526c6e382cd1fbd9e8b4
|
7
|
+
data.tar.gz: 1208efb6e5b18f0fe5650aea6a9337941d5ada7c6f8d59cf1e5b2fe7f6f0f2fcc36716b55e91ace0872ded765a5766952347b8631a30ba09a12defad5a532d4c
|
data/README.md
CHANGED
@@ -12,6 +12,7 @@ sharing files in a web browser. It lets users
|
|
12
12
|
- share files
|
13
13
|
- search folders and files
|
14
14
|
- sort files and folders
|
15
|
+
- notify by email when files in specific folders are created, updated or removed
|
15
16
|
|
16
17
|
Admins can:
|
17
18
|
- manage users
|
@@ -44,6 +45,7 @@ Boxroom.configure do |config|
|
|
44
45
|
config.show_settings = true
|
45
46
|
config.show_shared_files = true
|
46
47
|
config.show_search = true
|
48
|
+
config.enable_notifications = true # notify by email when files in specific folders are created, updated or removed
|
47
49
|
end
|
48
50
|
```
|
49
51
|
|
@@ -71,9 +73,83 @@ end
|
|
71
73
|
```
|
72
74
|
- if you modify your users without callbacks in any place you should also take care of `boxroom_users` table yourself.
|
73
75
|
|
74
|
-
##
|
76
|
+
## Mail settings
|
77
|
+
|
78
|
+
Boxroom sends email on the following occasions:
|
79
|
+
|
80
|
+
* When inviting new users
|
81
|
+
* On a reset password request
|
82
|
+
* When a file is shared
|
83
|
+
|
84
|
+
For the application to be able to send email, a few things have to be set up. Depending on the environment
|
85
|
+
you're working in, either open `config/environments/development.rb` or `config/environments/production.rb`.
|
86
|
+
Uncomment the following lines and fill in the correct settings of your mail server:
|
87
|
+
|
88
|
+
```ruby
|
89
|
+
config.action_mailer.delivery_method = :smtp
|
90
|
+
config.action_mailer.smtp_settings = {
|
91
|
+
address: 'mailhost',
|
92
|
+
port: 587,
|
93
|
+
user_name: 'user_name',
|
94
|
+
password: 'password',
|
95
|
+
authentication: 'plain'
|
96
|
+
}
|
97
|
+
```
|
98
|
+
|
99
|
+
Also uncomment the following and replace `localhost:3000` with the host name the app will be running under:
|
100
|
+
|
101
|
+
```ruby
|
102
|
+
config.action_mailer.default_url_options = { host: 'localhost:3000' }
|
103
|
+
```
|
104
|
+
|
105
|
+
Lastly, you have to choose the address emails will be sent from. You can do
|
106
|
+
this by uncommenting and adjusting the following:
|
107
|
+
|
108
|
+
```ruby
|
109
|
+
ActionMailer::Base.default from: 'Boxroom <yourname@yourdomain.com>'
|
110
|
+
```
|
111
|
+
|
112
|
+
|
113
|
+
## Languages
|
114
|
+
|
115
|
+
Thanks to [Rob Halff](https://github.com/rhalff), [Marcus Ilgner](https://github.com/milgner),
|
116
|
+
[Jessica Marcon](https://github.com/marcontwm), [Arnaud Sellenet](https://github.com/demental),
|
117
|
+
[Burnaby John](https://github.com/john-coding) and [marcosantoniocaro](https://github.com/marcosantoniocaro)
|
118
|
+
Boxroom is now available in Dutch, German, Italian, French, Simplified Chinese and Spanish.
|
119
|
+
|
120
|
+
English is the default. To change the language, open `config/application.rb` and set the language you desire:
|
121
|
+
|
122
|
+
```ruby
|
123
|
+
config.i18n.default_locale = :en # English
|
124
|
+
config.i18n.default_locale = :nl # Dutch
|
125
|
+
config.i18n.default_locale = :de # German
|
126
|
+
config.i18n.default_locale = :it # Italian
|
127
|
+
config.i18n.default_locale = :fr # French
|
128
|
+
config.i18n.default_locale = :'zh-CN' # Simplified Chinese
|
129
|
+
config.i18n.default_locale = :es # Spanish
|
130
|
+
```
|
131
|
+
|
132
|
+
It would be great to have many more languages. I am waiting for your pull requests.
|
133
|
+
|
134
|
+
## Contributing and Development
|
75
135
|
Please feel free to leave an issue or PR.
|
76
136
|
|
137
|
+
- Use `docker-compose up -d` to launch mailcatcher on [http://localhost:1080](http://localhost:1080)
|
138
|
+
- Update mail settings in `config/environments/development.rb`
|
139
|
+
```ruby
|
140
|
+
config.action_mailer.raise_delivery_errors = true
|
141
|
+
config.action_mailer.perform_caching = false
|
142
|
+
config.action_mailer.perform_deliveries = true
|
143
|
+
config.action_mailer.delivery_method = :smtp
|
144
|
+
config.action_mailer.smtp_settings = {
|
145
|
+
address: 'localhost',
|
146
|
+
port: 1025
|
147
|
+
}
|
148
|
+
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
|
149
|
+
|
150
|
+
ActionMailer::Base.default from: 'Boxroom <yourname@yourdomain.com>'
|
151
|
+
```
|
152
|
+
|
77
153
|
## Testing
|
78
154
|
- run migrations `bin/rails db:migrate RAILS_ENV=test`
|
79
155
|
- run tests `bin/rails test`
|
@@ -57,7 +57,7 @@
|
|
57
57
|
<%= link_to '<span class="icon is-small"><i class="fa fa-clipboard"></i></span>',
|
58
58
|
{controller: :clipboard, action: :create, id: file.id, type: 'file', folder_id: file.folder, authenticity_token: form_authenticity_token},
|
59
59
|
method: :post, title: t(:add_to_clipboard)
|
60
|
-
|
60
|
+
%>
|
61
61
|
<% if Boxroom.configuration.show_shared_files %>
|
62
62
|
<%= link_to '<span class="icon is-small"><i class="fa fa-share"></i></span>', new_file_share_link_path(file), title: t(:share) %>
|
63
63
|
<% end %>
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Boxroom
|
2
|
+
class UserFile < ActiveRecord::Base
|
3
|
+
class NotifyCreate < ::Trailblazer::Operation
|
4
|
+
step Trailblazer::Operation::Contract::Build(constant: Boxroom::UserFile::Contract::Notify)
|
5
|
+
step Trailblazer::Operation::Contract::Validate()
|
6
|
+
step :model!
|
7
|
+
step :check
|
8
|
+
step :notify
|
9
|
+
|
10
|
+
def model!(options, params:, **)
|
11
|
+
options['model'] = UserFile.find(params[:id])
|
12
|
+
end
|
13
|
+
|
14
|
+
def check(options, params:, **)
|
15
|
+
return false unless Boxroom.configuration.enable_notifications
|
16
|
+
return false unless options['model'].folder.notify_create
|
17
|
+
true
|
18
|
+
end
|
19
|
+
|
20
|
+
def notify(options, params:, **)
|
21
|
+
options['model'].folder.notify_emails.gsub(',', ' ').split.each do |email|
|
22
|
+
UserFileMailer.notify_create(options['model'], email).deliver_later
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Boxroom
|
2
|
+
class UserFile < ActiveRecord::Base
|
3
|
+
class NotifyRemove < ::Trailblazer::Operation
|
4
|
+
step Trailblazer::Operation::Contract::Build(constant: Boxroom::UserFile::Contract::Notify)
|
5
|
+
step Trailblazer::Operation::Contract::Validate()
|
6
|
+
step :model!
|
7
|
+
step :check
|
8
|
+
step :notify
|
9
|
+
|
10
|
+
def model!(options, params:, **)
|
11
|
+
options['model'] = UserFile.find(params[:id])
|
12
|
+
end
|
13
|
+
|
14
|
+
def check(options, params:, **)
|
15
|
+
return false unless Boxroom.configuration.enable_notifications
|
16
|
+
return false unless options['model'].folder.notify_remove
|
17
|
+
true
|
18
|
+
end
|
19
|
+
|
20
|
+
def notify(options, params:, **)
|
21
|
+
options['model'].folder.notify_emails.gsub(',', ' ').split.each do |email|
|
22
|
+
UserFileMailer.notify_remove(options['model'].attachment_file_name, options['model'].folder, email).deliver_later
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Boxroom
|
2
|
+
class UserFile < ActiveRecord::Base
|
3
|
+
class NotifyUpdate < ::Trailblazer::Operation
|
4
|
+
step Trailblazer::Operation::Contract::Build(constant: Boxroom::UserFile::Contract::Notify)
|
5
|
+
step Trailblazer::Operation::Contract::Validate()
|
6
|
+
step :model!
|
7
|
+
step :check
|
8
|
+
step :notify
|
9
|
+
|
10
|
+
def model!(options, params:, **)
|
11
|
+
options['model'] = UserFile.find(params[:id])
|
12
|
+
end
|
13
|
+
|
14
|
+
def check(options, params:, **)
|
15
|
+
return false unless Boxroom.configuration.enable_notifications
|
16
|
+
return false unless options['model'].folder.notify_update
|
17
|
+
true
|
18
|
+
end
|
19
|
+
|
20
|
+
def notify(options, params:, **)
|
21
|
+
options['model'].folder.notify_emails.gsub(',', ' ').split.each do |email|
|
22
|
+
UserFileMailer.notify_update(options['model'], email).deliver_later
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -34,6 +34,7 @@ module Boxroom
|
|
34
34
|
File.open("#{Rails.root}/#{Boxroom.configuration.uploads_path}/#{Rails.env}/#{existing_file.id}/original/#{existing_file.id}", "ab") {|f| f.write(permitted_params.user_file["attachment"].read)}
|
35
35
|
else
|
36
36
|
@file = @target_folder.user_files.create(permitted_params.user_file)
|
37
|
+
UserFile::NotifyCreate.(params: {id: @file.id})
|
37
38
|
end
|
38
39
|
|
39
40
|
head :ok
|
@@ -46,6 +47,7 @@ module Boxroom
|
|
46
47
|
# @file and @folder are set in require_existing_file
|
47
48
|
def update
|
48
49
|
if @file.update_attributes(permitted_params.user_file)
|
50
|
+
UserFile::NotifyUpdate.(params: {id: @file.id})
|
49
51
|
redirect_to edit_file_url(@file), :notice => t(:your_changes_were_saved)
|
50
52
|
else
|
51
53
|
render :action => 'edit'
|
@@ -54,6 +56,7 @@ module Boxroom
|
|
54
56
|
|
55
57
|
# @file and @folder are set in require_existing_file
|
56
58
|
def destroy
|
59
|
+
UserFile::NotifyRemove.(params: {id: @file.id})
|
57
60
|
@file.destroy
|
58
61
|
redirect_to @folder
|
59
62
|
end
|
@@ -2,14 +2,14 @@ module Boxroom
|
|
2
2
|
class FoldersController < Boxroom::ApplicationController
|
3
3
|
include Boxroom::BaseController
|
4
4
|
|
5
|
-
before_action :require_existing_folder, :
|
6
|
-
before_action :require_existing_target_folder, :
|
7
|
-
before_action :require_folder_isnt_root_folder, :
|
5
|
+
before_action :require_existing_folder, only: [:show, :edit, :update, :destroy]
|
6
|
+
before_action :require_existing_target_folder, only: [:new, :create]
|
7
|
+
before_action :require_folder_isnt_root_folder, only: [:edit, :update, :destroy]
|
8
8
|
|
9
|
-
before_action :require_create_permission, :
|
10
|
-
before_action :require_read_permission, :
|
11
|
-
before_action :require_update_permission, :
|
12
|
-
before_action :require_delete_permission, :
|
9
|
+
before_action :require_create_permission, only: [:new, :create]
|
10
|
+
before_action :require_read_permission, only: :show
|
11
|
+
before_action :require_update_permission, only: [:edit, :update]
|
12
|
+
before_action :require_delete_permission, only: :destroy
|
13
13
|
|
14
14
|
def index
|
15
15
|
redirect_to Folder.root
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Boxroom
|
2
|
+
class UserFileMailer < ActionMailer::Base
|
3
|
+
def notify_create(user_file, email)
|
4
|
+
@user_file = user_file
|
5
|
+
mail(to: email, subject: t(:file_added))
|
6
|
+
end
|
7
|
+
|
8
|
+
def notify_update(user_file, email)
|
9
|
+
@user_file = user_file
|
10
|
+
mail(to: email, subject: t(:file_updated))
|
11
|
+
end
|
12
|
+
|
13
|
+
def notify_remove(file_name, folder, email)
|
14
|
+
@file_name = file_name
|
15
|
+
@folder = folder
|
16
|
+
mail(to: email, subject: t(:file_removed))
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module Boxroom
|
2
2
|
class UserFile < ActiveRecord::Base
|
3
|
-
has_attached_file :attachment, :
|
3
|
+
has_attached_file :attachment, path: ":rails_root/#{Boxroom.configuration.uploads_path}/:rails_env/:id/:style/:id", restricted_characters: Boxroom::RESTRICTED_CHARACTERS
|
4
4
|
do_not_validate_attachment_file_type :attachment
|
5
5
|
|
6
6
|
belongs_to :folder
|
7
|
-
has_many :share_links, :
|
7
|
+
has_many :share_links, dependent: :destroy
|
8
8
|
|
9
|
-
validates_attachment_presence :attachment, :
|
9
|
+
validates_attachment_presence :attachment, message: I18n.t(:blank, scope: [:activerecord, :errors, :messages])
|
10
10
|
validates_presence_of :folder_id
|
11
|
-
validates_uniqueness_of :attachment_file_name, :
|
12
|
-
validates_format_of :attachment_file_name, :
|
11
|
+
validates_uniqueness_of :attachment_file_name, scope: 'folder_id', message: I18n.t(:exists_already, scope: [:activerecord, :errors, :messages])
|
12
|
+
validates_format_of :attachment_file_name, with: /\A[^\/\\\?\*:|"<>]+\z/, message: I18n.t(:invalid_characters, scope: [:activerecord, :errors, :messages])
|
13
13
|
|
14
14
|
def copy(target_folder)
|
15
15
|
new_file = self.dup
|
@@ -8,6 +8,34 @@
|
|
8
8
|
<div class="control">
|
9
9
|
<%= f.text_field :name, class: 'input' %>
|
10
10
|
</div>
|
11
|
+
<% if Boxroom.configuration.enable_notifications %>
|
12
|
+
<section class="section">
|
13
|
+
<h2 class="subtitle"> <%= t :edit_notifications %> </h2>
|
14
|
+
<%= f.label :notify_emails, class: 'label' %>
|
15
|
+
<div class="control">
|
16
|
+
<%= f.text_field :notify_emails, placeholder: t(:notify_emails_list), class: 'input' %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class="control">
|
20
|
+
<label class="checkbox">
|
21
|
+
<%= f.check_box :notify_create %>
|
22
|
+
<%= t :notify_create %>
|
23
|
+
</label>
|
24
|
+
</div>
|
25
|
+
<div class="control">
|
26
|
+
<label class="checkbox">
|
27
|
+
<%= f.check_box :notify_update %>
|
28
|
+
<%= t :notify_update %>
|
29
|
+
</label>
|
30
|
+
</div>
|
31
|
+
<div class="control">
|
32
|
+
<label class="checkbox">
|
33
|
+
<%= f.check_box :notify_remove %>
|
34
|
+
<%= t :notify_remove %>
|
35
|
+
</label>
|
36
|
+
</div>
|
37
|
+
</section>
|
38
|
+
<% end %>
|
11
39
|
</div>
|
12
40
|
<div class="field is-grouped">
|
13
41
|
<div class="control">
|
@@ -40,6 +40,14 @@
|
|
40
40
|
<span><%= t(:clipboard) %></span>
|
41
41
|
</a>
|
42
42
|
</li>
|
43
|
+
<% if boxroom_current_user.can_update(@folder) -%>
|
44
|
+
<li>
|
45
|
+
<a href="<%= edit_folder_path(@folder) %>">
|
46
|
+
<span class="icon is-small"><i class="fa fa-edit"></i></span>
|
47
|
+
<span><%= t(:edit) %></span>
|
48
|
+
</a>
|
49
|
+
</li>
|
50
|
+
<% end -%>
|
43
51
|
</ul>
|
44
52
|
</div>
|
45
53
|
|
data/config/locales/de.yml
CHANGED
@@ -265,6 +265,12 @@ de:
|
|
265
265
|
|
266
266
|
#folders/edit
|
267
267
|
rename_folder: Ordner umbenennen
|
268
|
+
edit_notifications: Benachrichtigungen bearbeiten
|
269
|
+
notify_emails_list: Liste der durch Komma getrennten E-Mails
|
270
|
+
notify_create: Benachrichtigen Sie Erstellen
|
271
|
+
notify_update: Aktualisierung benachrichtigen
|
272
|
+
notify_remove: Benachrichtigen Entfernen
|
273
|
+
|
268
274
|
|
269
275
|
#folders/new
|
270
276
|
new_folder: Neuen Ordner anlegen
|
@@ -281,7 +287,7 @@ de:
|
|
281
287
|
add_to_clipboard: Zur Zwischenablage hinzufügen
|
282
288
|
download: Herunterladen
|
283
289
|
share: Freigeben
|
284
|
-
search:
|
290
|
+
search: Suchen Sie Dateien und Ordner im aktuellen Ordner ... Drücken Sie die Eingabetaste, um zu suchen
|
285
291
|
|
286
292
|
#groups/edit
|
287
293
|
rename_group: Gruppe umbenennen
|
@@ -412,3 +418,8 @@ de:
|
|
412
418
|
signup_email_subject: '[Boxroom] Sign up invitation'
|
413
419
|
reset_password_email_subject: '[Boxroom] Anleitung zum Ändern Ihres Kennworts'
|
414
420
|
share_link_email_subject: '[Boxroom] %{email} möchte Ihnen eine Datei freigeben'
|
421
|
+
|
422
|
+
# mailers/user_file_mailer
|
423
|
+
file_added: '[Boxroom] Neue Datei wurde zum Ordner hinzugefügt'
|
424
|
+
file_updated: '[Boxroom] Die Datei wurde im Ordner aktualisiert'
|
425
|
+
file_removed: '[Boxroom] Die Datei wurde aus dem Ordner entfernt'
|
data/config/locales/en.yml
CHANGED
@@ -258,6 +258,11 @@
|
|
258
258
|
|
259
259
|
#folders/edit
|
260
260
|
rename_folder: Rename folder
|
261
|
+
edit_notifications: Edit Notifications
|
262
|
+
notify_emails_list: List of comma separated emails
|
263
|
+
notify_create: Notify Create
|
264
|
+
notify_update: Notify Update
|
265
|
+
notify_remove: Notify Remove
|
261
266
|
|
262
267
|
#folders/new
|
263
268
|
new_folder: New folder
|
@@ -405,3 +410,8 @@
|
|
405
410
|
signup_email_subject: '[Boxroom] Sign up invitation'
|
406
411
|
reset_password_email_subject: '[Boxroom] Password reset instructions'
|
407
412
|
share_link_email_subject: '[Boxroom] %{email} shared a file with you'
|
413
|
+
|
414
|
+
# mailers/user_file_mailer
|
415
|
+
file_added: '[Boxroom] New file was added to folder'
|
416
|
+
file_updated: '[Boxroom] File was updated in folder'
|
417
|
+
file_removed: '[Boxroom] File was removed from folder'
|
data/config/locales/es.yml
CHANGED
@@ -257,6 +257,11 @@
|
|
257
257
|
|
258
258
|
#folders/edit
|
259
259
|
rename_folder: Renombrar Carpeta
|
260
|
+
edit_notifications: Editar notificaciones
|
261
|
+
notify_emails_list: Lista de correos electrónicos separados por comas
|
262
|
+
notify_create: Notificar Crear
|
263
|
+
notify_update: Notificar actualización
|
264
|
+
notify_remove: Notificar Eliminar
|
260
265
|
|
261
266
|
#folders/new
|
262
267
|
new_folder: Nueva Carpeta
|
@@ -273,7 +278,7 @@
|
|
273
278
|
add_to_clipboard: Agregar al portapapeles
|
274
279
|
download: Descargar
|
275
280
|
share: Compartir
|
276
|
-
search:
|
281
|
+
search: Buscar archivos y carpetas dentro de la carpeta actual ... Presione Entrar para buscar
|
277
282
|
|
278
283
|
#groups/edit
|
279
284
|
rename_group: Renombrar grupo
|
@@ -401,3 +406,8 @@
|
|
401
406
|
signup_email_subject: 'Invitación al Sistema de Gestión de Archivos'
|
402
407
|
reset_password_email_subject: 'Gestión de Archivos: cambio de claves'
|
403
408
|
share_link_email_subject: 'Gestión de Archivos: se le ha compartido un enlace'
|
409
|
+
|
410
|
+
# mailers/user_file_mailer
|
411
|
+
file_added: '[Boxroom] Nuevo archivo fue agregado a la carpeta'
|
412
|
+
file_updated: '[Boxroom] El archivo se actualizó en la carpeta'
|
413
|
+
file_removed: '[Boxroom] El archivo fue eliminado de la carpeta'
|
data/config/locales/fr.yml
CHANGED
@@ -254,6 +254,11 @@
|
|
254
254
|
|
255
255
|
#folders/edit
|
256
256
|
rename_folder: Renommer dossier
|
257
|
+
edit_notifications: Modifier les notifications
|
258
|
+
notify_emails_list: Liste des courriels séparés par des virgules
|
259
|
+
notify_create: Notifier Créer
|
260
|
+
notify_update: Avertir mise à
|
261
|
+
notify_remove: Notifier Supprimer
|
257
262
|
|
258
263
|
#folders/new
|
259
264
|
new_folder: Nouveau dossier
|
@@ -270,7 +275,7 @@
|
|
270
275
|
add_to_clipboard: Ajouter au presse-papier
|
271
276
|
download: Télécharger
|
272
277
|
share: Partager
|
273
|
-
search:
|
278
|
+
search: Rechercher des fichiers et des dossiers dans le dossier actuel ... Appuyez sur Entrée pour rechercher
|
274
279
|
|
275
280
|
#groups/edit
|
276
281
|
rename_group: Renommer groupe
|
@@ -401,3 +406,8 @@
|
|
401
406
|
signup_email_subject: '[Boxroom] Invitiation à créer un compte'
|
402
407
|
reset_password_email_subject: '[Boxroom] Instructions de réinitialisation mot de passe'
|
403
408
|
share_link_email_subject: "[Boxroom] %{email} a partagé un fichier avec vous"
|
409
|
+
|
410
|
+
# mailers/user_file_mailer
|
411
|
+
file_added: '[Boxroom] Nouveau fichier a été ajouté au dossier'
|
412
|
+
file_updated: '[Boxroom] Le fichier a été mis à jour dans le dossier'
|
413
|
+
file_removed: '[Boxroom] Le fichier a été supprimé du dossier'
|
data/config/locales/it.yml
CHANGED
@@ -265,6 +265,11 @@
|
|
265
265
|
|
266
266
|
#folders/edit
|
267
267
|
rename_folder: Rinomina cartella
|
268
|
+
edit_notifications: Modifica notifiche
|
269
|
+
notify_emails_list: Elenco di e-mail separate da virgole
|
270
|
+
notify_create: Notifica Crea
|
271
|
+
notify_update: Notifica aggiornamento
|
272
|
+
notify_remove: Notifica Rimuovi
|
268
273
|
|
269
274
|
#folders/new
|
270
275
|
new_folder: Nuova cartella
|
@@ -281,7 +286,7 @@
|
|
281
286
|
add_to_clipboard: Copia negli appunti
|
282
287
|
download: Scarica
|
283
288
|
share: Condividi
|
284
|
-
search:
|
289
|
+
search: Cerca file e cartelle all'interno della cartella corrente ... Premi Invio per cercare
|
285
290
|
|
286
291
|
#groups/edit
|
287
292
|
rename_group: Rinomina gruppo
|
@@ -412,3 +417,8 @@
|
|
412
417
|
signup_email_subject: '[Boxroom] Sign up invitation'
|
413
418
|
share_link_email_subject: '[Boxroom] %{email} ha condiviso un file con te'
|
414
419
|
reset_password_email_subject: '[Boxroom] Istruzioni per modificare la password'
|
420
|
+
|
421
|
+
# mailers/user_file_mailer
|
422
|
+
file_added: '[Boxroom] Nuovo file è stato aggiunto alla cartella'
|
423
|
+
file_updated: '[Boxroom] Il file è stato aggiornato nella cartella'
|
424
|
+
file_removed: '[Boxroom] Il file è stato rimosso dalla cartella'
|
data/config/locales/nl.yml
CHANGED
@@ -259,6 +259,11 @@ nl:
|
|
259
259
|
|
260
260
|
#folders/edit
|
261
261
|
rename_folder: Mapnaam wijzigen
|
262
|
+
edit_notifications: Bewerk meldingen
|
263
|
+
notify_emails_list: Lijst met door komma's gescheiden e-mails
|
264
|
+
notify_create: Notificeer Create
|
265
|
+
notify_update: Breng update op de hoogte
|
266
|
+
notify_remove: Verwittig Verwijderen
|
262
267
|
|
263
268
|
#folders/new
|
264
269
|
new_folder: Nieuwe map
|
@@ -275,7 +280,7 @@ nl:
|
|
275
280
|
add_to_clipboard: Op klembord plaatsen
|
276
281
|
download: Download
|
277
282
|
share: Delen
|
278
|
-
search:
|
283
|
+
search: Zoek bestanden en mappen in de huidige map ... Druk op Enter om te zoeken
|
279
284
|
|
280
285
|
#groups/edit
|
281
286
|
rename_group: Groepnaam wijzigen
|
@@ -406,3 +411,8 @@ nl:
|
|
406
411
|
signup_email_subject: '[Boxroom] Uitnodiging om aan te melden'
|
407
412
|
reset_password_email_subject: '[Boxroom] Instructies om uw wachtwoord te resetten'
|
408
413
|
share_link_email_subject: '[Boxroom] %{email} heeft een bestand met u gedeeld'
|
414
|
+
|
415
|
+
# mailers/user_file_mailer
|
416
|
+
file_added: '[Boxroom] Nieuw bestand toegevoegd aan map'
|
417
|
+
file_updated: '[Boxroom] Bestand is in map bijgewerk'
|
418
|
+
file_removed: '[Boxroom] Bestand is uit de map verwijderd'
|
data/config/locales/zh-CN.yml
CHANGED
@@ -257,6 +257,11 @@
|
|
257
257
|
|
258
258
|
#folders/edit
|
259
259
|
rename_folder: 重新命名文件夹
|
260
|
+
edit_notifications: 编辑通知
|
261
|
+
notify_emails_list: 用逗号分隔的电子邮件列表
|
262
|
+
notify_create: 通知创建
|
263
|
+
notify_update: 通知更新
|
264
|
+
notify_remove: 通知删除
|
260
265
|
|
261
266
|
#folders/new
|
262
267
|
new_folder: 新文件夹
|
@@ -273,7 +278,7 @@
|
|
273
278
|
add_to_clipboard: 加到剪贴板
|
274
279
|
download: 下载
|
275
280
|
share: 共享
|
276
|
-
search:
|
281
|
+
search: 搜索当前文件夹内的文件和文件夹...按Enter键搜索
|
277
282
|
|
278
283
|
#groups/edit
|
279
284
|
rename_group: 群组重新命名
|
@@ -404,3 +409,8 @@
|
|
404
409
|
signup_email_subject: '[Boxroom] 注册邀请'
|
405
410
|
reset_password_email_subject: '[Boxroom] 重设密码的步骤'
|
406
411
|
share_link_email_subject: '[Boxroom] %{email}与您共享了文件'
|
412
|
+
|
413
|
+
# mailers/user_file_mailer
|
414
|
+
file_added: '[Boxroom] 新文件已添加到文件夹'
|
415
|
+
file_updated: '[Boxroom] 文件已在文件夹中更新'
|
416
|
+
file_removed: '[Boxroom] 文件已从文件夹中删除'
|
@@ -8,6 +8,7 @@ module Boxroom
|
|
8
8
|
:show_settings,
|
9
9
|
:show_shared_files,
|
10
10
|
:show_search,
|
11
|
+
:enable_notifications,
|
11
12
|
:uploads_path,
|
12
13
|
:current_user_method,
|
13
14
|
:sign_in_path,
|
@@ -15,15 +16,16 @@ module Boxroom
|
|
15
16
|
:parent_controller
|
16
17
|
|
17
18
|
def initialize
|
18
|
-
@site_name
|
19
|
-
@logo
|
20
|
-
@show_footer
|
21
|
-
@show_users
|
22
|
-
@show_groups
|
23
|
-
@show_settings
|
24
|
-
@show_shared_files
|
25
|
-
@show_search
|
26
|
-
@
|
19
|
+
@site_name = 'Boxroom'
|
20
|
+
@logo = 'boxroom/logo.png'
|
21
|
+
@show_footer = true
|
22
|
+
@show_users = true
|
23
|
+
@show_groups = true
|
24
|
+
@show_settings = true
|
25
|
+
@show_shared_files = true
|
26
|
+
@show_search = true
|
27
|
+
@enable_notifications = true
|
28
|
+
@uploads_path = 'uploads'
|
27
29
|
|
28
30
|
# Integrate with existing user model
|
29
31
|
@current_user_method = nil
|
data/lib/boxroom/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: boxroom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serge Koba
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03-
|
11
|
+
date: 2018-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -338,6 +338,10 @@ files:
|
|
338
338
|
- app/concepts/boxroom/folder/view/show.erb
|
339
339
|
- app/concepts/boxroom/search/contract/files_and_folders.rb
|
340
340
|
- app/concepts/boxroom/search/operations/files_and_folders.rb
|
341
|
+
- app/concepts/boxroom/user_file/contract/notify.rb
|
342
|
+
- app/concepts/boxroom/user_file/operations/notify_create.rb
|
343
|
+
- app/concepts/boxroom/user_file/operations/notify_remove.rb
|
344
|
+
- app/concepts/boxroom/user_file/operations/notify_update.rb
|
341
345
|
- app/controllers/boxroom/admins_controller.rb
|
342
346
|
- app/controllers/boxroom/application_controller.rb
|
343
347
|
- app/controllers/boxroom/clipboard_controller.rb
|
@@ -356,6 +360,7 @@ files:
|
|
356
360
|
- app/helpers/boxroom/folders_helper.rb
|
357
361
|
- app/jobs/boxroom/application_job.rb
|
358
362
|
- app/mailers/boxroom/application_mailer.rb
|
363
|
+
- app/mailers/boxroom/user_file_mailer.rb
|
359
364
|
- app/mailers/boxroom/user_mailer.rb
|
360
365
|
- app/models/boxroom/application_record.rb
|
361
366
|
- app/models/boxroom/clipboard.rb
|
@@ -402,6 +407,9 @@ files:
|
|
402
407
|
- app/views/boxroom/shared/_footer.html.erb
|
403
408
|
- app/views/boxroom/shared/_header.html.erb
|
404
409
|
- app/views/boxroom/signup/edit.html.erb
|
410
|
+
- app/views/boxroom/user_file_mailer/notify_create.text.erb
|
411
|
+
- app/views/boxroom/user_file_mailer/notify_remove.text.erb
|
412
|
+
- app/views/boxroom/user_file_mailer/notify_update.text.erb
|
405
413
|
- app/views/boxroom/user_mailer/reset_password_email.de.text.erb
|
406
414
|
- app/views/boxroom/user_mailer/reset_password_email.en.text.erb
|
407
415
|
- app/views/boxroom/user_mailer/reset_password_email.es.text.erb
|
@@ -450,7 +458,8 @@ files:
|
|
450
458
|
- db/migrate/20120411081345_boxroom_add_column_signup_token_expires_at_to_users.rb
|
451
459
|
- db/migrate/20130626210927_boxroom_add_columns_message_user_id_to_share_links.rb
|
452
460
|
- db/migrate/20130628082245_boxroom_populate_user_id_in_share_links.rb
|
453
|
-
- db/migrate/
|
461
|
+
- db/migrate/20180309104530_boxroom_add_original_id_to_users.rb
|
462
|
+
- db/migrate/20180323134701_boxroom_add_notifications_to_folders.rb
|
454
463
|
- lib/boxroom.rb
|
455
464
|
- lib/boxroom/active_record.rb
|
456
465
|
- lib/boxroom/configuration.rb
|