boxroom 0.0.4 → 0.0.5
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 +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
         |