drg_cms 0.4.39 → 0.4.53
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +49 -0
- data/app/assets/images/drg_cms/file_manager.png +0 -0
- data/app/assets/javascripts/drg_cms/drg_cms.js +8 -8
- data/app/assets/stylesheets/drg_cms/drg_cms.css +22 -20
- data/app/controllers/cmsedit_controller.rb +170 -114
- data/app/controllers/dc_application_controller.rb +142 -56
- data/app/controllers/dc_common_controller.rb +56 -34
- data/app/controllers/dc_main_controller.rb +1 -4
- data/app/controllers/drgcms_controls/dc_page_controls.rb +3 -0
- data/app/forms/all_options.yml +3 -0
- data/app/forms/cms_menu.yml +100 -117
- data/app/forms/dc_design.yml +1 -1
- data/app/forms/dc_ident.yml +37 -0
- data/app/forms/dc_menu_item.yml +1 -1
- data/app/forms/dc_permission.yml +1 -1
- data/app/forms/dc_site.yml +4 -0
- data/app/helpers/cmsedit_helper.rb +44 -80
- data/app/helpers/dc_ad_renderer.rb +27 -15
- data/app/helpers/dc_application_helper.rb +433 -196
- data/app/helpers/dc_big_menu_renderer.rb +40 -40
- data/app/helpers/dc_captcha_renderer.rb +38 -25
- data/app/helpers/dc_common_renderer.rb +15 -48
- data/app/helpers/dc_menu_renderer.rb +30 -20
- data/app/helpers/dc_page_renderer.rb +14 -18
- data/app/helpers/dc_part_renderer.rb +45 -16
- data/app/helpers/dc_piece_renderer.rb +23 -29
- data/app/helpers/dc_poll_renderer.rb +31 -20
- data/app/helpers/dc_renderer.rb +5 -4
- data/app/helpers/dc_simple_menu_renderer.rb +90 -68
- data/app/models/{__dc_global_data.rb → __dc_stat.rb} +20 -21
- data/app/models/dc_ad.rb +13 -1
- data/app/models/dc_ad_stat.rb +6 -0
- data/app/models/dc_big_menu.rb +15 -2
- data/app/models/dc_big_table.rb +27 -4
- data/app/models/dc_big_table_locale.rb +7 -0
- data/app/models/dc_big_table_value.rb +7 -0
- data/app/models/dc_category.rb +9 -3
- data/app/models/dc_design.rb +50 -0
- data/app/models/dc_dummy.rb +41 -1
- data/app/models/dc_folder_permission.rb +9 -2
- data/app/models/{dc_global_data.rb → dc_ident.rb} +20 -22
- data/app/models/dc_journal.rb +9 -1
- data/app/models/dc_key_value_store.rb +41 -4
- data/app/models/dc_link.rb +7 -0
- data/app/models/dc_menu.rb +20 -3
- data/app/models/dc_menu_item.rb +7 -0
- data/app/models/dc_page.rb +31 -12
- data/app/models/dc_part.rb +34 -4
- data/app/models/dc_permission.rb +32 -12
- data/app/models/dc_piece.rb +32 -4
- data/app/models/dc_policy.rb +17 -11
- data/app/models/dc_policy_role.rb +12 -7
- data/app/models/dc_policy_rule.rb +32 -4
- data/app/models/dc_poll.rb +8 -0
- data/app/models/dc_poll_item.rb +6 -0
- data/app/models/dc_simple_menu.rb +18 -3
- data/app/models/dc_simple_menu_item.rb +20 -2
- data/app/models/dc_site.rb +13 -3
- data/app/models/dc_stat.rb +8 -1
- data/app/models/dc_user.rb +18 -2
- data/app/models/dc_user_role.rb +7 -0
- data/app/models/dc_visit.rb +5 -0
- data/app/{helpers → models}/drgcms_form_field.rb +171 -73
- data/app/views/__dc_at_the_beginning/create.html.erb +9 -0
- data/app/views/__dc_at_the_beginning/index.html.erb +19 -0
- data/app/views/cmsedit/_edit_stuff.html.erb +2 -0
- data/app/views/cmsedit/_form.html.erb +0 -1
- data/app/views/dc_mail/subscribe.html.erb +0 -0
- data/config/initializers/kaminari_patch.rb +5 -4
- data/config/locales/drgcms_en.yml +4 -0
- data/config/locales/drgcms_sl.yml +1 -0
- data/config/locales/models_en.yml +14 -3
- data/config/locales/models_sl.yml +13 -4
- data/drg_cms.gemspec +4 -4
- data/lib/drg_cms.rb +37 -8
- data/lib/drg_cms/engine.rb +2 -2
- data/lib/drg_cms/version.rb +3 -2
- data/lib/tasks/at_the_beginning.yml +0 -0
- data/lib/tasks/dc_at_the_beginning.rake +118 -0
- data/lib/tasks/dc_cleanup.rake +19 -7
- data/lib/tasks/log_statistics.rb +66 -0
- data/lib/tasks/site_statistics.rake +29 -12
- data/test/dummy/app/controllers/application_controller.rb +1 -1
- data/test/dummy/app/helpers/application_helper.rb +1 -1
- metadata +15 -26
- data/README.rdoc +0 -3
- data/app/controllers/dc_at_the_beginning_controller.rb +0 -120
- data/app/controllers/dc_mail_controller.rb +0 -89
- data/app/forms/dc_forum_cat.yml +0 -54
- data/app/forms/dc_forum_forum.yml +0 -53
- data/app/forms/dc_forum_msg.yml +0 -124
- data/app/forms/dc_forum_privmsg.yml +0 -125
- data/app/forms/dc_forum_topic.yml +0 -131
- data/app/forms/dc_mail.yml +0 -88
- data/app/forms/dc_mail_address.yml +0 -56
- data/app/forms/dc_mail_list.yml +0 -44
- data/app/forms/dc_mail_list_member.yml +0 -42
- data/app/helpers/dc_mail_renderer.rb +0 -76
- data/app/models/dc_mail.rb +0 -64
- data/app/models/dc_mail_address.rb +0 -69
- data/app/models/dc_mail_list.rb +0 -48
- data/app/models/dc_mail_list_member.rb +0 -34
- data/app/models/dc_sendmail.rb +0 -48
data/app/forms/dc_mail.yml
DELETED
@@ -1,88 +0,0 @@
|
|
1
|
-
## YAML Template for page
|
2
|
-
---
|
3
|
-
table: dc_mail
|
4
|
-
|
5
|
-
index:
|
6
|
-
filter: subject
|
7
|
-
actions: standard
|
8
|
-
|
9
|
-
result_set:
|
10
|
-
actions:
|
11
|
-
1: edit
|
12
|
-
2:
|
13
|
-
type: duplicate
|
14
|
-
dup_fields: subject
|
15
|
-
|
16
|
-
3: delete
|
17
|
-
|
18
|
-
columns:
|
19
|
-
1:
|
20
|
-
name: subject
|
21
|
-
2:
|
22
|
-
name: send_time
|
23
|
-
3:
|
24
|
-
name: schedule
|
25
|
-
4:
|
26
|
-
name: status
|
27
|
-
|
28
|
-
edit_title: mail
|
29
|
-
|
30
|
-
form:
|
31
|
-
actions:
|
32
|
-
standard : yes
|
33
|
-
7:
|
34
|
-
type: ajax
|
35
|
-
controller: dc_mail
|
36
|
-
action: send_test_mail
|
37
|
-
caption: drgcms.dc_mail.send_to_test
|
38
|
-
8:
|
39
|
-
type: ajax
|
40
|
-
controller: dc_mail
|
41
|
-
action: send_mail
|
42
|
-
caption: drgcms.dc_mail.send
|
43
|
-
tabs:
|
44
|
-
tab1:
|
45
|
-
0:
|
46
|
-
name: from
|
47
|
-
type: text_field
|
48
|
-
html:
|
49
|
-
size: 50
|
50
|
-
1:
|
51
|
-
name: subject
|
52
|
-
type: text_field
|
53
|
-
html:
|
54
|
-
size: 50
|
55
|
-
2:
|
56
|
-
name: body
|
57
|
-
type: html_field
|
58
|
-
options: 'height: 500'
|
59
|
-
|
60
|
-
tab2:
|
61
|
-
1:
|
62
|
-
name: to_list
|
63
|
-
type: multitext_autocomplete
|
64
|
-
search: dc_mail_list.name
|
65
|
-
html:
|
66
|
-
size: 30
|
67
|
-
3:
|
68
|
-
name: to_address
|
69
|
-
type: text_area
|
70
|
-
html:
|
71
|
-
size: 100x10
|
72
|
-
5:
|
73
|
-
name: to_test
|
74
|
-
type: text_field
|
75
|
-
html:
|
76
|
-
size: 50
|
77
|
-
tab3:
|
78
|
-
0:
|
79
|
-
name: schedule
|
80
|
-
type: datetime_select
|
81
|
-
1:
|
82
|
-
name: status
|
83
|
-
type: select
|
84
|
-
3:
|
85
|
-
name: css
|
86
|
-
type: text_area
|
87
|
-
html:
|
88
|
-
size: 100x10
|
@@ -1,56 +0,0 @@
|
|
1
|
-
## YAML Template for page
|
2
|
-
---
|
3
|
-
table: dc_mail_address
|
4
|
-
|
5
|
-
index:
|
6
|
-
filter: email, description
|
7
|
-
actions: standard
|
8
|
-
|
9
|
-
result_set:
|
10
|
-
actions:
|
11
|
-
1: edit
|
12
|
-
2: delete
|
13
|
-
|
14
|
-
columns:
|
15
|
-
1:
|
16
|
-
name: email
|
17
|
-
2:
|
18
|
-
name: dc_user_id
|
19
|
-
eval: dc_name4_id,dc_user,name
|
20
|
-
3:
|
21
|
-
name: active
|
22
|
-
eval: dc_icon4_boolean
|
23
|
-
|
24
|
-
edit_title: mail address
|
25
|
-
|
26
|
-
form:
|
27
|
-
actions: standard
|
28
|
-
|
29
|
-
fields:
|
30
|
-
|
31
|
-
0:
|
32
|
-
name: email
|
33
|
-
type: text_field
|
34
|
-
html:
|
35
|
-
size: 50
|
36
|
-
1:
|
37
|
-
name: dc_user_id
|
38
|
-
type: text_autocomplete
|
39
|
-
search: dc_user.name
|
40
|
-
html:
|
41
|
-
size: 30
|
42
|
-
2:
|
43
|
-
name: active
|
44
|
-
type: check_box
|
45
|
-
|
46
|
-
3:
|
47
|
-
name: reason
|
48
|
-
type: text_field
|
49
|
-
html:
|
50
|
-
size: 30
|
51
|
-
5:
|
52
|
-
name: dc_mail_list_members
|
53
|
-
type: embedded
|
54
|
-
formname: dc_mail_list_member
|
55
|
-
html:
|
56
|
-
height: 400
|
data/app/forms/dc_mail_list.yml
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
## YAML Template for page
|
2
|
-
---
|
3
|
-
table: dc_mail_list
|
4
|
-
|
5
|
-
index:
|
6
|
-
filter: name, description
|
7
|
-
actions: standard
|
8
|
-
|
9
|
-
result_set:
|
10
|
-
actions:
|
11
|
-
1: edit
|
12
|
-
2: delete
|
13
|
-
|
14
|
-
columns:
|
15
|
-
1:
|
16
|
-
name: name
|
17
|
-
2:
|
18
|
-
name: description
|
19
|
-
3:
|
20
|
-
name: active
|
21
|
-
eval: dc_icon4_boolean
|
22
|
-
|
23
|
-
edit_title: mail list
|
24
|
-
|
25
|
-
form:
|
26
|
-
actions: standard
|
27
|
-
|
28
|
-
fields:
|
29
|
-
|
30
|
-
0:
|
31
|
-
name: name
|
32
|
-
type: text_field
|
33
|
-
html:
|
34
|
-
size: 30
|
35
|
-
1:
|
36
|
-
name: description
|
37
|
-
type: text_field
|
38
|
-
html:
|
39
|
-
size: 50
|
40
|
-
2:
|
41
|
-
name: params
|
42
|
-
type: text_area
|
43
|
-
html:
|
44
|
-
size: 50x5
|
@@ -1,42 +0,0 @@
|
|
1
|
-
## YAML Template for page
|
2
|
-
---
|
3
|
-
table: dc_mail_list_member
|
4
|
-
|
5
|
-
index:
|
6
|
-
actions: standard
|
7
|
-
|
8
|
-
result_set:
|
9
|
-
actions:
|
10
|
-
1: edit
|
11
|
-
2: delete
|
12
|
-
|
13
|
-
columns:
|
14
|
-
1:
|
15
|
-
name: dc_mail_list_id
|
16
|
-
eval: dc_name4_id,dc_mail_list,name
|
17
|
-
3:
|
18
|
-
name: active
|
19
|
-
eval: dc_icon4_boolean
|
20
|
-
|
21
|
-
edit_title: mail list
|
22
|
-
|
23
|
-
form:
|
24
|
-
actions: standard
|
25
|
-
|
26
|
-
fields:
|
27
|
-
|
28
|
-
1:
|
29
|
-
name: dc_mail_list_id
|
30
|
-
type: select
|
31
|
-
# eval: DcMailList.choices4_mail_list
|
32
|
-
eval: dc_choices4('dc_mail_list','name','_id',:site_only => true)
|
33
|
-
|
34
|
-
2:
|
35
|
-
name: active
|
36
|
-
type: check_box
|
37
|
-
|
38
|
-
3:
|
39
|
-
name: reason
|
40
|
-
type: text_field
|
41
|
-
html:
|
42
|
-
size: 30
|
@@ -1,76 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2012+ Damjan Rems
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
########################################################################
|
25
|
-
#
|
26
|
-
########################################################################
|
27
|
-
class DcMailRenderer
|
28
|
-
|
29
|
-
include DcApplicationHelper
|
30
|
-
|
31
|
-
########################################################################
|
32
|
-
#
|
33
|
-
########################################################################
|
34
|
-
def initialize( parent, opts={} )
|
35
|
-
@parent = parent
|
36
|
-
@opts = opts
|
37
|
-
@part_css = ''
|
38
|
-
@page = @parent.page
|
39
|
-
self
|
40
|
-
end
|
41
|
-
|
42
|
-
########################################################################
|
43
|
-
# Dummy params method to return params object
|
44
|
-
########################################################################
|
45
|
-
def params
|
46
|
-
@parent.params
|
47
|
-
end
|
48
|
-
|
49
|
-
########################################################################
|
50
|
-
#
|
51
|
-
########################################################################
|
52
|
-
def subscribe
|
53
|
-
begin
|
54
|
-
name = "dc_mail/subscribe_#{Rails.application.config.i18n.default_locale}"
|
55
|
-
render partial: name
|
56
|
-
rescue
|
57
|
-
render partial: 'dc_mail/subscribe'
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
########################################################################
|
62
|
-
#
|
63
|
-
########################################################################
|
64
|
-
def render_html
|
65
|
-
method = @opts[:method]
|
66
|
-
send method if method
|
67
|
-
end
|
68
|
-
|
69
|
-
########################################################################
|
70
|
-
#
|
71
|
-
########################################################################
|
72
|
-
def render_css
|
73
|
-
@part_css
|
74
|
-
end
|
75
|
-
|
76
|
-
end
|
data/app/models/dc_mail.rb
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2012+ Damjan Rems
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
|
24
|
-
module DcMailCommon
|
25
|
-
extend ActiveSupport::Concern
|
26
|
-
included do
|
27
|
-
|
28
|
-
include Mongoid::Document
|
29
|
-
include Mongoid::Timestamps
|
30
|
-
|
31
|
-
field :subject, type: String
|
32
|
-
field :body, type: String
|
33
|
-
field :from, type: String
|
34
|
-
field :to_test, type: String
|
35
|
-
field :to_address, type: String
|
36
|
-
field :to_list, type: Array
|
37
|
-
field :schedule, type: DateTime
|
38
|
-
field :send_time, type: DateTime
|
39
|
-
field :status, type: Integer
|
40
|
-
field :css, type: String
|
41
|
-
|
42
|
-
field :created_by, type: BSON::ObjectId
|
43
|
-
field :updated_by, type: BSON::ObjectId
|
44
|
-
|
45
|
-
belongs_to :dc_site
|
46
|
-
|
47
|
-
index status: 1
|
48
|
-
|
49
|
-
validate :if_email_is_ok
|
50
|
-
|
51
|
-
def if_email_is_ok
|
52
|
-
errors.add(:from, I18n.t('drgcms.not_email')) unless DcMailAddress::dc_is_email?(from)
|
53
|
-
errors.add(:to_test, I18n.t('drgcms.not_email')) if to_test.to_s.size > 0 and !DcMailAddress::dc_is_email?(to_test)
|
54
|
-
end
|
55
|
-
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
######################################################################
|
60
|
-
#
|
61
|
-
######################################################################
|
62
|
-
class DcMail
|
63
|
-
include DcMailCommon
|
64
|
-
end
|
@@ -1,69 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2012+ Damjan Rems
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
class DcMailAddress
|
24
|
-
include Mongoid::Document
|
25
|
-
include Mongoid::Timestamps
|
26
|
-
|
27
|
-
field :email, type: String
|
28
|
-
field :reason, type: String
|
29
|
-
field :dc_user_id, type: BSON::ObjectId
|
30
|
-
field :active, type: Boolean, default: true
|
31
|
-
field :created_by, type: BSON::ObjectId
|
32
|
-
field :updated_by, type: BSON::ObjectId
|
33
|
-
|
34
|
-
embeds_many :dc_mail_list_members
|
35
|
-
belongs_to :dc_site
|
36
|
-
|
37
|
-
index( { 'dc_mail_list_members.dc_mail_list_id' => 1 } )
|
38
|
-
|
39
|
-
validate :if_email_is_ok
|
40
|
-
=begin
|
41
|
-
def if_email_is_ok
|
42
|
-
if dc_user_id.nil?
|
43
|
-
unless email.to_s =~ /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/
|
44
|
-
errors.add(:email, 'is not an email')
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
=end
|
49
|
-
|
50
|
-
def if_email_is_ok
|
51
|
-
if dc_user_id.nil? and !DcMailAddress::dc_is_email?(email)
|
52
|
-
errors.add(:email, I18n.t('drgcms.not_email'))
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
############################################################################
|
57
|
-
# Check if string contains valid e-mail address.
|
58
|
-
#
|
59
|
-
# @example usage from program
|
60
|
-
# dc_is_email?(some_email)
|
61
|
-
# eval: name4_id('site','name',@record['site_id'])
|
62
|
-
#
|
63
|
-
# @param [ email ] email address to be checked
|
64
|
-
############################################################################
|
65
|
-
def self.dc_is_email?(email)
|
66
|
-
email.to_s =~ /^[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
data/app/models/dc_mail_list.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
#--
|
2
|
-
# Copyright (c) 2012+ Damjan Rems
|
3
|
-
#
|
4
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
5
|
-
# a copy of this software and associated documentation files (the
|
6
|
-
# "Software"), to deal in the Software without restriction, including
|
7
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
8
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
9
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
10
|
-
# the following conditions:
|
11
|
-
#
|
12
|
-
# The above copyright notice and this permission notice shall be
|
13
|
-
# included in all copies or substantial portions of the Software.
|
14
|
-
#
|
15
|
-
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
16
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
17
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
18
|
-
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
19
|
-
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
20
|
-
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
21
|
-
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
22
|
-
#++
|
23
|
-
class DcMailList
|
24
|
-
include Mongoid::Document
|
25
|
-
include Mongoid::Timestamps
|
26
|
-
|
27
|
-
field :name, type: String
|
28
|
-
field :description, type: String
|
29
|
-
field :params, type: String
|
30
|
-
field :active, type: Boolean, default: true
|
31
|
-
field :created_by, type: BSON::ObjectId
|
32
|
-
field :updated_by, type: BSON::ObjectId
|
33
|
-
|
34
|
-
belongs_to :dc_site
|
35
|
-
has_many :dc_mail_addresses
|
36
|
-
|
37
|
-
index({ site_id: 1, name: 1 }, { unique: true })
|
38
|
-
|
39
|
-
validates_length_of :name, minimum: 5
|
40
|
-
validates_length_of :description, minimum: 10
|
41
|
-
|
42
|
-
def self.choices4_mail_list
|
43
|
-
rez = []
|
44
|
-
all.each { |list| rez << [list.name, list._id] if list.active }
|
45
|
-
rez
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|