classiccms 0.6.4 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/classiccms/controllers/cms.rb +2 -3
- data/lib/classiccms/models/base.rb +36 -0
- data/lib/classiccms/public/js/images.coffee +11 -8
- data/lib/classiccms/public/js/index.coffee +9 -50
- data/lib/classiccms/version.rb +1 -1
- data/lib/classiccms/views/cms/ckeditor.haml +1 -0
- data/lib/classiccms/views/cms/files.haml +2 -2
- data/lib/classiccms/views/cms/form.haml +5 -1
- data/lib/classiccms/views/cms/images.haml +1 -1
- metadata +2 -2
@@ -95,8 +95,8 @@ module Classiccms
|
|
95
95
|
image.file.name = params[:Filedata][:filename]
|
96
96
|
if !image.save
|
97
97
|
file = Document.new
|
98
|
-
file.file =
|
99
|
-
file.file.name =
|
98
|
+
file.file = image.file.data
|
99
|
+
file.file.name = image.file.name
|
100
100
|
file.save
|
101
101
|
end
|
102
102
|
|
@@ -107,7 +107,6 @@ module Classiccms
|
|
107
107
|
end
|
108
108
|
post '/file/destroy' do
|
109
109
|
image = Image.where(:id => params[:id]).first
|
110
|
-
p image
|
111
110
|
if image != nil
|
112
111
|
image.destroy
|
113
112
|
else
|
@@ -41,6 +41,42 @@ class ImageType
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
44
|
+
class DocumentType
|
45
|
+
attr_reader :document_id
|
46
|
+
|
47
|
+
def initialize(document_id)
|
48
|
+
@document_id
|
49
|
+
end
|
50
|
+
|
51
|
+
class << self
|
52
|
+
|
53
|
+
# Get the object as it was stored in the database, and instantiate
|
54
|
+
# this custom class from it.
|
55
|
+
def demongoize(object_id)
|
56
|
+
document = Document.where(:id => object_id).first
|
57
|
+
if document != nil
|
58
|
+
document.file
|
59
|
+
else
|
60
|
+
Dragonfly[:file].fetch_file(File.join(Dir.pwd, 'public/not_found.jpeg'))
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
# Takes any possible object and converts it to how it would be
|
65
|
+
# stored in the database.
|
66
|
+
def mongoize(object_id)
|
67
|
+
object_id
|
68
|
+
end
|
69
|
+
|
70
|
+
# Converts the object that was supplied to a criteria and converts it
|
71
|
+
# into a database friendly form.
|
72
|
+
def evolve(object)
|
73
|
+
case object
|
74
|
+
when FileType then object.mongoize
|
75
|
+
else object
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
44
80
|
|
45
81
|
class Base
|
46
82
|
include Mongoid::Document
|
@@ -2,18 +2,17 @@
|
|
2
2
|
$ ->
|
3
3
|
new Browser
|
4
4
|
|
5
|
-
|
6
|
-
|
7
5
|
class Browser
|
8
6
|
constructor: ->
|
9
7
|
@input = $('#input').first().val()
|
8
|
+
@type = $('#type').first().val()
|
9
|
+
|
10
10
|
@p =
|
11
11
|
images: '.images'
|
12
12
|
image: 'img'
|
13
13
|
destroy: '.destroy'
|
14
14
|
button: '#file_upload'
|
15
15
|
@listen()
|
16
|
-
|
17
16
|
listen: ->
|
18
17
|
$('#edit_bg').slideDown()
|
19
18
|
@set_upload_button()
|
@@ -24,6 +23,7 @@ class Browser
|
|
24
23
|
|
25
24
|
add_tooltip: ->
|
26
25
|
$('[rel=tooltip]').tooltip();
|
26
|
+
|
27
27
|
change_window: (id)->
|
28
28
|
console.log id
|
29
29
|
$('.menu li').removeClass('active')
|
@@ -37,12 +37,15 @@ class Browser
|
|
37
37
|
select: () ->
|
38
38
|
$('.item').click (event)=>
|
39
39
|
url = $(event.currentTarget).attr('url')
|
40
|
-
|
41
|
-
if
|
42
|
-
window.opener.CKEDITOR.tools.callFunction(
|
40
|
+
ckeditor = $('input[name=return]').first().val()
|
41
|
+
if ckeditor.length > 0
|
42
|
+
window.opener.CKEDITOR.tools.callFunction(ckeditor, url)
|
43
|
+
else if @type == 'document'
|
44
|
+
window.opener.$j('#' + @input).first().val($(event.currentTarget).attr('id'))
|
45
|
+
window.opener.$j('#' + @input + '_preview').empty().append($(event.currentTarget).attr('name'))
|
43
46
|
else
|
44
|
-
window.opener.$('#' + @input).first().val($(event.currentTarget).attr('id'))
|
45
|
-
window.opener.$(
|
47
|
+
window.opener.$j('#' + @input).first().val($(event.currentTarget).attr('id'))
|
48
|
+
window.opener.$j('#' + @input + '_preview img').attr('src', $(event.currentTarget).attr('src'))
|
46
49
|
self.close()
|
47
50
|
|
48
51
|
destroy: () ->
|
@@ -35,57 +35,13 @@ class Sort
|
|
35
35
|
$j.post '/cms/sort', {section: section, order: order}
|
36
36
|
}
|
37
37
|
|
38
|
-
class Image
|
39
|
-
#needs a rewrite
|
38
|
+
class Image
|
40
39
|
constructor: (input) ->
|
41
|
-
|
42
|
-
@p =
|
43
|
-
images: '#iki #edit_bg .images'
|
44
|
-
image: '#iki #edit_bg .images .image img'
|
45
|
-
destroy: '#iki #edit_bg .images .image .destroy'
|
46
|
-
button: '#iki #file_upload'
|
47
|
-
|
48
|
-
window.open('/cms/ckeditor/files?input='+$(@input).attr('id'),'upload','width=960,height=750,left=200,top=100,screenX=200,screenY=100')
|
49
|
-
@listen()
|
40
|
+
window.open('/cms/ckeditor/files?input='+$(input).attr('id')+'&type=image','upload','width=960,height=750,left=200,top=100,screenX=200,screenY=100')
|
50
41
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
# @form = $j('#edit_bg')
|
55
|
-
# $j('#edit_bg').after(data)
|
56
|
-
# @set_upload_button()
|
57
|
-
# $j('#' + @input.val()).addClass('selected')
|
58
|
-
# @select()
|
59
|
-
# @destroy()
|
60
|
-
|
61
|
-
destroy: () ->
|
62
|
-
$j(@p.images + ' .image').live 'mouseover mouseout', (event) =>
|
63
|
-
if (event.type == 'mouseover')
|
64
|
-
$j(event.currentTarget).find('.destroy').show()
|
65
|
-
else
|
66
|
-
$j(event.currentTarget).find('.destroy').hide()
|
67
|
-
$j(@p.destroy).click (event) =>
|
68
|
-
id = $j(event.currentTarget).parent().attr('id')
|
69
|
-
$j('.images').find('#' + id).hide()
|
70
|
-
$j.post '/cms/image/destroy', {id: id}
|
71
|
-
|
72
|
-
select: () ->
|
73
|
-
$j(@p.image).click (event) =>
|
74
|
-
$j(@p.image).parent().removeClass('selected')
|
75
|
-
$j(event.currentTarget).parent().addClass('selected')
|
76
|
-
$j(@input).val($j(event.currentTarget).parent().attr('id'))
|
77
|
-
$j('#edit_bg.popup').slideUp()
|
78
|
-
@form.slideDown()
|
79
|
-
|
80
|
-
set_upload_button: ->
|
81
|
-
if($j('#file_upload').length != 0)
|
82
|
-
$j('#file_upload').uploadify
|
83
|
-
'swf' : '/cms/js/uploadify/uploadify.swf'
|
84
|
-
'uploader' : '/cms/upload/image'
|
85
|
-
'onUploadSuccess' : (file, data, response) =>
|
86
|
-
$j(data).replaceAll(@p.images)
|
87
|
-
@select()
|
88
|
-
@destroy()
|
42
|
+
class Document
|
43
|
+
constructor: (input) ->
|
44
|
+
window.open('/cms/ckeditor/files?input='+$(input).attr('id')+'&type=document','upload','width=960,height=750,left=200,top=100,screenX=200,screenY=100')
|
89
45
|
|
90
46
|
|
91
47
|
class TopPanel
|
@@ -103,6 +59,7 @@ class TopPanel
|
|
103
59
|
destroy: '#iki #edit_box #edit_bottom_nav .delete'
|
104
60
|
destroy_label: '#iki .delete_item'
|
105
61
|
image_select: '#iki .image_select'
|
62
|
+
document_select: '#iki .document_select'
|
106
63
|
|
107
64
|
@listen()
|
108
65
|
@show()
|
@@ -113,6 +70,7 @@ class TopPanel
|
|
113
70
|
$j(@p.create).click => @create('/cms/save')
|
114
71
|
$j(@p.destroy).click (event) => @destroy('/cms/destroy', $j(event.target).attr('id'))
|
115
72
|
$j(@p.image_select).click => new Image($j(event.target).next())
|
73
|
+
$j(@p.document_select).click => new Document($j(event.target).next())
|
116
74
|
@delete_button_hover()
|
117
75
|
|
118
76
|
menu_switch: (object) ->
|
@@ -172,7 +130,7 @@ class TopPanel
|
|
172
130
|
class Editor
|
173
131
|
constructor: ->
|
174
132
|
@p =
|
175
|
-
textarea: '#
|
133
|
+
textarea: '#iki textarea'
|
176
134
|
buttons: '#iki .cke_button a'
|
177
135
|
config: {
|
178
136
|
skin : 'kama',
|
@@ -203,6 +161,7 @@ class Editor
|
|
203
161
|
$j(this).attr('title', title)
|
204
162
|
add: ->
|
205
163
|
$j(@p.textarea).each (index, element) =>
|
164
|
+
console.log 'wooh woop'
|
206
165
|
$j(element).ckeditor(@p.config)
|
207
166
|
@hover()
|
208
167
|
remove: ->
|
data/lib/classiccms/version.rb
CHANGED
@@ -14,6 +14,7 @@
|
|
14
14
|
/%link{:rel=>'stylesheet', :href=>'/cms/css/images.css', :type=> 'text/css'}
|
15
15
|
%body#iki
|
16
16
|
%input{:type => 'hidden', :id => 'input', :value => params[:input]}
|
17
|
+
%input{:type => 'hidden', :id => 'type', :value => params[:type]}
|
17
18
|
.container{:style => 'margin-top: 20px'}
|
18
19
|
.row
|
19
20
|
.span4
|
@@ -7,8 +7,8 @@
|
|
7
7
|
%th Grootte
|
8
8
|
%tbody
|
9
9
|
- Document.all.each do |document|
|
10
|
-
%tr
|
11
|
-
%td= document.file.name
|
10
|
+
%tr{:id => document.id}
|
11
|
+
%td.name.item{:id => document.id, :url => document.file.url, :name => document.file.name}= document.file.name
|
12
12
|
%td= document.created_at.strftime('%d-%m-%Y')
|
13
13
|
%td
|
14
14
|
%button.btn.btn-mini.btn-danger.destroy{:style => 'position: absolute;', :type => 'button', :'data-original-title' => 'Verwijder', :rel => 'tooltip', :'data-id' => document.id}
|
@@ -14,7 +14,7 @@
|
|
14
14
|
- when 'input'
|
15
15
|
%input{:type=> 'text', :name=> name, :value=> record[key], :class=>"textfield", :type=> "text"}
|
16
16
|
- when 'textarea'
|
17
|
-
%textarea{:id => key, :name=> name}= record[key]
|
17
|
+
%textarea{:id => key+rand(1...100).to_s, :name=> name}= record[key]
|
18
18
|
- when 'date'
|
19
19
|
- record[key] = Date.today if record[key] == nil
|
20
20
|
%select{:name=>"[#{model}][#{key}(3i)]"}
|
@@ -33,6 +33,10 @@
|
|
33
33
|
|
34
34
|
%p{:id => "file_#{key}_preview", :style => 'float:left; clear:left;'}
|
35
35
|
%img{:src => record.send(key).thumb('50x50').url}
|
36
|
+
- when 'document'
|
37
|
+
%p.document_select Selecteer bestand
|
38
|
+
%input{:type => 'hidden', :id => "file_#{key}", :name=> name, :value => record[key]}
|
39
|
+
%p{:id => "file_#{key}_preview", :style => 'float:left; clear:left;'}= record.send(key).name
|
36
40
|
|
37
41
|
- when 'images'
|
38
42
|
- if record.new_record?
|
@@ -3,4 +3,4 @@
|
|
3
3
|
.span{:style => 'margin-bottom: 20px;', :id => image.id}
|
4
4
|
%button.btn.btn-mini.btn-danger.destroy{:style => 'position: absolute;', :type => 'button', :'data-original-title' => 'Verwijder', :rel => 'tooltip', :'data-id' => image.id}
|
5
5
|
%i.icon-trash.icon-white
|
6
|
-
%img.img-rounded.item{:style => 'height: 113px;', :id => image.id, :src => image.file.process(:thumb, '113x113#').url, :url => image.file.url}
|
6
|
+
%img.img-rounded.item{:style => 'height: 113px;', :id => image.id, :src => image.file.process(:thumb, '113x113#').url, :url => image.file.url, :name => image.file.name}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: classiccms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.6.
|
4
|
+
version: 0.6.5
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-10-
|
12
|
+
date: 2012-10-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|