bhf 0.4.20 → 0.4.21

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.
@@ -45,6 +45,16 @@ class Bhf::EntriesController < Bhf::ApplicationController
45
45
  render :edit, r_settings
46
46
  end
47
47
  end
48
+
49
+ def duplicate
50
+ new_record = @object.dup
51
+ new_record.after_bhf_duplicate(@object) if new_record.respond_to?(:after_bhf_duplicate)
52
+ if new_record.save
53
+ redirect_to(bhf_page_url(@platform.page_name, anchor: "#{@platform.name}_platform"), notice: set_message('duplicate.success', @model))
54
+ else
55
+ redirect_to(bhf_page_url(@platform.page_name, anchor: "#{@platform.name}_platform"), notice: set_message('duplicate.error', @model))
56
+ end
57
+ end
48
58
 
49
59
  def sort
50
60
  return unless @platform.sortable
@@ -9,6 +9,10 @@ module Bhf
9
9
  t("bhf.helpers.entry.models.#{platform.model_name}.new", platform_name: platform.title_singular, default: t('bhf.helpers.entry.new')).html_safe
10
10
  end
11
11
 
12
+ def duplicate_t(platform)
13
+ t("bhf.helpers.entry.models.#{platform.model_name}.duplicate", platform_name: platform.title_singular, default: t('bhf.helpers.entry.duplicate')).html_safe
14
+ end
15
+
12
16
  def edit_t(platform)
13
17
  t("bhf.helpers.entry.models.#{platform.model_name}.edit", platform_name: platform.title_singular, default: t('bhf.helpers.entry.edit')).html_safe
14
18
  end
@@ -6,7 +6,7 @@
6
6
  %li
7
7
  = link_to_if field.link, ref_object.to_bhf_s, edit_bhf_entry_embed_path(field.link || 0, f.object, ref_object), class: :quick_edit
8
8
  - if field.link
9
- = link_to '&times;'.html_safe, bhf_entry_embed_path(field.link, f.object, ref_object), method: :delete, class: :delete, remote: true, confirm: t('bhf.helpers.promts.confirm')
9
+ = link_to '&times;'.html_safe, bhf_entry_embed_path(field.link, f.object, ref_object), method: :delete, class: :delete, remote: true, data: {confirm: t('bhf.helpers.promts.confirm')}
10
10
 
11
11
  - if field.link
12
12
  = link_to '+', new_bhf_entry_embed_path(field.link, f.object), class: 'add_field quick_edit'
@@ -6,7 +6,7 @@
6
6
  - if ref_object
7
7
  = link_to_if field.link, ref_object.to_bhf_s, edit_bhf_entry_embed_path(field.link || 0, f.object, ref_object), class: :quick_edit
8
8
  - if field.link
9
- = link_to '&times;'.html_safe, bhf_entry_embed_path(field.link, f.object, ref_object), method: :delete, class: :delete, remote: true, confirm: t('bhf.helpers.promts.confirm')
9
+ = link_to '&times;'.html_safe, bhf_entry_embed_path(field.link, f.object, ref_object), method: :delete, class: :delete, remote: true, data: {confirm: t('bhf.helpers.promts.confirm')}
10
10
 
11
11
  - if field.link
12
12
  = link_to '+', new_bhf_entry_embed_path(field.link, f.object), class: "add_field quick_edit #{('hide' if ref_object)}"
@@ -44,11 +44,13 @@
44
44
  - render(partial: "bhf/pages/macro/#{column.field.macro}/#{column.field.display_type}", locals: {column: column, object: object})
45
45
  = link_to_if !has_link?(column.field.overwrite_display_type), a.html_safe, (platform.custom_link ? custom_link : edit_link), class: ('quick_edit' unless platform.custom_link)
46
46
 
47
- %td.action
47
+ %td.action{class: (:wider if platform.show_duplicate && !platform.hide_edit && !platform.hide_delete)}
48
+ - if platform.show_duplicate
49
+ = link_to duplicate_t(platform), duplicate_bhf_entry_path(platform.name, object), class: 'duplicate', method: :post
48
50
  - unless platform.hide_edit
49
51
  = link_to edit_t(platform), edit_link, class: 'edit'
50
52
  - unless platform.hide_delete
51
- = link_to delete_t(platform), bhf_entry_path(platform.name, object), method: :delete, remote: true, class: :delete, confirm: t('bhf.helpers.promts.confirm')
53
+ = link_to delete_t(platform), bhf_entry_path(platform.name, object), method: :delete, remote: true, class: :delete, data: {confirm: t('bhf.helpers.promts.confirm')}
52
54
  - else
53
55
  %td.no_entries{colspan: platform.columns_count}
54
56
  = t 'bhf.pagination.info', name_zero: platform.title, count: 0
@@ -11,6 +11,7 @@ de:
11
11
  entry:
12
12
  show: "%{platform_name} anzeigen"
13
13
  new: "%{platform_name} anlegen"
14
+ duplicate: "%{platform_name} duplizieren"
14
15
  edit: "%{platform_name} editieren"
15
16
  delete: "%{platform_name} löschen"
16
17
  empty: Leer
@@ -55,6 +56,9 @@ de:
55
56
  activerecord:
56
57
  notices:
57
58
  messages:
59
+ duplicate:
60
+ success: "%{model} wurde erfolgreich dupliziert"
61
+ error: "%{model} Fehler"
58
62
  create:
59
63
  success: "%{model} wurde erfolgreich erstellt"
60
64
  error: "%{model} Fehler"
@@ -14,6 +14,7 @@ en:
14
14
  entry:
