boxroom 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (215) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +50 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/boxroom_manifest.js +2 -0
  6. data/app/assets/images/boxroom/clipboard.png +0 -0
  7. data/app/assets/images/boxroom/clipboard_add.png +0 -0
  8. data/app/assets/images/boxroom/copy.png +0 -0
  9. data/app/assets/images/boxroom/delete.png +0 -0
  10. data/app/assets/images/boxroom/edit.png +0 -0
  11. data/app/assets/images/boxroom/exclamation.png +0 -0
  12. data/app/assets/images/boxroom/extend.png +0 -0
  13. data/app/assets/images/boxroom/failed.png +0 -0
  14. data/app/assets/images/boxroom/file.png +0 -0
  15. data/app/assets/images/boxroom/file_add.png +0 -0
  16. data/app/assets/images/boxroom/fileicons/7z.png +0 -0
  17. data/app/assets/images/boxroom/fileicons/ai.png +0 -0
  18. data/app/assets/images/boxroom/fileicons/aif.png +0 -0
  19. data/app/assets/images/boxroom/fileicons/aiff.png +0 -0
  20. data/app/assets/images/boxroom/fileicons/audio.png +0 -0
  21. data/app/assets/images/boxroom/fileicons/bz2.png +0 -0
  22. data/app/assets/images/boxroom/fileicons/c.png +0 -0
  23. data/app/assets/images/boxroom/fileicons/conf.png +0 -0
  24. data/app/assets/images/boxroom/fileicons/cpp.png +0 -0
  25. data/app/assets/images/boxroom/fileicons/cs.png +0 -0
  26. data/app/assets/images/boxroom/fileicons/css.png +0 -0
  27. data/app/assets/images/boxroom/fileicons/csv.png +0 -0
  28. data/app/assets/images/boxroom/fileicons/divx.png +0 -0
  29. data/app/assets/images/boxroom/fileicons/doc.png +0 -0
  30. data/app/assets/images/boxroom/fileicons/docx.png +0 -0
  31. data/app/assets/images/boxroom/fileicons/dot.png +0 -0
  32. data/app/assets/images/boxroom/fileicons/fla.png +0 -0
  33. data/app/assets/images/boxroom/fileicons/gif.png +0 -0
  34. data/app/assets/images/boxroom/fileicons/gz.png +0 -0
  35. data/app/assets/images/boxroom/fileicons/htm.png +0 -0
  36. data/app/assets/images/boxroom/fileicons/html.png +0 -0
  37. data/app/assets/images/boxroom/fileicons/image.png +0 -0
  38. data/app/assets/images/boxroom/fileicons/java.png +0 -0
  39. data/app/assets/images/boxroom/fileicons/jpeg.png +0 -0
  40. data/app/assets/images/boxroom/fileicons/jpg.png +0 -0
  41. data/app/assets/images/boxroom/fileicons/js.png +0 -0
  42. data/app/assets/images/boxroom/fileicons/mdb.png +0 -0
  43. data/app/assets/images/boxroom/fileicons/mdbx.png +0 -0
  44. data/app/assets/images/boxroom/fileicons/mov.png +0 -0
  45. data/app/assets/images/boxroom/fileicons/mp3.png +0 -0
  46. data/app/assets/images/boxroom/fileicons/mpg.png +0 -0
  47. data/app/assets/images/boxroom/fileicons/ogg.png +0 -0
  48. data/app/assets/images/boxroom/fileicons/pdf.png +0 -0
  49. data/app/assets/images/boxroom/fileicons/php.png +0 -0
  50. data/app/assets/images/boxroom/fileicons/pl.png +0 -0
  51. data/app/assets/images/boxroom/fileicons/png.png +0 -0
  52. data/app/assets/images/boxroom/fileicons/ppt.png +0 -0
  53. data/app/assets/images/boxroom/fileicons/pptx.png +0 -0
  54. data/app/assets/images/boxroom/fileicons/ps.png +0 -0
  55. data/app/assets/images/boxroom/fileicons/py.png +0 -0
  56. data/app/assets/images/boxroom/fileicons/ram.png +0 -0
  57. data/app/assets/images/boxroom/fileicons/rar.png +0 -0
  58. data/app/assets/images/boxroom/fileicons/rb.png +0 -0
  59. data/app/assets/images/boxroom/fileicons/rm.png +0 -0
  60. data/app/assets/images/boxroom/fileicons/rtf.png +0 -0
  61. data/app/assets/images/boxroom/fileicons/sql.png +0 -0
  62. data/app/assets/images/boxroom/fileicons/swf.png +0 -0
  63. data/app/assets/images/boxroom/fileicons/tar.png +0 -0
  64. data/app/assets/images/boxroom/fileicons/tgz.png +0 -0
  65. data/app/assets/images/boxroom/fileicons/txt.png +0 -0
  66. data/app/assets/images/boxroom/fileicons/video.png +0 -0
  67. data/app/assets/images/boxroom/fileicons/wav.png +0 -0
  68. data/app/assets/images/boxroom/fileicons/wma.png +0 -0
  69. data/app/assets/images/boxroom/fileicons/wmv.png +0 -0
  70. data/app/assets/images/boxroom/fileicons/xls.png +0 -0
  71. data/app/assets/images/boxroom/fileicons/xlsx.png +0 -0
  72. data/app/assets/images/boxroom/fileicons/xml.png +0 -0
  73. data/app/assets/images/boxroom/fileicons/xvid.png +0 -0
  74. data/app/assets/images/boxroom/fileicons/zip.png +0 -0
  75. data/app/assets/images/boxroom/folder.png +0 -0
  76. data/app/assets/images/boxroom/folder_add.png +0 -0
  77. data/app/assets/images/boxroom/group.png +0 -0
  78. data/app/assets/images/boxroom/group_add.png +0 -0
  79. data/app/assets/images/boxroom/group_grey.png +0 -0
  80. data/app/assets/images/boxroom/information.png +0 -0
  81. data/app/assets/images/boxroom/logo.png +0 -0
  82. data/app/assets/images/boxroom/move.png +0 -0
  83. data/app/assets/images/boxroom/permissions.png +0 -0
  84. data/app/assets/images/boxroom/share.png +0 -0
  85. data/app/assets/images/boxroom/spinner.gif +0 -0
  86. data/app/assets/images/boxroom/tick.png +0 -0
  87. data/app/assets/images/boxroom/user.png +0 -0
  88. data/app/assets/images/boxroom/user_add.png +0 -0
  89. data/app/assets/javascripts/boxroom/application.js.coffee +51 -0
  90. data/app/assets/javascripts/boxroom/files.js.coffee +33 -0
  91. data/app/assets/stylesheets/boxroom/application.scss +7 -0
  92. data/app/concepts/boxroom/base_cell.rb +7 -0
  93. data/app/concepts/boxroom/folder/cell/show.rb +25 -0
  94. data/app/concepts/boxroom/folder/view/show.erb +69 -0
  95. data/app/concepts/boxroom/search/contract/files_and_folders.rb +9 -0
  96. data/app/concepts/boxroom/search/operations/files_and_folders.rb +21 -0
  97. data/app/controllers/boxroom/admins_controller.rb +30 -0
  98. data/app/controllers/boxroom/application_controller.rb +5 -0
  99. data/app/controllers/boxroom/clipboard_controller.rb +87 -0
  100. data/app/controllers/boxroom/files_controller.rb +78 -0
  101. data/app/controllers/boxroom/folders_controller.rb +91 -0
  102. data/app/controllers/boxroom/groups_controller.rb +60 -0
  103. data/app/controllers/boxroom/permissions_controller.rb +19 -0
  104. data/app/controllers/boxroom/reset_password_controller.rb +45 -0
  105. data/app/controllers/boxroom/search_controller.rb +21 -0
  106. data/app/controllers/boxroom/sessions_controller.rb +48 -0
  107. data/app/controllers/boxroom/share_links_controller.rb +67 -0
  108. data/app/controllers/boxroom/signup_controller.rb +31 -0
  109. data/app/controllers/boxroom/users_controller.rb +75 -0
  110. data/app/controllers/concerns/boxroom/base_controller.rb +92 -0
  111. data/app/helpers/boxroom/application_helper.rb +4 -0
  112. data/app/helpers/boxroom/folders_helper.rb +17 -0
  113. data/app/jobs/boxroom/application_job.rb +4 -0
  114. data/app/mailers/boxroom/application_mailer.rb +6 -0
  115. data/app/mailers/boxroom/user_mailer.rb +18 -0
  116. data/app/models/boxroom/application_record.rb +5 -0
  117. data/app/models/boxroom/clipboard.rb +45 -0
  118. data/app/models/boxroom/folder.rb +113 -0
  119. data/app/models/boxroom/group.rb +57 -0
  120. data/app/models/boxroom/permission.rb +6 -0
  121. data/app/models/boxroom/permitted_params.rb +33 -0
  122. data/app/models/boxroom/share_link.rb +40 -0
  123. data/app/models/boxroom/user.rb +113 -0
  124. data/app/models/boxroom/user_file.rb +35 -0
  125. data/app/views/boxroom/admins/new.html.erb +42 -0
  126. data/app/views/boxroom/clipboard/_clipboard_empty.de.html.erb +2 -0
  127. data/app/views/boxroom/clipboard/_clipboard_empty.en.html.erb +2 -0
  128. data/app/views/boxroom/clipboard/_clipboard_empty.es.html.erb +2 -0
  129. data/app/views/boxroom/clipboard/_clipboard_empty.fr.html.erb +2 -0
  130. data/app/views/boxroom/clipboard/_clipboard_empty.it.html.erb +2 -0
  131. data/app/views/boxroom/clipboard/_clipboard_empty.nl.html.erb +2 -0
  132. data/app/views/boxroom/clipboard/_clipboard_empty.zh-CN.html.erb +2 -0
  133. data/app/views/boxroom/clipboard/_show.html.erb +72 -0
  134. data/app/views/boxroom/files/edit.html.erb +24 -0
  135. data/app/views/boxroom/files/new.html.erb +45 -0
  136. data/app/views/boxroom/folders/_form.html.erb +19 -0
  137. data/app/views/boxroom/folders/edit.html.erb +6 -0
  138. data/app/views/boxroom/folders/new.html.erb +6 -0
  139. data/app/views/boxroom/folders/show.html.erb +69 -0
  140. data/app/views/boxroom/groups/_form.html.erb +21 -0
  141. data/app/views/boxroom/groups/edit.html.erb +4 -0
  142. data/app/views/boxroom/groups/index.html.erb +42 -0
  143. data/app/views/boxroom/groups/new.html.erb +4 -0
  144. data/app/views/boxroom/permissions/_form.html.erb +46 -0
  145. data/app/views/boxroom/reset_password/_message.de.html.erb +2 -0
  146. data/app/views/boxroom/reset_password/_message.en.html.erb +2 -0
  147. data/app/views/boxroom/reset_password/_message.es.html.erb +2 -0
  148. data/app/views/boxroom/reset_password/_message.fr.html.erb +2 -0
  149. data/app/views/boxroom/reset_password/_message.it.html.erb +2 -0
  150. data/app/views/boxroom/reset_password/_message.nl.html.erb +2 -0
  151. data/app/views/boxroom/reset_password/_message.zh-CN.html.erb +2 -0
  152. data/app/views/boxroom/reset_password/edit.html.erb +30 -0
  153. data/app/views/boxroom/reset_password/new.html.erb +22 -0
  154. data/app/views/boxroom/search/show.html.erb +15 -0
  155. data/app/views/boxroom/sessions/new.html.erb +31 -0
  156. data/app/views/boxroom/share_links/index.html.erb +24 -0
  157. data/app/views/boxroom/share_links/new.html.erb +49 -0
  158. data/app/views/boxroom/shared/_footer.html.erb +9 -0
  159. data/app/views/boxroom/shared/_header.html.erb +45 -0
  160. data/app/views/boxroom/signup/edit.html.erb +42 -0
  161. data/app/views/boxroom/user_mailer/reset_password_email.de.text.erb +18 -0
  162. data/app/views/boxroom/user_mailer/reset_password_email.en.text.erb +17 -0
  163. data/app/views/boxroom/user_mailer/reset_password_email.es.text.erb +17 -0
  164. data/app/views/boxroom/user_mailer/reset_password_email.fr.text.erb +17 -0
  165. data/app/views/boxroom/user_mailer/reset_password_email.it.text.erb +17 -0
  166. data/app/views/boxroom/user_mailer/reset_password_email.nl.text.erb +17 -0
  167. data/app/views/boxroom/user_mailer/reset_password_email.zh-CN.text.erb +16 -0
  168. data/app/views/boxroom/user_mailer/share_link_email.de.text.erb +20 -0
  169. data/app/views/boxroom/user_mailer/share_link_email.en.text.erb +20 -0
  170. data/app/views/boxroom/user_mailer/share_link_email.es.text.erb +20 -0
  171. data/app/views/boxroom/user_mailer/share_link_email.fr.text.erb +20 -0
  172. data/app/views/boxroom/user_mailer/share_link_email.it.text.erb +20 -0
  173. data/app/views/boxroom/user_mailer/share_link_email.nl.text.erb +20 -0
  174. data/app/views/boxroom/user_mailer/share_link_email.zh-CN.text.erb +20 -0
  175. data/app/views/boxroom/user_mailer/signup_email.de.text.erb +9 -0
  176. data/app/views/boxroom/user_mailer/signup_email.en.text.erb +9 -0
  177. data/app/views/boxroom/user_mailer/signup_email.es.text.erb +9 -0
  178. data/app/views/boxroom/user_mailer/signup_email.fr.text.erb +9 -0
  179. data/app/views/boxroom/user_mailer/signup_email.it.text.erb +9 -0
  180. data/app/views/boxroom/user_mailer/signup_email.nl.text.erb +10 -0
  181. data/app/views/boxroom/user_mailer/signup_email.zh-CN.text.erb +8 -0
  182. data/app/views/boxroom/users/_form.html.erb +63 -0
  183. data/app/views/boxroom/users/edit.html.erb +4 -0
  184. data/app/views/boxroom/users/index.html.erb +68 -0
  185. data/app/views/boxroom/users/new.html.erb +4 -0
  186. data/app/views/layouts/boxroom/application.html.erb +37 -0
  187. data/config/locales/de.yml +414 -0
  188. data/config/locales/en.yml +407 -0
  189. data/config/locales/es.yml +403 -0
  190. data/config/locales/fr.yml +403 -0
  191. data/config/locales/it.yml +414 -0
  192. data/config/locales/nl.yml +408 -0
  193. data/config/locales/zh-CN.yml +406 -0
  194. data/config/routes.rb +44 -0
  195. data/db/migrate/20100930062939_boxroom_create_users.rb +20 -0
  196. data/db/migrate/20100930091426_boxroom_create_folders.rb +14 -0
  197. data/db/migrate/20100930091451_boxroom_create_groups.rb +12 -0
  198. data/db/migrate/20101002122244_boxroom_create_user_files.rb +17 -0
  199. data/db/migrate/20101005071402_boxroom_create_permissions.rb +16 -0
  200. data/db/migrate/20101005071508_boxroom_create_groups_users.rb +12 -0
  201. data/db/migrate/20110106045148_boxroom_drop_column_user_id_from_folders.rb +9 -0
  202. data/db/migrate/20110106045414_boxroom_drop_column_user_id_from_user_files.rb +9 -0
  203. data/db/migrate/20110529123402_boxroom_drop_column_access_key_from_users.rb +9 -0
  204. data/db/migrate/20110616215033_boxroom_create_share_links.rb +15 -0
  205. data/db/migrate/20120411075110_boxroom_add_column_signup_token_to_users.rb +8 -0
  206. data/db/migrate/20120411081345_boxroom_add_column_signup_token_expires_at_to_users.rb +7 -0
  207. data/db/migrate/20130626210927_boxroom_add_columns_message_user_id_to_share_links.rb +6 -0
  208. data/db/migrate/20130628082245_boxroom_populate_user_id_in_share_links.rb +9 -0
  209. data/lib/boxroom.rb +35 -0
  210. data/lib/boxroom/configuration.rb +18 -0
  211. data/lib/boxroom/engine.rb +9 -0
  212. data/lib/boxroom/version.rb +3 -0
  213. data/lib/paperclip/spoof_detector.rb +7 -0
  214. data/lib/tasks/boxroom_tasks.rake +4 -0
  215. metadata +481 -0
