boxroom 0.0.1

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.
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,20 @@
1
+ Gentile utente,
2
+
3
+ <%= @share_link.user.email %> ha condiviso un file con te:
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
+ Clicca sul seguente URL per scaricare il file:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ L'URL indicato sopra scadrà <%= l @share_link.link_expires_at, :format => :long %>.
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
+ Geachte ontvanger,
2
+
3
+ <%= @share_link.user.email %> heeft een bestand met u gedeeld:
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
+ Gebruik onderstaande URL om het bestand te downloaden:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ De vervaldatum van bovenstaande URL is <%= l @share_link.link_expires_at, :format => :long %>.
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
+ 亲爱的收件人:
2
+
3
+ <%= @share_link.user.email %> 与您共享了一个文件:
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
+ 请用下面的链接下载文件:
8
+
9
+ <%= share_link_url(:id => @share_link.link_token) %>
10
+
11
+ 此链接会在<%= l @share_link.link_expires_at, :format => :time_only %>,<%= 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,9 @@
1
+ Dear recipient,
2
+
3
+ This is an invitation to sign up for Boxroom. Please use the following URL to sign up:
4
+
5
+ <%= edit_signup_url(@user.signup_token) %>
6
+
7
+ --
8
+ Boxroom
9
+ http://boxroomapp.com/
@@ -0,0 +1,9 @@
1
+ Dear recipient,
2
+
3
+ This is an invitation to sign up for Boxroom. Please use the following URL to sign up:
4
+
5
+ <%= edit_signup_url(@user.signup_token) %>
6
+
7
+ --
8
+ Boxroom
9
+ http://boxroomapp.com/
@@ -0,0 +1,9 @@
1
+ Estimado,
2
+
3
+ Esta es una invitacion para activar su cuenta Boxroom. Por favor use la siguiente URL:
4
+
5
+ <%= edit_signup_url(@user.signup_token) %>
6
+
7
+ --
8
+ Boxroom
9
+ http://boxroomapp.com/
@@ -0,0 +1,9 @@
1
+ Cher destinataire,
2
+
3
+ Ceci est un mail d'invitation à Boxroom. Pour vous inscrire, veuillez utiliser le lien ci-dessous:
4
+
5
+ <%= edit_signup_url(@user.signup_token) %>
6
+
7
+ --
8
+ Boxroom
9
+ http://boxroomapp.com/
@@ -0,0 +1,9 @@
1
+ Dear recipient,
2
+
3
+ This is an invitation to sign up for Boxroom. Please use the following URL to sign up:
4
+
5
+ <%= edit_signup_url(@user.signup_token) %>
6
+
7
+ --
8
+ Boxroom
9
+ http://boxroomapp.com/
@@ -0,0 +1,10 @@
1
+ Geachte ontvanger,
2
+
3
+ Dit is een uitnodiging om u aan te melden voor Boxroom.
4
+ Gebruik onderstaande URL om uw account aan te maken:
5
+
6
+ <%= edit_signup_url(@user.signup_token) %>
7
+
8
+ --
9
+ Boxroom
10
+ http://boxroomapp.com/
@@ -0,0 +1,8 @@
1
+ 亲爱的收件人,
2
+
3
+ 此信邀请你注册Boxroom。请用下面的网址注册:
4
+
5
+ <%= edit_signup_url(@user.signup_token) %>
6
+ --
7
+ Boxroom
8
+ http://boxroomapp.com/
@@ -0,0 +1,63 @@
1
+ <%= form_for @user do |f| %>
2
+ <% if f.error_messages.size > 0 %>
3
+ <div class="notification is-danger">
4
+ <%= f.error_messages %>
5
+ </div>
6
+ <% end %>
7
+ <% unless @user.new_record? -%>
8
+ <div class="field">
9
+ <%= f.label :name, class: 'label' %>
10
+ <div class="control">
11
+ <%= f.text_field :name, class: 'input' %>
12
+ </div>
13
+ </div>
14
+ <% end -%>
15
+ <div class="field">
16
+ <%= f.label :email, class: 'label' %>
17
+ <div class="control">
18
+ <%= f.text_field :email, class: 'input' %>
19
+ </div>
20
+ </div>
21
+ <% unless @user.new_record? -%>
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
+ <% end -%>
35
+ <% if signed_in? && current_user.member_of_admins? -%>
36
+ <div class="field">
37
+ <%= label_tag t(:member_of_these_groups), nil, class: 'label' %>
38
+ <div class="control">
39
+ <span class="user_groups">
40
+ <% if @user.is_admin -%>
41
+ <span class="disabled">
42
+ <%= hidden_field_tag 'user[group_ids][]', Boxroom::Group.admins_group.id %>
43
+ <input type="checkbox" checked="checked" disabled="disabled"/><label>Admins</label>
44
+ </span>
45
+ <%= f.collection_check_boxes :group_ids, Boxroom::Group.all_except_admins, :id, :name %>
46
+ <% else -%>
47
+ <%= f.collection_check_boxes :group_ids, Boxroom::Group.all, :id, :name %>
48
+ <% end -%>
49
+ </span>
50
+ </div>
51
+ </div>
52
+ <% end -%>
53
+ <div class="field is-grouped">
54
+ <div class="control">
55
+ <%= f.submit t(:save), class: 'button is-link' %>
56
+ </div>
57
+ <% if @user != current_user -%>
58
+ <div class="control">
59
+ <%= link_to t(:back), users_url, class: 'button is-text' %>
60
+ </div>
61
+ <% end -%>
62
+ </div>
63
+ <% end %>
@@ -0,0 +1,4 @@
1
+ <% content_for :title, @title -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+ <%= render 'form' %>
@@ -0,0 +1,68 @@
1
+ <% content_for :title, t(:users) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+
5
+ <a class="button is-primary" href="<%= new_user_path %>">
6
+ <span class="icon">
7
+ <i class="fa fa-user-plus"></i>
8
+ </span>
9
+ <span><%= t(:create_a_new_user) %></span>
10
+ </a>
11
+
12
+ <h2 class="subtitle"><%= t :active_users %></h2>
13
+ <table class="table">
14
+ <tr>
15
+ <th></th>
16
+ <th><%= t :name %></th>
17
+ <th><%= t :email %></th>
18
+ <th></th>
19
+ </tr>
20
+ <% @users.each do |user| -%>
21
+ <tr class="<%= cycle('even','odd') %>">
22
+ <td>
23
+ <span class="icon">
24
+ <i class="fa fa-user-o"></i>
25
+ </span>
26
+ </td>
27
+ <td class="user_name"><%= user.name %></td>
28
+ <td class="user_email"><%= user.email %></td>
29
+ <td>
30
+ <%= link_to '<span class="icon is-small"><i class="fa fa-edit"></i></span>'.html_safe, edit_user_path(user), :title => t(:edit) %>&nbsp;
31
+ <% unless user.is_admin -%>
32
+ <%= link_to '<span class="icon is-small"><i class="fa fa-remove"></i></span>'.html_safe, user_path(user), :method => :delete, :data => { :confirm => t(:are_you_sure) }, :title => t(:delete_item) %>
33
+ <% end -%>
34
+ </td>
35
+ </tr>
36
+ <% end -%>
37
+ </table>
38
+
39
+ <% unless @new_users.blank? -%>
40
+ <h2 class="subtitle"><%= t :invited_users %></h2>
41
+ <table class="table">
42
+ <tr>
43
+ <th></th>
44
+ <th><%= t :email %></th>
45
+ <th><%= t :expiration_date %></th>
46
+ <th></th>
47
+ </tr>
48
+ <% @new_users.each do |user| -%>
49
+ <tr class="<%= cycle('even','odd') %>">
50
+ <td><%= image_tag('boxroom/user.png') %></td>
51
+ <td class="user_email"><%= user.email %></td>
52
+ <td class="user_expiration">
53
+ <% if user.signup_token_expires_at > Time.now -%>
54
+ <%= l user.signup_token_expires_at, :format => :very_short %>
55
+ <% else -%>
56
+ <span class="red"><%= l user.signup_token_expires_at, :format => :very_short %></span>
57
+ <% end -%>
58
+ </td>
59
+ <td>
60
+ <%= link_to '<span class="icon is-small"><i class="fa fa-clock-o"></i></span>'.html_safe, extend_user_path(user), :method => :put, :title => t(:extend_expiration_date) %>&nbsp;
61
+ <% unless user.is_admin -%>
62
+ <%= link_to '<span class="icon is-small"><i class="fa fa-remove"></i></span>'.html_safe, user_path(user), :method => :delete, :data => { :confirm => t(:are_you_sure) }, :title => t(:delete_item) %>
63
+ <% end -%>
64
+ </td>
65
+ </tr>
66
+ <% end -%>
67
+ </table>
68
+ <% end -%>
@@ -0,0 +1,4 @@
1
+ <% content_for :title, t(:new_user) -%>
2
+
3
+ <h1 class="title"><%= content_for :title %></h1>
4
+ <%= render 'form' %>
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <% if content_for? :title -%>
5
+ <title><%= Boxroom.configuration.site_name %> | <%= content_for :title %></title>
6
+ <% else -%>
7
+ <title><%= Boxroom.configuration.site_name %></title>
8
+ <% end -%>
9
+ <%= stylesheet_link_tag 'boxroom/application' %>
10
+ <%= javascript_include_tag 'boxroom/application' %>
11
+ <%= csrf_meta_tag %>
12
+ <meta charset="utf-8">
13
+ <meta name="viewport" content="width=device-width, initial-scale=1">
14
+ </head>
15
+ <body>
16
+ <%= render 'boxroom/shared/header' %>
17
+
18
+ <% if flash[:notice] -%>
19
+ <div class="notification is-success" id="notice">
20
+ <%= flash[:notice] %>
21
+ </div>
22
+ <% end -%>
23
+ <% if flash[:alert] -%>
24
+ <div class="notification is-danger" id="notice">
25
+ <%= flash[:alert] %>
26
+ </div>
27
+ <% end -%>
28
+
29
+ <section class="section">
30
+ <div class="container">
31
+ <%= yield %>
32
+ </div>
33
+ </section>
34
+
35
+ <%= render 'boxroom/shared/footer' if Boxroom.configuration.show_footer %>
36
+ </body>
37
+ </html>
@@ -0,0 +1,414 @@
1
+ # German translations for Boxroom
2
+ # Original Rails translation by Clemens Kofler (clemens@railway.at)
3
+ # and Alexander Dreher - http://github.com/alexdreher - Rails 3 update
4
+ #
5
+ # see: https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/de.yml
6
+
7
+ de:
8
+ date:
9
+ formats:
10
+ default: "%d.%m.%Y"
11
+ short: "%e. %b"
12
+ long: "%e. %B %Y"
13
+ only_day: "%e"
14
+
15
+ day_names: [Sonntag, Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag]
16
+ abbr_day_names: [So, Mo, Di, Mi, Do, Fr, Sa]
17
+ month_names: [~, Januar, Februar, März, April, Mai, Juni, Juli, August, September, Oktober, November, Dezember]
18
+ abbr_month_names: [~, Jan, Feb, Mär, Apr, Mai, Jun, Jul, Aug, Sep, Okt, Nov, Dez]
19
+ order:
20
+ - :day
21
+ - :month
22
+ - :year
23
+
24
+ time:
25
+ formats:
26
+ default: "%A, %d. %B %Y, %H:%M Uhr"
27
+ short: "%d. %B %Y, %H:%M Uhr"
28
+ very_short: "%d. %B %Y"
29
+ long: "%A, %d. %B %Y, %H:%M Uhr"
30
+ time: "%H:%M"
31
+
32
+ am: "vormittags"
33
+ pm: "nachmittags"
34
+
35
+ datetime:
36
+ distance_in_words:
37
+ half_a_minute: 'eine halbe Minute'
38
+ less_than_x_seconds:
39
+ one: 'weniger als eine Sekunde'
40
+ other: 'weniger als %{count} Sekunden'
41
+ x_seconds:
42
+ one: 'eine Sekunde'
43
+ other: '%{count} Sekunden'
44
+ less_than_x_minutes:
45
+ one: 'weniger als eine Minute'
46
+ other: 'weniger als %{count} Minuten'
47
+ x_minutes:
48
+ one: 'eine Minute'
49
+ other: '%{count} Minuten'
50
+ about_x_hours:
51
+ one: 'etwa eine Stunde'
52
+ other: 'etwa %{count} Stunden'
53
+ x_days:
54
+ one: 'ein Tag'
55
+ other: '%{count} Tage'
56
+ about_x_months:
57
+ one: 'etwa ein Monat'
58
+ other: 'etwa %{count} Monate'
59
+ x_months:
60
+ one: 'ein Monat'
61
+ other: '%{count} Monate'
62
+ almost_x_years:
63
+ one: 'fast ein Jahr'
64
+ other: 'fast %{count} Jahre'
65
+ about_x_years:
66
+ one: 'etwa ein Jahr'
67
+ other: 'etwa %{count} Jahre'
68
+ over_x_years:
69
+ one: 'mehr als ein Jahr'
70
+ other: 'mehr als %{count} Jahre'
71
+ prompts:
72
+ second: "Sekunden"
73
+ minute: "Minuten"
74
+ hour: "Stunden"
75
+ day: "Tag"
76
+ month: "Monat"
77
+ year: "Jahr"
78
+
79
+ number:
80
+ format:
81
+ precision: 2
82
+ separator: ','
83
+ delimiter: '.'
84
+ significant: false
85
+ strip_insignificant_zeros: false
86
+ currency:
87
+ format:
88
+ unit: '€'
89
+ format: '%n%u'
90
+ separator: ","
91
+ delimiter: ""
92
+ precision: 2
93
+ significant: false
94
+ strip_insignificant_zeros: false
95
+ percentage:
96
+ format:
97
+ delimiter: ""
98
+ precision:
99
+ format:
100
+ delimiter: ""
101
+ human:
102
+ format:
103
+ delimiter: ""
104
+ precision: 1
105
+ significant: true
106
+ strip_insignificant_zeros: true
107
+ storage_units:
108
+ # Storage units output formatting.
109
+ # %u is the storage unit, %n is the number (default: 2 MB)
110
+ format: "%n %u"
111
+ units:
112
+ byte:
113
+ one: "Byte"
114
+ other: "Bytes"
115
+ kb: "KB"
116
+ mb: "MB"
117
+ gb: "GB"
118
+ tb: "TB"
119
+ decimal_units:
120
+ format: "%n %u"
121
+ units:
122
+ unit: ""
123
+ thousand: Tausend
124
+ million: Millionen
125
+ billion:
126
+ one: Milliarde
127
+ others: Milliarden
128
+ trillion: Billionen
129
+ quadrillion:
130
+ one: Billiarde
131
+ others: Billiarden
132
+
133
+ support:
134
+ array:
135
+ words_connector: ", "
136
+ two_words_connector: " und "
137
+ last_word_connector: " und "
138
+ select:
139
+ prompt: "Bitte wählen:"
140
+
141
+ activemodel:
142
+ errors:
143
+ template:
144
+ header:
145
+ one: "Konnte %{model} nicht speichern: ein Fehler."
146
+ other: "Konnte %{model} nicht speichern: %{count} Fehler."
147
+ body: "Bitte überprüfen Sie die folgenden Felder:"
148
+ helpers:
149
+ select:
150
+ prompt: "Bitte wählen"
151
+
152
+ submit:
153
+ create: '%{model} erstellen'
154
+ update: '%{model} aktualisieren'
155
+ submit: '%{model} speichern'
156
+
157
+ errors:
158
+ format: "%{attribute} %{message}"
159
+
160
+ messages: &errors_messages
161
+ inclusion: "ist kein gültiger Wert"
162
+ exclusion: "ist nicht verfügbar"
163
+ invalid: "ist nicht gültig"
164
+ confirmation: "stimmt nicht"
165
+ accepted: "muss akzeptiert werden"
166
+ empty: "muss ausgefüllt werden"
167
+ blank: "muss ausgefüllt werden"
168
+ too_long: "ist zu lang (nicht mehr als %{count} Zeichen)"
169
+ too_short: "ist zu kurz (nicht weniger als %{count} Zeichen)"
170
+ wrong_length: "hat die falsche Länge (muss genau %{count} Zeichen haben)"
171
+ not_a_number: "ist keine Zahl"
172
+ greater_than: "muss größer als %{count} sein"
173
+ greater_than_or_equal_to: "muss größer oder gleich %{count} sein"
174
+ equal_to: "muss genau %{count} sein"
175
+ less_than: "muss kleiner als %{count} sein"
176
+ less_than_or_equal_to: "muss kleiner oder gleich %{count} sein"
177
+ odd: "muss ungerade sein"
178
+ even: "muss gerade sein"
179
+ not_an_integer: "muss ganzzahlig sein"
180
+
181
+ activerecord:
182
+ errors:
183
+ template:
184
+ header:
185
+ one: "Konnte %{model} nicht speichern: ein Fehler."
186
+ other: "Konnte %{model} nicht speichern: %{count} Fehler."
187
+ body: "Bitte überprüfen Sie die folgenden Felder:"
188
+
189
+ messages:
190
+ taken: "ist bereits vergeben"
191
+ record_invalid: "Gültigkeitsprüfung ist fehlgeschlagen: %{errors}"
192
+ <<: *errors_messages
193
+
194
+ full_messages:
195
+ format: "%{attribute} %{message}"
196
+
197
+ models:
198
+ clipboard: Zwischenablage
199
+ folder: Ordner
200
+ group: Gruppe
201
+ permission: Berechtigung
202
+ share_link: Share link
203
+ user: Benutzer
204
+ user_file: Datei
205
+
206
+ attributes:
207
+ folder:
208
+ name: Name
209
+ group:
210
+ name: Name
211
+ share_link:
212
+ emails: E-Mail Adressen
213
+ expires_at: Läuft ab am
214
+ user:
215
+ email: E-Mail
216
+ name: Name
217
+ password: Kennwort
218
+ user_file:
219
+ name: Name
220
+ attachment_file_name: Datei
221
+
222
+ # APPLICATION SPECIFIC
223
+
224
+ # general
225
+ back: Zurück
226
+ save: Speichern
227
+ name: Name
228
+ email: E-Mail
229
+ submit: Senden
230
+
231
+ your_changes_were_saved: Ihre Einstellungen wurden erfolgreich gespeichert.
232
+ already_deleted: "Jemand hat %{type} bereits gelöscht. Die Aktion wurde abgebrochen."
233
+
234
+ # admins/new
235
+ create_admin: Administrator-Zugang erstellen
236
+ no_administrator_yet: Es gibt noch keinen Administrator-Zugang zu Boxroom. Hier können Sie einen anlegen.
237
+ create_admin_account: Konto erstellen
238
+ admin_user_created_successfully: Das Konto wurde erfolgreich erstellt. Sie können sich nun einloggen.
239
+
240
+ # clipboard/_show
241
+ folder: Ordner
242
+ file: Datei
243
+ this_folder: dieser Ordner
244
+ this_file: diese Datei
245
+ copy: Kopieren
246
+ copy_folder: Ordner kopieren
247
+ copy_file: Datei kopieren
248
+ move: Verschieben
249
+ move_folder: Ordner verschieben
250
+ move_file: Datei verschieben
251
+ are_you_sure: Sind Sie sicher?
252
+ delete_item: Löschen
253
+ remove_from_clipboard: Aus der Zwischenablage entfernen
254
+ clear_clipboard: Zwischenablage leeren
255
+
256
+ # files/edit
257
+ rename_file: Datei umbenennen
258
+
259
+ # files/new
260
+ select_file: Datei wählen
261
+ upload_file: Dateien hochladen
262
+ upload: Hochladen
263
+ exists_already: bereits vorhanden
264
+ server_wait: 'Please wait while server is processing files. It could take several minutes for big files!'
265
+
266
+ #folders/edit
267
+ rename_folder: Ordner umbenennen
268
+
269
+ #folders/new
270
+ new_folder: Neuen Ordner anlegen
271
+
272
+ #folders/show
273
+ create_a_new_folder: Neuer Ordner
274
+ upload_a_file: Dateien hochladen
275
+ permissions: Berechtigungen
276
+ clipboard: Zwischenablage
277
+ size: Größe
278
+ date_modified: Letzte Änderung
279
+ up: nach oben
280
+ edit: Bearbeiten
281
+ add_to_clipboard: Zur Zwischenablage hinzufügen
282
+ download: Herunterladen
283
+ share: Freigeben
284
+ search: Search files and folders inside current folder... Press Enter to search
285
+
286
+ #groups/edit
287
+ rename_group: Gruppe umbenennen
288
+
289
+ #groups/index
290
+ groups: Gruppen
291
+ create_a_new_group: Neue Gruppe anlegen
292
+
293
+ #groups/new
294
+ new_group: Neue Gruppe anlegen
295
+
296
+ #permissions/form
297
+ create_permission: Erstellen
298
+ read_permission: Lesen
299
+ update_permission: Aktualisieren
300
+ delete_permission: Löschen
301
+ apply_changes_to_subfolders: Änderungen auf Unterordner anwenden
302
+
303
+ create: Erstellen
304
+ read: Lesen
305
+ update: Aktualisieren
306
+ delete: Löschen
307
+
308
+ #reset_password/edit
309
+ password: Kennwort
310
+ reset_password: Kennwort zurücksetzen
311
+ send_email: Absenden
312
+
313
+ #signup/edit
314
+ sign_up: Sign up
315
+
316
+ #sessions
317
+ username: Benutzername
318
+ remember_me: Angemeldet bleiben
319
+ sign_in: Anmelden
320
+
321
+ #share_links/index
322
+ shared_by: Freigabe von
323
+ unshare: Freigabe aufheben
324
+
325
+ #share_links/new
326
+ this_share_link: Dieser Freigabe-Link
327
+ share_file: Datei freigeben
328
+ you_are_about_to_share_the_following_file: Sie möchten die folgende Datei freigeben
329
+ emails_to_share_with: 'E-Mail Adressen, für welche die Datei freigegeben werden soll'
330
+ comma_seperated: Komma-separiert
331
+ number_of_charachters: Anzahl d. Zeichen
332
+ link_expires: Ablaufdatum
333
+ tomorrow: Morgen
334
+ three_days_from_now: In drei Tagen
335
+ one_week_from_now: In einer Woche
336
+ ten_days_from_now: In zehn Tagen
337
+ two_weeks_from_now: In zwei Wochen
338
+ three_weeks_from_now: In drei Wochen
339
+ one_month_from_now: In einem Monat
340
+ two_months_from_now: In zwei Monaten
341
+ three_months_from_now: In drei Monaten
342
+ half_year_from_now: In einem halben Jahr
343
+ download_link_could_not_be_sent: Die Download-URL konnte nicht versendet werden.
344
+ are_invalid_due_to: "Die Adresse %{email} ist ungültig."
345
+ shared_successfully: Die Datei wurde erfolgreich freigegeben.
346
+ shared_message: Nachricht
347
+ optional: Nicht erforderlich
348
+
349
+ #shared/_header
350
+ hello: Hallo
351
+ settings: Einstellungen
352
+ sign_out: Abmelden
353
+
354
+ #shared/_menu
355
+ folders: Ordner
356
+ users: Benutzer
357
+ shared_files: Freigegebene Dateien
358
+
359
+ #users/_form
360
+ member_of_these_groups: Mitglied in diesen Gruppen
361
+ confirm_password: Kennwort bestätigen
362
+
363
+ #users/index
364
+ create_a_new_user: Neuen Benutzer anlegen
365
+ active_users: Active users
366
+ invited_users: Invited users
367
+ expiration_date: Expiration date
368
+ extend_expiration_date: Extend expiration date
369
+
370
+ #users/new
371
+ new_user: Neuen Benutzer anlegen
372
+
373
+ #admins/controller
374
+ admin_user_created_sucessfully: Der Administrator-Zugang wurde erfolgreich angelegt. Sie können sich nun anmelden.
375
+
376
+ #application_controller
377
+ no_permissions_for_this_type: "Sie haben keine Berechtigung um %{type} zu %{method}."
378
+
379
+ # clipboard_controller
380
+ added_to_clipboard: Erfolgreich zur Zwischenablage hinzugefügt.
381
+ could_not_copy: "Kopieren fehlgeschlagen. Ein %{type} dieses Namens existiert bereits."
382
+ could_not_move: "Verschieben fehlgeschlagen. Ein %{type} dieses Namens existiert bereits."
383
+ cannot_move_to_own_subfolder: Sie können einen Ordner nicht in einen seiner Unterordner verschieben.
384
+
385
+ # folders_controller
386
+ cannot_delete_root_folder: Das Haupt-Verzeichnis kann nicht gelöscht oder umbenannt werden.
387
+ no_delete_permissions_for_subfolder: "Sie haben keine Berechtigung, einen der Unterordner zu löschen."
388
+
389
+ # groups_controller
390
+ group_already_deleted: Jemand hat diese Gruppe bereits gelöscht. Die Aktion wurde abgebrochen.
391
+ admins_group_cannot_be_deleted: Die Administrator-Gruppe kann nicht gelöscht werden.
392
+
393
+ # reset_password_controller
394
+ instruction_email_sent: E-Mail erfolgreich verschickt. Bitte prüfen Sie Ihren Posteingang.
395
+ password_reset_successfully: Ihr Kennwort wurde erfolgreich zurückgesetzt. Sie können sich nun anmelden.
396
+ reset_url_expired: Die URL zum Rücksetzen des Kennworts ist leider abgelaufen. Bitte probieren Sie es nochmals.
397
+
398
+ # signup_controller
399
+ signed_up_successfully: Account created successfully. You can now sign in.
400
+ sign_url_expired: The URL for signing up expired. Please contact the administrator.
401
+
402
+ # sessions_controller
403
+ credentials_incorrect: Benutzername und/oder Kennwort falsch. Bitte probieren Sie es nochmals.
404
+
405
+ # users_controller
406
+ user_already_deleted: Jemand hat diesen Benutzer bereits gelöscht. Die Aktion wurde abgebrochen.
407
+ admin_user_cannot_be_deleted: Der Administrator-Zugang kann nicht gelöscht werden.
408
+ edit_user: Benutzer bearbeiten
409
+ account_settings: Kontoeinstellungen
410
+
411
+ # mailers/user_mailer
412
+ signup_email_subject: '[Boxroom] Sign up invitation'
413
+ reset_password_email_subject: '[Boxroom] Anleitung zum Ändern Ihres Kennworts'
414
+ share_link_email_subject: '[Boxroom] %{email} möchte Ihnen eine Datei freigeben'