15
15
  new: "New %{platform_name}"
16
16
  show: "Show %{platform_name}"
17
+ duplicate: "Duplicate %{platform_name}"
17
18
  edit: "Edit %{platform_name}"
18
19
  delete: "Delete %{platform_name}"
19
20
  empty: Empty
@@ -68,6 +69,9 @@ en:
68
69
  activerecord:
69
70
  notices:
70
71
  messages:
72
+ duplicate:
73
+ success: "%{model} was duplicated successfuly"
74
+ error: "%{model} error"
71
75
  create:
72
76
  success: "%{model} was created successfuly"
73
77
  error: "%{model} error"
data/config/routes.rb CHANGED
@@ -1,17 +1,23 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- namespace :bhf, path: Bhf::Engine.config.mount_at do
4
- root to: 'application#index'
5
-
6
- get 'page/:page', to: 'pages#show', as: :page
7
-
8
- scope ':platform' do
9
- resources :entries, except: [:index] do
10
- resources :embed_entries, except: [:index, :show], as: :embed
11
- put :sort, on: :collection
3
+ Bhf::Engine.config.routes = lambda do
4
+ namespace :bhf, path: Bhf::Engine.config.mount_at do
5
+ root to: 'application#index'
6
+
7
+ get 'page/:page', to: 'pages#show', as: :page
8
+
9
+ scope ':platform' do
10
+ resources :entries, except: [:index] do
11
+ put :sort, on: :collection
12
+
13
+ resources :embed_entries, except: [:index, :show], as: :embed
14
+ post :duplicate, on: :member
15
+ end
12
16
  end
13
- end
14
17
 
18
+ end
15
19
  end
16
-
20
+
21
+ Bhf::Engine.config.routes.call unless Bhf::Engine.config.remove_default_routes
22
+
17
23
  end
data/lib/bhf/platform.rb CHANGED
@@ -146,8 +146,12 @@ module Bhf
146
146
  table_options 'hide_edit'
147
147
  end
148
148
 
149
+ def show_duplicate
150
+ table_options 'show_duplicate'
151
+ end
152
+
149
153
  def hide_delete
150
- table_options('hide_delete')
154
+ table_options 'hide_delete'
151
155
  end
152
156
 
153
157
  def custom_link
data/lib/engine.rb CHANGED
@@ -15,6 +15,10 @@ module Bhf
15
15
  config.account_model_find_method = 'find'
16
16
  config.css = []
17
17
 
18
+ config.routes = lambda {}
19
+
20
+
21
+ config.remove_default_routes = false
18
22
 
19
23
  # config.bhf_logic = YAML::load(IO.read('config/bhf.yml'))
20
24
 
Binary file
@@ -293,6 +293,7 @@ table.data_table
293
293
  a
294
294
  display: block
295
295
  padding: 5px 3px
296
+ &.duplicate,
296
297
  &.edit,
297
298
  &.delete
298
299
  padding: 0
@@ -304,6 +305,12 @@ table.data_table
304
305
  background: url(pictos.png) no-repeat
305
306
  &.clicked
306
307
  background: url(small_ajax_loader.gif) no-repeat center center
308
+ &.duplicate
309
+ width: 24px
310
+ &.duplicate
311
+ background-position: -348px 0
312
+ &:active
313
+ background-position: -348px -101px
307
314
  &.edit
308
315
  &:active
309
316
  background-position: 0 -101px
@@ -325,6 +332,10 @@ table.data_table
325
332
  color: $w1
326
333
  box-shadow: inset 0 1px 0 $b2, inset 0 2px 0 rgba(#fff, 0.4)
327
334
  border-color: #EAEAEA
335
+ .duplicate
336
+ background-position: -348px -50px
337
+ &:hover
338
+ background-position: -348px -100px
328
339
  .edit
329
340
  background-position: 0 -50px
330
341
  &:hover
@@ -337,6 +348,7 @@ table.data_table
337
348
  background-position: -94px -50px
338
349
  &:hover
339
350
  background-position: -94px -100px
351
+ .duplicate,
340
352
  .edit,
341
353
  .delete
342
354
  &.clicked
@@ -369,6 +381,8 @@ table.data_table
369
381
  width: 30px
370
382
  .action
371
383
  width: 54px
384
+ &.wider
385
+ width: 88px
372
386
 
373
387
 
374
388
  .default_input
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bhf
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.20
4
+ version: 0.4.21
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-12 00:00:00.000000000Z
12
+ date: 2012-08-13 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &70310326244400 !ruby/object:Gem::Requirement
16
+ requirement: &70115423646940 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.2.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70310326244400
24
+ version_requirements: *70115423646940
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: kaminari
27
- requirement: &70310326223820 !ruby/object:Gem::Requirement
27
+ requirement: &70115423646460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.12.4
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70310326223820
35
+ version_requirements: *70115423646460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: haml-rails
38
- requirement: &70310326220280 !ruby/object:Gem::Requirement
38
+ requirement: &70115423645980 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 0.3.4
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70310326220280
46
+ version_requirements: *70115423645980
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sass-rails
49
- requirement: &70310326216020 !ruby/object:Gem::Requirement
49
+ requirement: &70115423645500 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 3.1.4
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70310326216020
57
+ version_requirements: *70115423645500
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: mootools-rails
60
- requirement: &70310326213000 !ruby/object:Gem::Requirement
60
+ requirement: &70115423508020 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 1.0.1
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *70310326213000
68
+ version_requirements: *70115423508020
69
69
  description: Gets you there on time
70
70
  email: anton.pawlik@gmail.com
71
71
  executables: []