kuhsaft 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -1
- data/app/models/kuhsaft/asset.rb +5 -1
- data/app/stylesheets/kuhsaft/cms/partials/_buttons.sass +25 -4
- data/app/stylesheets/kuhsaft/cms/partials/_generic.sass +44 -28
- data/app/stylesheets/kuhsaft/cms/partials/_simple_form.sass +5 -4
- data/app/uploaders/kuhsaft/asset_uploader.rb +5 -2
- data/app/views/kuhsaft/cms/assets/_list.html.haml +1 -1
- data/app/views/kuhsaft/cms/pages/_branch.html.haml +1 -1
- data/app/views/kuhsaft/cms/pages/_form.html.haml +13 -9
- data/app/views/kuhsaft/cms/pages/index.html.haml +1 -1
- data/app/views/kuhsaft/page_part/markdowns/_edit_markdown.html.haml +1 -1
- data/app/views/layouts/kuhsaft/admin.html.haml +14 -8
- data/config/locales/kuhsaft.en.yml +3 -3
- data/kuhsaft.gemspec +1 -0
- data/lib/kuhsaft/version.rb +1 -1
- data/public/images/kuhsaft/closedhand.cur +0 -0
- data/public/images/kuhsaft/openhand.cur +0 -0
- data/public/images/kuhsaft/page-part-draggable-area.png +0 -0
- data/public/javascripts/kuhsaft/cms/application.js +5 -2
- data/public/javascripts/kuhsaft/cms/jquery.elastic.source.js +161 -0
- data/public/javascripts/kuhsaft/cms/jquery.min.js +18 -0
- data/public/javascripts/kuhsaft/cms/jquery_ujs.js +336 -0
- data/spec/models/asset_spec.rb +3 -3
- metadata +42 -40
- data/public/javascripts/kuhsaft/cms/jquery-1.4.4.js +0 -7179
- data/public/javascripts/kuhsaft/cms/rails.js +0 -157
- data/spec/dummy/public/javascripts/kuhsaft/admin/jquery-1.4.4.js +0 -7179
- data/spec/dummy/public/javascripts/kuhsaft/admin/jquery-ui-1.8.10.custom.min.js +0 -110
- data/spec/dummy/public/javascripts/kuhsaft/admin/rails.js +0 -157
- data/spec/dummy/public/javascripts/kuhsaft/cms/application.js +0 -31
- data/spec/dummy/public/javascripts/kuhsaft/cms/jquery-1.4.4.js +0 -7179
- data/spec/dummy/public/javascripts/kuhsaft/cms/jquery-ui-1.8.12.custom.min.js +0 -192
- data/spec/dummy/public/javascripts/kuhsaft/cms/rails.js +0 -157
data/.gitignore
CHANGED
@@ -9,7 +9,9 @@ spec/dummy/db/schema.rb
|
|
9
9
|
spec/dummy/public/stylesheets/*
|
10
10
|
spec/dummy/public/uploads/tmp/*
|
11
11
|
spec/dummy/public/uploads/kuhsaft/*
|
12
|
+
spec/dummy/public/uploads/*
|
13
|
+
spec/dummy/public/images/**/*
|
14
|
+
spec/dummy/public/javascripts/**/*
|
12
15
|
Gemfile.lock
|
13
16
|
.DS_Store
|
14
17
|
.sass-cache
|
15
|
-
spec/dummy/public/uploads/*
|
data/app/models/kuhsaft/asset.rb
CHANGED
@@ -3,7 +3,7 @@ class Kuhsaft::Asset < ActiveRecord::Base
|
|
3
3
|
mount_uploader :file, Kuhsaft::AssetUploader
|
4
4
|
|
5
5
|
def file_type
|
6
|
-
if file.
|
6
|
+
if file.path.present? && ext = File.extname(file.path).split('.').last
|
7
7
|
ext.to_sym unless ext.blank?
|
8
8
|
end
|
9
9
|
end
|
@@ -19,4 +19,8 @@ class Kuhsaft::Asset < ActiveRecord::Base
|
|
19
19
|
def path=val
|
20
20
|
# do nothing
|
21
21
|
end
|
22
|
+
|
23
|
+
def filename
|
24
|
+
try(:file).try(:file).try(:filename)
|
25
|
+
end
|
22
26
|
end
|
@@ -1,13 +1,34 @@
|
|
1
1
|
.toolbar
|
2
|
-
padding: 10px
|
2
|
+
padding: 10px 25px
|
3
3
|
background: #F8F8F8
|
4
4
|
|
5
|
-
a.button
|
5
|
+
a.button,
|
6
|
+
a.small-button
|
6
7
|
+float_right
|
7
8
|
|
8
|
-
a.button
|
9
|
+
a.button,
|
10
|
+
a.small-button,
|
11
|
+
input.input-button,
|
12
|
+
input.small-input-button,
|
13
|
+
.micro-button
|
9
14
|
background: $color1
|
10
15
|
padding: 10px 15px
|
11
16
|
margin-right: 10px
|
12
17
|
+link-colors(#fff, #fff, #fff, #fff, #fff)
|
13
|
-
+border-radius(4px)
|
18
|
+
+border-radius(4px)
|
19
|
+
|
20
|
+
input.input-button,
|
21
|
+
input.small-input-button
|
22
|
+
border: none
|
23
|
+
font-size: 15px
|
24
|
+
font-family: "Helvetica Neue", "Helvetica", Arial, sans-serif
|
25
|
+
|
26
|
+
a.small-button,
|
27
|
+
input.small-input-button
|
28
|
+
padding: 5px 10px
|
29
|
+
|
30
|
+
.micro-button
|
31
|
+
+float_right
|
32
|
+
margin: 0px 10px 0px 0px
|
33
|
+
font-size: 11px
|
34
|
+
padding: 0px 4px
|
@@ -1,6 +1,7 @@
|
|
1
1
|
$color1: #0c1550
|
2
2
|
$color2: #1a2363
|
3
3
|
$color3: #f7f8e6
|
4
|
+
$color4: #263392
|
4
5
|
$border-color: #cdcdcd
|
5
6
|
|
6
7
|
body
|
@@ -11,14 +12,25 @@ body
|
|
11
12
|
|
12
13
|
#kuhsaft-wrapper
|
13
14
|
//background: #e9e9e9 url(/images/kuhsaft/wrapper-bg.png) repeat-x left 100px
|
15
|
+
width: 960px
|
16
|
+
margin: 0 auto
|
14
17
|
|
15
18
|
.hidden
|
16
19
|
display: none
|
17
20
|
|
18
21
|
.cms-header
|
19
22
|
background: url(/images/kuhsaft/header-bg.jpg)
|
20
|
-
border-bottom: 1px solid #
|
21
|
-
+min-height(
|
23
|
+
border-bottom: 1px solid #cccccb
|
24
|
+
+min-height(150px)
|
25
|
+
|
26
|
+
.meta-actions
|
27
|
+
+float_right
|
28
|
+
margin: 10px 25px 0px 0px
|
29
|
+
|
30
|
+
.logout-box
|
31
|
+
+float_right
|
32
|
+
margin: 0px 10px 0px 0px
|
33
|
+
font-size: 11px
|
22
34
|
|
23
35
|
.page-tree-breadcrumb
|
24
36
|
margin-bottom: 20px
|
@@ -38,11 +50,11 @@ body
|
|
38
50
|
border:
|
39
51
|
top: 1px solid #7c7a7f
|
40
52
|
right: 1px solid #7c7a7f
|
41
|
-
margin
|
53
|
+
margin: -41px 35px 0px 0px
|
42
54
|
|
43
55
|
a
|
44
56
|
background: $color1
|
45
|
-
padding:
|
57
|
+
padding: 12px 15px
|
46
58
|
line-height: 40px
|
47
59
|
border-left: 1px solid #ccc
|
48
60
|
+link-colors(#fff, #fff, #fff, #fff, #fff)
|
@@ -52,7 +64,6 @@ body
|
|
52
64
|
|
53
65
|
li.current
|
54
66
|
border-left: 1px solid #7c7a7f
|
55
|
-
height: 41px
|
56
67
|
a
|
57
68
|
background: #cccccb url(/images/kuhsaft/module-nav-tab-bg.png) repeat-x
|
58
69
|
border-left: 1px solid #e6e6e6
|
@@ -60,13 +71,10 @@ body
|
|
60
71
|
+link-colors($color1, $color2, $color1, $color1, $color1)
|
61
72
|
|
62
73
|
.cms-content-container
|
63
|
-
+single-box-shadow(#666, 0px, 2px, 8px)
|
64
|
-
margin: 20px
|
65
74
|
width: 960px
|
66
75
|
|
67
76
|
.language-tabs
|
68
77
|
border:
|
69
|
-
top: 1px solid #cfcfcf
|
70
78
|
bottom: 1px solid #cfcfcf
|
71
79
|
background: #e3e3e3 url(/images/kuhsaft/tab-bg.png) repeat-x
|
72
80
|
height: 40px
|
@@ -96,6 +104,7 @@ body
|
|
96
104
|
.cms-content
|
97
105
|
background: #f8f8f8
|
98
106
|
padding: 35px
|
107
|
+
+min-height(500px)
|
99
108
|
|
100
109
|
.box-container
|
101
110
|
border:
|
@@ -126,9 +135,6 @@ body
|
|
126
135
|
.draggable-box
|
127
136
|
position: relative
|
128
137
|
|
129
|
-
.draggable-box.colored-box
|
130
|
-
background: $color3 url(/images/kuhsaft/page-part-draggable-area.png) no-repeat top right
|
131
|
-
|
132
138
|
h1
|
133
139
|
font-size: 36px
|
134
140
|
font-weight: bold
|
@@ -148,7 +154,7 @@ h1
|
|
148
154
|
|
149
155
|
a
|
150
156
|
text-decoration: none
|
151
|
-
+link-colors($color1, $
|
157
|
+
+link-colors($color1, $color4, $color1, $color1, $color2)
|
152
158
|
|
153
159
|
.clear
|
154
160
|
clear: both
|
@@ -181,11 +187,15 @@ a
|
|
181
187
|
background: #e3e5c5
|
182
188
|
padding: 3px 6px
|
183
189
|
border:
|
184
|
-
top: 1px solid #d2d3b9
|
185
190
|
left: 1px solid #d2d3b9
|
186
191
|
right: 1px solid #fefff4
|
187
192
|
bottom: 1px solid #fefff4
|
188
|
-
+border-radius(3px)
|
193
|
+
+border-bottom-right-radius(3px)
|
194
|
+
+border-bottom-left-radius(3px)
|
195
|
+
+float-left
|
196
|
+
width: 619px
|
197
|
+
margin: -5px 0px 10px 0px
|
198
|
+
|
189
199
|
|
190
200
|
.page-part-destroy
|
191
201
|
font-size: 12px
|
@@ -197,10 +207,7 @@ a
|
|
197
207
|
+float_left
|
198
208
|
|
199
209
|
.page-part-tags
|
200
|
-
|
201
|
-
width: 626px
|
202
|
-
|
203
|
-
input
|
210
|
+
&.string
|
204
211
|
width: 612px
|
205
212
|
|
206
213
|
.dimmed
|
@@ -291,21 +298,30 @@ ul.pages-root
|
|
291
298
|
width: 22px
|
292
299
|
border-left: 0px
|
293
300
|
|
301
|
+
.actions
|
302
|
+
height: 30px
|
303
|
+
width: 100%
|
304
|
+
clear: both
|
305
|
+
margin: 0px 0px 0px 0px
|
306
|
+
input#kuhsaft_page_submit
|
307
|
+
+float_right
|
308
|
+
|
294
309
|
.drag-handler
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
cursor:
|
310
|
+
background: $color3 url(/images/kuhsaft/page-part-draggable-area.png) no-repeat top right
|
311
|
+
width: 91px
|
312
|
+
height: 22px
|
313
|
+
margin: 0px 7px 0px 0px
|
314
|
+
float: right
|
315
|
+
cursor: url(/images/kuhsaft/openhand.cur), default !important
|
316
|
+
&:active
|
317
|
+
cursor: url(/images/kuhsaft/closedhand.cur), default !important
|
301
318
|
|
302
319
|
.destroy-handler
|
303
320
|
text-align: right
|
304
321
|
width: 100px
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
padding-top: 10px
|
322
|
+
margin: 0px 10px 0px 0px
|
323
|
+
padding: 5px 0px 0px 0px
|
324
|
+
+float_right
|
309
325
|
|
310
326
|
.will-drag
|
311
327
|
border: 1px solid #666
|
@@ -1,4 +1,4 @@
|
|
1
|
-
label.string, label.file, label.integer, label.select
|
1
|
+
label.string, label.file, label.integer, label.select, label.text
|
2
2
|
width: 200px
|
3
3
|
+float_left
|
4
4
|
|
@@ -19,8 +19,9 @@ div.input
|
|
19
19
|
font-size: 12px
|
20
20
|
margin-left: 200px
|
21
21
|
|
22
|
-
textarea.text
|
23
|
-
height:
|
22
|
+
textarea.text
|
23
|
+
max-height: 500px
|
24
|
+
resize: none
|
24
25
|
|
25
26
|
.input
|
26
27
|
margin: 5px 0px
|
@@ -72,4 +73,4 @@ select
|
|
72
73
|
.darkened-box, .lightened-box
|
73
74
|
input[type='text']:focus, textarea:focus
|
74
75
|
background: $color3
|
75
|
-
+transition(background, 1s)
|
76
|
+
+transition(background, 1s)
|
@@ -30,9 +30,12 @@ class Kuhsaft::AssetUploader < CarrierWave::Uploader::Base
|
|
30
30
|
|
31
31
|
# Create different versions of your uploaded files:
|
32
32
|
version :thumb do
|
33
|
-
process :
|
33
|
+
process :resize_images
|
34
|
+
def resize_images
|
35
|
+
resize_to_fill(100, 100) if @file.present? && @file.content_type.present? && @file.content_type.include?('image')
|
36
|
+
end
|
34
37
|
end
|
35
|
-
|
38
|
+
|
36
39
|
# Add a white list of extensions which are allowed to be uploaded.
|
37
40
|
# For images you might use something like this:
|
38
41
|
def extension_white_list
|
@@ -7,5 +7,5 @@
|
|
7
7
|
= link_to asset.name, edit_cms_asset_path(asset)
|
8
8
|
.copy
|
9
9
|
%input.string{ :type => :text, :value => asset.file.url }
|
10
|
-
= link_to t('.delete'), cms_asset_path(asset), :confirm => t('.confirm'), :method => :delete
|
10
|
+
= link_to t('.delete'), cms_asset_path(asset), :confirm => t('.confirm', :filename => asset.filename), :method => :delete
|
11
11
|
.clear
|
@@ -4,7 +4,7 @@
|
|
4
4
|
.branch
|
5
5
|
= link_to page.title.presence || t('.not_translated'), edit_cms_page_path(page), :class => ('to-translate' if page.title.blank?)
|
6
6
|
= link_to t('.add'), new_cms_page_path(:parent_id => page.id), :class => 'icon add-child-page'
|
7
|
-
= link_to t('.delete'), cms_page_path(page), :confirm => t('.confirm'), :method => :delete, :class => 'icon delete' if page.childs.empty?
|
7
|
+
= link_to t('.delete'), cms_page_path(page), :confirm => t('.confirm', :page_title => page.title), :method => :delete, :class => 'icon delete' if page.childs.empty?
|
8
8
|
.clear
|
9
9
|
- unless page.childs.empty?
|
10
10
|
%ul.sortable
|
@@ -12,16 +12,20 @@
|
|
12
12
|
- @localized_page.page_parts.each do |page_part_object|
|
13
13
|
.colored-box.draggable-box.page-part.can-drag{ :'data-id' => page_part_object.id, :'data-put-url' => cms_page_page_part_path(page_part_object, :page_id => @page) }
|
14
14
|
= localized.fields_for :page_parts, page_part_object do |page_part|
|
15
|
-
.
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
= page_part.input :type, :as => :hidden, :input_html => { :value => page_part.object.class.to_s }
|
15
|
+
.actions
|
16
|
+
.drag-handler
|
17
|
+
- unless page_part.object.persisted?
|
18
|
+
= page_part.input :type, :as => :hidden, :input_html => { :value => page_part.object.class.to_s }
|
20
19
|
|
21
20
|
= render :partial => page_part.object.edit_partial_path, :locals => { :input_form => page_part }
|
21
|
+
= page_part.label :tag_list
|
22
22
|
.page-part-helpers
|
23
|
-
= page_part.
|
24
|
-
|
23
|
+
= page_part.text_field :tag_list, :placeholder => t('.separate_by_comma'), :class => 'page-part-tags string'
|
24
|
+
.actions
|
25
|
+
= page.button :submit, :class => 'small-input-button'
|
26
|
+
.destroy-handler
|
27
|
+
= link_to t('.destroy_page_part'), cms_page_page_part_path(page_part.object, :page_id => @page), :confirm => t('.confirm'), :method => :delete, :remote => true
|
28
|
+
.clear
|
25
29
|
- if localized.object.persisted? && !@page.redirect?
|
26
30
|
.lightened-box.add-page-part
|
27
31
|
%label.string{ :for => :page_part_type }= t('.add_element')
|
@@ -50,10 +54,10 @@
|
|
50
54
|
= localized.label :published, t('.published_at'), :class => :radio, :for => :kuhsaft_page_localized_pages_attributes_0_published_2
|
51
55
|
= localized.text_field :published_at, :class => 'small string', :placeholder => 'dd.mm.yyyy HH:MM'
|
52
56
|
.column.grid-2
|
53
|
-
= page.button :submit
|
57
|
+
= page.button :submit, :class => 'input-button'
|
54
58
|
.clear
|
55
59
|
|
56
60
|
:javascript
|
57
61
|
$(".toggle").click(function(){
|
58
62
|
$(this).toggleClass("closed").next(".collapsable").toggleClass("hidden")
|
59
|
-
})
|
63
|
+
})
|
@@ -3,6 +3,6 @@
|
|
3
3
|
%li{ :class => (:current if params[:locale] == locale.to_s) }= link_to locale.to_s, cms_pages_path(:locale => locale)
|
4
4
|
|
5
5
|
- content_for :admin_toolbar do
|
6
|
-
= link_to t('.create'), new_cms_page_path, :class => 'button'
|
6
|
+
= link_to t('.create'), new_cms_page_path, :class => 'small-button'
|
7
7
|
%ul.pages-root.sortable
|
8
8
|
= render :partial => 'branch', :locals => { :pages => @pages }
|
@@ -1 +1 @@
|
|
1
|
-
= input_form.input :text, :as => :text, :input_html => { :class => :
|
1
|
+
= input_form.input :text, :as => :text, :input_html => { :class => :small }
|
@@ -2,24 +2,30 @@
|
|
2
2
|
%html
|
3
3
|
%head
|
4
4
|
= stylesheet_link_tag 'kuhsaft/cms/screen.css', :media => 'screen, projection'
|
5
|
-
=
|
6
|
-
= csrf_meta_tag
|
7
|
-
= javascript_include_tag 'kuhsaft/cms/jquery-1.4.4.js'
|
5
|
+
= javascript_include_tag 'kuhsaft/cms/jquery.min.js'
|
8
6
|
= javascript_include_tag 'kuhsaft/cms/jquery-ui-1.8.12.custom.min.js'
|
9
|
-
= javascript_include_tag 'kuhsaft/cms/
|
7
|
+
= javascript_include_tag 'kuhsaft/cms/jquery_ujs.js'
|
8
|
+
= javascript_include_tag 'kuhsaft/cms/jquery.elastic.source.js'
|
10
9
|
= javascript_include_tag 'kuhsaft/cms/application.js'
|
10
|
+
= csrf_meta_tag
|
11
11
|
%body{ :class => "#{controller_name}" }
|
12
12
|
#kuhsaft-wrapper
|
13
13
|
.cms-header
|
14
14
|
.container
|
15
|
-
-
|
16
|
-
|
15
|
+
.meta-actions
|
16
|
+
%a.micro-button{ :href => '/', :target => '_blank' }
|
17
|
+
View Site
|
18
|
+
.logout-box
|
19
|
+
- if respond_to?(:destroy_user_session_path)
|
20
|
+
= current_user.first_name
|
21
|
+
= current_user.last_name
|
22
|
+
= link_to '(logout)', destroy_user_session_path, :class => 'logout micro-logout'
|
17
23
|
.cms-content-container
|
18
24
|
%ul.cms-module-nav
|
19
25
|
= admin_tab(t('.pages_nav'), cms_pages_path)
|
20
26
|
= admin_tab(t('.assets_nav'), cms_assets_path)
|
21
27
|
= render :partial => 'cms/admin_navigation' rescue ''
|
22
|
-
|
28
|
+
.clear
|
23
29
|
%ul.language-tabs
|
24
30
|
= yield :cms_language_tabs
|
25
31
|
.clear
|
@@ -30,4 +36,4 @@
|
|
30
36
|
= yield :before_admin_content
|
31
37
|
= yield
|
32
38
|
= yield :after_admin_content
|
33
|
-
= yield :scripts
|
39
|
+
= yield :scripts
|
@@ -19,14 +19,14 @@ en:
|
|
19
19
|
add: 'Add page'
|
20
20
|
create: 'Create new page'
|
21
21
|
delete: 'Remove page'
|
22
|
-
confirm: 'Are you sure?'
|
22
|
+
confirm: 'Are you sure you want to delete the page "%{page_title}"?'
|
23
23
|
not_translated: 'Not yet translated'
|
24
24
|
form:
|
25
25
|
add_page_part: 'Add element'
|
26
26
|
unpublished: "Save page offline"
|
27
27
|
published: "Publish page"
|
28
28
|
published_at: "Go online on"
|
29
|
-
confirm: 'Are you sure?'
|
29
|
+
confirm: 'Are you sure you want to delete this page part?'
|
30
30
|
destroy_page_part: 'Delete'
|
31
31
|
separate_by_comma: 'Separate tags by comma'
|
32
32
|
current_translation_locale: 'Current translation: %{translation_locale}'
|
@@ -34,7 +34,7 @@ en:
|
|
34
34
|
index:
|
35
35
|
create: 'Create new asset'
|
36
36
|
list:
|
37
|
-
confirm: 'Are you sure?'
|
37
|
+
confirm: 'Are you sure you want to delete the asset "%{filename}"?'
|
38
38
|
delete: 'Delete asset'
|
39
39
|
simple_form:
|
40
40
|
labels:
|
data/kuhsaft.gemspec
CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.add_development_dependency 'guard-spork'
|
29
29
|
s.add_development_dependency 'guard-rspec'
|
30
30
|
s.add_development_dependency 'growl'
|
31
|
+
s.add_development_dependency 'linecache', '0.42'
|
31
32
|
|
32
33
|
s.add_dependency 'rails', '~>3.0'
|
33
34
|
s.add_dependency 'haml', '~> 3.1'
|
data/lib/kuhsaft/version.rb
CHANGED
Binary file
|
Binary file
|
Binary file
|
@@ -20,12 +20,15 @@ $(function(){
|
|
20
20
|
})
|
21
21
|
|
22
22
|
$(".page-part-list .drag-handler").mouseenter(function(){
|
23
|
-
$(this).parent().addClass("will-drag")
|
23
|
+
$(this).parent().parent().addClass("will-drag")
|
24
24
|
})
|
25
25
|
.mouseleave(function(){
|
26
|
-
$(this).parent().removeClass("will-drag")
|
26
|
+
$(this).parent().parent().removeClass("will-drag")
|
27
27
|
})
|
28
28
|
$(".draggable-box").mouseleave(function(){
|
29
29
|
$(this).removeClass("will-drag")
|
30
30
|
})
|
31
|
+
|
32
|
+
$('.colored-box textarea.text').elastic();
|
33
|
+
|
31
34
|
})
|