@@ -0,0 +1,22 @@
1
+ <% content_for :title, t(:reset_password) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+ <h2 class="subtitle">
5
+ <%= render 'message' %>
6
+ </h2>
7
+ <%= form_tag(reset_password_index_path) do %>
8
+ <div class="field">
9
+ <%= label_tag :email, t(:email), class: 'label' %>
10
+ <div class="control">
11
+ <%= text_field_tag :email, nil, class: 'input' %>
12
+ </div>
13
+ </div>
14
+ <div class="field is-grouped">
15
+ <div class="control">
16
+ <%= submit_tag t(:send_email), class: 'button is-link' %>
17
+ </div>
18
+ <div class="control">
19
+ <%= link_to t(:back), new_session_path, class: 'button is-text' %>
20
+ </div>
21
+ </div>
22
+ <% end %>
@@ -0,0 +1,15 @@
1
+ <% content_for :title, 'Search' -%>
2
+
3
+ <h1 class="title"><%= "Search `#{@term}` in #{@folder.name}" %></h1>
4
+
5
+ <%= concept(Boxroom::Folder::Cell::Show, nil,
6
+ folders: @folders,
7
+ files: @files,
8
+ current_user: current_user
9
+ ) %>
10
+
11
+ <div class="field">
12
+ <div class="control">
13
+ <%= link_to t(:back), @folder, class: 'button is-text' %>
14
+ </div>
15
+ </div>
@@ -0,0 +1,31 @@
1
+ <% content_for :title, t(:sign_in) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+ <%= form_tag(sessions_path) do %>
5
+ <div class="field">
6
+ <%= label_tag :username, t(:username), class: 'label' %>
7
+ <div class="control">
8
+ <%= text_field_tag :username, nil, class: 'input' %>
9
+ </div>
10
+ </div>
11
+ <div class="field">
12
+ <%= label_tag :password, t(:password), class: 'label' %>
13
+ <div class="control">
14
+ <%= password_field_tag :password, nil, class: 'input' %>
15
+ </div>
16
+ </div>
17
+ <div class="field">
18
+ <label class="checkbox">
19
+ <%= check_box_tag :remember_me, 'true' %>
20
+ <%= t(:remember_me) %>
21
+ </label>
22
+ </div>
23
+ <div class="field is-grouped">
24
+ <div class="control">
25
+ <%= submit_tag t(:sign_in), class: 'button is-link' %>
26
+ </div>
27
+ <div class="control">
28
+ <%= link_to t(:reset_password), new_reset_password_path, class: 'button is-text' %>
29
+ </div>
30
+ </div>
31
+ <% end %>
@@ -0,0 +1,24 @@
1
+ <% content_for :title, t(:shared_files) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+
5
+ <table class="table">
6
+ <tr>
7
+ <th></th>
8
+ <th><%= t('activerecord.models.user_file') %></th>
9
+ <th><%= t(:shared_by) %></th>
10
+ <th><%= t('activerecord.attributes.share_link.emails') %></th>
11
+ <th><%= t('activerecord.attributes.share_link.expires_at') %></th>
12
+ <th></th>
13
+ </tr>
14
+ <% @share_links.each do |share_link| -%>
15
+ <tr class="<%= cycle('even','odd') %>">
16
+ <td><%= image_tag file_icon(share_link.user_file.extension) %></td>
17
+ <td class="file_name"><%= link_to truncate(share_link.user_file.attachment_file_name, :length => 24), share_link.user_file.folder, :title => "#{share_link.user_file.attachment_file_name} (#{share_link.user_file.folder.name})" %></td>
18
+ <td><%= share_link.user.name %></td>
19
+ <td><span class="share_link_emails" title="<%= share_link.emails %>"><%= truncate(share_link.emails, :length => 36) %></td>
20
+ <td><%= l share_link.link_expires_at, :format => :very_short %></td>
21
+ <td><%= link_to image_tag('boxroom/delete.png', :alt => t(:delete_item)), share_link_path(share_link), :method => :delete, :data => { :confirm => t(:are_you_sure) }, :title => t(:unshare) %></td>
22
+ </tr>
23
+ <% end -%>
24
+ </table>
@@ -0,0 +1,49 @@
1
+ <% content_for :title, t(:share_file) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+
5
+ <%= form_for [@file, @share_link], :url => { :action => 'create' } do |f| %>
6
+ <%= f.error_messages :header_message => t(:share_link_could_not_be_sent) %>
7
+ <p>
8
+ <%= t :you_are_about_to_share_the_following_file %>:<br>
9
+ <span class="shared_file">
10
+ <%= image_tag(file_icon(@file.extension)) %>
11
+ <%= link_to @file.attachment_file_name, @folder %>
12
+ </span>
13
+ </p>
14
+ <p>
15
+ <%= f.label :emails, t(:emails_to_share_with) %>:
16
+ <span class="comma_seperated">(<%= t :comma_seperated %>)</span><br>
17
+ <%= f.text_area :emails, :class => 'emails_to_share_with' %><br>
18
+ <span class="char_counter">
19
+ <%= t :number_of_charachters %>:
20
+ <span id="counter">
21
+ <%= @share_link.emails.nil? ? 0 : @share_link.emails.length %>
22
+ </span>
23
+ / 255
24
+ </span>
25
+ </p>
26
+ <p>
27
+ <%= f.label :message, t(:shared_message) %>: <span class="optional">(<%= t :optional %>)</span><br>
28
+ <%= f.text_area :message, :class => 'share_message' %>
29
+ </p>
30
+ <p>
31
+ <%= f.label t(:link_expires) %>:<br>
32
+ <%= f.select :link_expires_at, options_for_select([
33
+ [t(:tomorrow), 1.day.from_now.end_of_day],
34
+ [t(:three_days_from_now), 3.day.from_now.end_of_day],
35
+ [t(:one_week_from_now), 1.week.from_now.end_of_day],
36
+ [t(:ten_days_from_now), 10.days.from_now.end_of_day],
37
+ [t(:two_weeks_from_now), 2.weeks.from_now.end_of_day],
38
+ [t(:three_weeks_from_now), 3.weeks.from_now.end_of_day],
39
+ [t(:one_month_from_now), 1.month.from_now.end_of_day],
40
+ [t(:two_months_from_now), 2.months.from_now.end_of_day],
41
+ [t(:three_months_from_now), 3.months.from_now.end_of_day],
42
+ [t(:half_year_from_now), 6.months.from_now.end_of_day]
43
+ ], 2.weeks.from_now.end_of_day) %>
44
+ </p>
45
+ <p>
46
+ <%= f.submit t(:share) %> &nbsp; &mdash; &nbsp;
47
+ <%= link_to t(:back), @folder %>
48
+ </p>
49
+ <% end %>
@@ -0,0 +1,9 @@
1
+ <footer class="footer">
2
+ <div class="container">
3
+ <div class="content has-text-centered">
4
+ <p>
5
+ <a href="https://github.com/sergey-koba-mobidev/boxroom-engine" target="_blank">Boxroom</a> is released under the <a href="https://github.com/sergey-koba-mobidev/boxroom-engine/blob/master/MIT-LICENSE" target="_blank">MIT license</a>
6
+ </p>
7
+ </div>
8
+ </div>
9
+ </footer>
@@ -0,0 +1,45 @@
1
+ <nav class="navbar is-light" role="navigation" aria-label="main navigation">
2
+ <div class="navbar-brand">
3
+ <%= link_to image_tag(Boxroom.configuration.logo, alt: 'Boxroom'), root_path, {class: 'navbar-item'} %>
4
+
5
+ <button class="button navbar-burger">
6
+ <span></span>
7
+ <span></span>
8
+ <span></span>
9
+ </button>
10
+ </div>
11
+
12
+ <div class="navbar-menu">
13
+ <div class="navbar-start">
14
+ <% if signed_in? -%>
15
+ <%= link_to t(:folders), folders_path, class: 'navbar-item' %>
16
+ <% if current_user.member_of_admins? -%>
17
+ <% if Boxroom.configuration.show_users %>
18
+ <%= link_to t(:users), users_path, class: 'navbar-item' %>
19
+ <% end %>
20
+ <% if Boxroom.configuration.show_groups %>
21
+ <%= link_to t(:groups), groups_path, class: 'navbar-item' %>
22
+ <% end %>
23
+ <% if Boxroom.configuration.show_shared_files %>
24
+ <%= link_to t(:shared_files), share_links_path, class: 'navbar-item' %>
25
+ <% end %>
26
+ <% end -%>
27
+ <% end -%>
28
+ </div>
29
+
30
+ <div class="navbar-end">
31
+ <% if signed_in? -%>
32
+ <div class="navbar-item">
33
+ <%= t :hello %>, <b><%= current_user.name %></b>
34
+ </div>
35
+ <% if Boxroom.configuration.show_settings %>
36
+ <%= link_to t(:settings), edit_user_path(current_user), class: 'navbar-item' %>
37
+ <% end %>
38
+ <div class="navbar-item">
39
+ <%= link_to t(:sign_out), signout_path, method: :delete, class: 'button is-danger' %>
40
+ </div>
41
+ <% end %>
42
+ </div>
43
+ </div>
44
+ </nav>
45
+
@@ -0,0 +1,42 @@
1
+ <% content_for :title, t(:sign_up) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+ <%= form_for @user, :url => {:action => 'update'} do |f| %>
5
+ <% if f.error_messages.size > 0 %>
6
+ <div class="notification is-danger">
7
+ <%= f.error_messages %>
8
+ </div>
9
+ <% end %>
10
+ <div class="field">
11
+ <%= f.label :name, class: 'label' %>
12
+ <div class="control">
13
+ <%= f.text_field :name, class: 'input' %>
14
+ </div>
15
+ </div>
16
+ <div class="field">
17
+ <%= f.label :email, class: 'label' %>
18
+ <div class="control">
19
+ <%= f.text_field :email, class: 'input' %>
20
+ </div>
21
+ </div>
22
+ <div class="field">
23
+ <%= f.label :password, class: 'label' %>
24
+ <div class="control">
25
+ <%= f.password_field :password, class: 'input' %>
26
+ </div>
27
+ </div>
28
+ <div class="field">
29
+ <%= label_tag t(:confirm_password), nil, class: 'label' %>
30
+ <div class="control">
31
+ <%= f.password_field :password_confirmation, class: 'input' %>
32
+ </div>
33
+ </div>
34
+ <div class="field is-grouped">
35
+ <div class="control">
36
+ <%= f.submit t(:sign_up), class: 'button is-link' %>
37
+ </div>
38
+ <div class="control">
39
+ <%= link_to t(:back), new_session_path, class: 'button is-text back_link' %>
40
+ </div>
41
+ </div>
42
+ <% end %>
@@ -0,0 +1,18 @@
1
+ Sehr geehrter Nutzer,
2
+
3
+ Über die folgende URL können Sie ein neues Kennwort für Ihr Konto erstellen:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ Zur Erinnerung hier nochmals Ihre Anmeldedaten:
8
+
9
+ Benutzername: <%= @user.name %>
10
+ E-Mail: <%= @user.email %>
11
+
12
+ Sollten Sie keine Anfrage zum Zurücksetzen Ihres Kennworts geschickt haben,
13
+ ignorieren Sie diese Nachricht.
14
+ Ihr altes Kennwort ist weiterhin gültig.
15
+
16
+ --
17
+ Boxroom
18
+ http://boxroomapp.com/
@@ -0,0 +1,17 @@
1
+ Dear user,
2
+
3
+ Please use the following URL to reset your Boxroom password:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ Just as a reminder, your account info:
8
+
9
+ Username: <%= @user.name %>
10
+ Email: <%= @user.email %>
11
+
12
+ If you did not submit a request to reset your password, please ignore this email.
13
+ Your current password is still valid.
14
+
15
+ --
16
+ Boxroom
17
+ http://boxroomapp.com/
@@ -0,0 +1,17 @@
1
+ Estiamdo usuario,
2
+
3
+ Use la siguiente URL para reiniciar sus credenciales de Boxroom:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ Información de su cuenta:
8
+
9
+ Usuario: <%= @user.name %>
10
+ Correo: <%= @user.email %>
11
+
12
+ Si usted no solicitó reiniciar sus credenciales, por favor ignore este correo.
13
+ Sus credenciales seguirán siendo validas.
14
+
15
+ --
16
+ Boxroom
17
+ http://boxroomapp.com/
@@ -0,0 +1,17 @@
1
+ Cher utilisateur,
2
+
3
+ Veuillez cliquer le lien ci-dessous pour réinitialiser votre mot de passe Boxroom:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ A titre d'information, vos informations utilisateur:
8
+
9
+ Nom d'utilisateur: <%= @user.name %>
10
+ Email: <%= @user.email %>
11
+
12
+ Si vous n'avez pas demandé à réinitialiser votre mot de passe, ignorez simplement ce message.
13
+ Votre mot de passe actuel reste inchangé.
14
+
15
+ --
16
+ Boxroom
17
+ http://boxroomapp.com/
@@ -0,0 +1,17 @@
1
+ Gentile utente,
2
+
3
+ La preghiamo di utilizzare il seguente URL per reimpostare la sua password su BoxRoom:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ Le ricordiamo i dettagli dell'account:
8
+
9
+ Username: <%= @user.name %>
10
+ Email: <%= @user.email %>
11
+
12
+ Se non ha inoltrato la richiesta per reimpostare la password, può ignorare questa email.
13
+ La password corrente continuerà ad essere valida.
14
+
15
+ --
16
+ Boxroom
17
+ http://boxroomapp.com/
@@ -0,0 +1,17 @@
1
+ Geachte gebruiker,
2
+
3
+ Gebruik onderstaande URL om uw wachtwoord te resetten:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ Ter herinnering, uw account informatie is:
8
+
9
+ Gebruikersnaam: <%= @user.name %>
10
+ E-mail: <%= @user.email %>
11
+
12
+ Als u geen aanvraag heeft gedaan voor het resetten van uw wachtwoord kunt u deze e-mail negeren.
13
+ Uw huidige wachtwoord is nog steeds geldig.
14
+
15
+ --
16
+ Boxroom
17
+ http://boxroomapp.com/
@@ -0,0 +1,16 @@
1
+ 亲爱的用户:
2
+
3
+ 请用下面的网址重设您的Boxroom密码:
4
+
5
+ <%= edit_reset_password_url(@user.reset_password_token) %>
6
+
7
+ 提醒一下,您的户头情况:
8
+
9
+ 用户名: <%= @user.name %>
10
+ 邮箱: <%= @user.email %>
11
+
12
+ 如果您不曾提交要求重设密码,请忽略这封信。您当前的密码仍然有效。
13
+
14
+ --
15
+ Boxroom
16
+ http://boxroomapp.com/
@@ -0,0 +1,20 @@
1
+ Sehr geehrter Empfänger,
2
+
3
+ <%= @share_link.user.email %> hat Ihnen eine Datei freigegeben:
4
+
5
+ <%= @share_link.user_file.attachment_file_name %> (<%= number_to_human_size(@share_link.user_file.attachment_file_size, :locale => I18n.locale) %>)
6
+
7
+ Benutzen Sie die folgende Adresse, um die Datei herunterzuladen:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ Diese URL wird am <%= l @share_link.link_expires_at, :format => :long %> ablaufen.
12
+
13
+ <% unless @share_link.message.blank? -%>
14
+ === <%= t(:shared_message) %>: ===
15
+ <%= strip_tags(@share_link.message) %>
16
+ <% end -%>
17
+
18
+ --
19
+ Boxroom
20
+ http://boxroomapp.com/
@@ -0,0 +1,20 @@
1
+ Dear recipient,
2
+
3
+ <%= @share_link.user.email %> has shared a file with you:
4
+
5
+ <%= @share_link.user_file.attachment_file_name %> (<%= number_to_human_size(@share_link.user_file.attachment_file_size, :locale => I18n.locale) %>)
6
+
7
+ Use the following URL to download your file:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ The URL above will expire at <%= l @share_link.link_expires_at, :format => :time_only %> on <%= l @share_link.link_expires_at, :format => :date_only %>.
12
+
13
+ <% unless @share_link.message.blank? -%>
14
+ === <%= t(:shared_message) %>: ===
15
+ <%= strip_tags(@share_link.message) %>
16
+ <% end -%>
17
+
18
+ --
19
+ Boxroom
20
+ http://boxroomapp.com/
@@ -0,0 +1,20 @@
1
+ Estimado,
2
+
3
+ <%= @share_link.user.email %> ha compartido un archivo con usted:
4
+
5
+ <%= @share_link.user_file.attachment_file_name %> (<%= number_to_human_size(@share_link.user_file.attachment_file_size, :locale => I18n.locale) %>)
6
+
7
+ Use la siguiente URL para descargar su archivo:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ La URL expirará a las <%= l @share_link.link_expires_at, :format => :time_only %> del <%= l @share_link.link_expires_at, :format => :date_only %>.
12
+
13
+ <% unless @share_link.message.blank? -%>
14
+ === <%= t(:shared_message) %>: ===
15
+ <%= strip_tags(@share_link.message) %>
16
+ <% end -%>
17
+
18
+ --
19
+ Boxroom
20
+ http://boxroomapp.com/
@@ -0,0 +1,20 @@
1
+ Cher destinataire,
2
+
3
+ <%= @share_link.user.email %> a partagé un fichier avec vous:
4
+
5
+ <%= @share_link.user_file.attachment_file_name %> (<%= number_to_human_size(@share_link.user_file.attachment_file_size, :locale => I18n.locale) %>)
6
+
7
+ Utilisez le lien suivant pour télécharger le fichier:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ Le lien ci-dessus expirera à <%= l @share_link.link_expires_at, :format => :time_only %> le <%= l @share_link.link_expires_at, :format => :date_only %>.
12
+
13
+ <% unless @share_link.message.blank? -%>
14
+ === <%= t(:shared_message) %>: ===
15
+ <%= strip_tags(@share_link.message) %>
16
+ <% end -%>
17
+
18
+ --
19
+ Boxroom
20
+ http://boxroomapp.com/