rmails 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +15 -0
- data/Vagrantfile +1 -1
- data/app/assets/javascripts/controls/domains.coffee.erb +68 -75
- data/app/assets/javascripts/models/domain.coffee.erb +4 -3
- data/app/assets/stylesheets/application.sass +5 -13
- data/app/assets/stylesheets/base.css.sass +0 -4
- data/app/controllers/domains_controller.rb +1 -1
- data/app/models/virtual_domain.rb +6 -0
- data/app/models/virtual_user.rb +2 -2
- data/app/views/admin_users/first.html.haml +0 -1
- data/app/views/aliases/_templates.html.haml +29 -0
- data/app/views/domains/_templates.html.haml +71 -0
- data/app/views/domains/index.html.haml +9 -114
- data/app/views/users/_form.html.haml +4 -2
- data/app/views/users/_templates.html.haml +27 -0
- data/bin/rmails +14 -5
- data/config/locales/server/help/dovecot/cz.yml +4 -2
- data/config/locales/server/key/dovecot/en.yml +17 -17
- data/config/locales/views/aliases/cz.yml +3 -1
- data/config/locales/views/aliases/en.yml +20 -0
- data/config/locales/views/domains/cz.yml +1 -1
- data/config/locales/views/domains/en.yml +11 -10
- data/config/locales/views/server/cz.yml +1 -0
- data/config/locales/views/users/cz.yml +8 -2
- data/config/locales/views/users/en.yml +22 -0
- data/db/migrate/20121112201341_virtual_user.rb +0 -8
- data/lib/rmails/installer.rb +12 -3
- data/lib/rmails/version.rb +2 -2
- data/public/assets/{application-83367ef0d1b7ecb80fbc1ba279811151.js → application-3b8b925cdaedaadcce73613bb5c35985.js} +1 -1
- data/public/assets/{application-83367ef0d1b7ecb80fbc1ba279811151.js.gz → application-3b8b925cdaedaadcce73613bb5c35985.js.gz} +0 -0
- data/public/assets/application-ab23db04de6609ba65d1ee5a378d5735.css +1 -0
- data/public/assets/{application-7b6b5d175d26fb23a5584728dc35220f.css.gz → application-ab23db04de6609ba65d1ee5a378d5735.css.gz} +0 -0
- data/public/assets/application.css +1 -1
- data/public/assets/application.css.gz +0 -0
- data/public/assets/application.js +1 -1
- data/public/assets/application.js.gz +0 -0
- data/public/assets/manifest.yml +26 -26
- data/system/dist/rmails/Gemfile.2 +1 -0
- metadata +10 -6
- data/public/assets/application-7b6b5d175d26fb23a5584728dc35220f.css +0 -1
@@ -6,10 +6,8 @@
|
|
6
6
|
$(document).ready(function() { new window.Domains('#content', {}); });
|
7
7
|
|
8
8
|
|
9
|
-
= link_to
|
9
|
+
= link_to '#!new', :class => 'add-domain btn btn-large btn-inverse' do
|
10
10
|
%span= t '.create'
|
11
|
-
= link_to '#', :class => 'rm-domain btn btn-large btn-danger dn' do
|
12
|
-
%span= t '.reset'
|
13
11
|
|
14
12
|
%ul#domains.list
|
15
13
|
- @domains.each do |domain|
|
@@ -17,120 +15,17 @@
|
|
17
15
|
.item
|
18
16
|
.iconat @
|
19
17
|
.btn-group
|
20
|
-
= link_to t(".
|
18
|
+
= link_to t(".edit"), "#!edit/#{domain.id}", :class => 'label edit'
|
19
|
+
= link_to t(".delete"), "#!delete/#{domain.id}", :'data-msg' => t(".confirm"), :class => 'label label-warning rm'
|
21
20
|
.item-content
|
22
|
-
= link_to domain.name,
|
23
|
-
|
24
|
-
= link_to t(".
|
21
|
+
= link_to domain.name, "#!show/#{domain.id}", :class => 'item-label'
|
22
|
+
= link_to t(".manage"), "#!show/#{domain.id}", :class => 'label label-info manage'
|
23
|
+
= link_to t(".nomanage"), "#!hide/#{domain.id}", :class => 'label dn nomanage'
|
25
24
|
|
26
25
|
|
27
26
|
#domains_JSON.dn= @domains.to_json(:include => [:virtual_users, :virtual_aliases])
|
28
27
|
|
29
|
-
|
30
|
-
|
31
28
|
#EJS.dn
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
.iconat @
|
36
|
-
= render :partial => 'form', :locals => { :domain => domain_ejs_object }
|
37
|
-
.out
|
38
|
-
|
39
|
-
%script#domain_edit_EJS{"type" => "text/ejs"}
|
40
|
-
.iconat @
|
41
|
-
= render :partial => 'form', :locals => { :domain => domain_ejs_object }
|
42
|
-
.out
|
43
|
-
|
44
|
-
%script#domain_item_EJS{"type" => "text/ejs"}
|
45
|
-
.iconat @
|
46
|
-
.btn-group
|
47
|
-
= link_to t(".delete"), domain_path('{id}'), :method => :delete, :confirm => t(".confirm"), :class => 'label label-warning delete'
|
48
|
-
.item-content
|
49
|
-
%a{:href => "", :class => "item-label"}
|
50
|
-
:plain
|
51
|
-
<%= item.attr('name') %>
|
52
|
-
= link_to t(".manage"), domain_path('{id}'), :class => 'label label-info manage', :'data-inverse' => t(".nomanage")
|
53
|
-
|
54
|
-
%script#errors_EJS{"type" => "text/ejs"}
|
55
|
-
.errors
|
56
|
-
%h6= t('.errors')
|
57
|
-
:plain
|
58
|
-
<% for (attr in errors) { %>
|
59
|
-
<% list (errors[attr], function(error) { %>
|
60
|
-
<p><%= error %></p>
|
61
|
-
<% }) %>
|
62
|
-
<% } %>
|
63
|
-
|
64
|
-
%script#manage_area_EJS{"type" => "text/ejs"}
|
65
|
-
.item-content.out.row-fluid
|
66
|
-
.span5.users
|
67
|
-
%h4
|
68
|
-
%span.title= t('users.index.title')
|
69
|
-
%span.dn.title_new= t('users.index.title_new')
|
70
|
-
%span.dn.title_edit= t('users.index.title_edit')
|
71
|
-
.label-info.label.new-user=t 'users.form.create'
|
72
|
-
%table.table.table-condensed
|
73
|
-
.span5.aliases
|
74
|
-
%h4
|
75
|
-
%span.title= t('aliases.index.title')
|
76
|
-
%span.dn.title_new= t('aliases.index.title_new')
|
77
|
-
%span.dn.title_edit= t('aliases.index.title_edit')
|
78
|
-
.label-info.label.new-alias=t 'aliases.form.create'
|
79
|
-
%table.table.table-condensed
|
80
|
-
|
81
|
-
%script#aliass_each_EJS{"type" => "text/ejs"}
|
82
|
-
:plain
|
83
|
-
<% list (items, function(item, index) { %>
|
84
|
-
<tr id="alias_<%= index %>">
|
85
|
-
%td.tar
|
86
|
-
:plain
|
87
|
-
<%= item.source %>
|
88
|
-
%td
|
89
|
-
%b
|
90
|
-
:plain
|
91
|
-
@<%= domain_name %>
|
92
|
-
%i.icon-hand-right
|
93
|
-
%td
|
94
|
-
:plain
|
95
|
-
<%= item.destination %>
|
96
|
-
%td.tar
|
97
|
-
= link_to t(".edit"), edit_domain_alias_path('{domain_id}', '{id}'), :class => 'label edit-alias'
|
98
|
-
= link_to "×".html_safe, domain_alias_path('{domain_id}', '{id}'), :class => 'rm-alias', :title => t(".delete")
|
99
|
-
:plain
|
100
|
-
</tr>
|
101
|
-
<% }) %>
|
102
|
-
|
103
|
-
%script#aliass_tabr_EJS{"type" => "text/ejs"}
|
104
|
-
%tr.new
|
105
|
-
|
106
|
-
%script#aliass_form_EJS{"type" => "text/ejs"}
|
107
|
-
%td{:colspan => "4"}
|
108
|
-
= render :partial => '/aliases/form', :locals => { :virtual_alias => alias_ejs_object }
|
109
|
-
|
110
|
-
%script#vusers_each_EJS{"type" => "text/ejs"}
|
111
|
-
:plain
|
112
|
-
<% list (items, function(item, index) { %>
|
113
|
-
<tr id="user_<%= index %>">
|
114
|
-
%td
|
115
|
-
%i.icon-inbox
|
116
|
-
:plain
|
117
|
-
<%= item.email %>@<%= domain_name %>
|
118
|
-
%td
|
119
|
-
%i.icon-user
|
120
|
-
:plain
|
121
|
-
<%= item.name %>
|
122
|
-
%td.tar
|
123
|
-
= link_to t(".edit"), edit_domain_user_path('{domain_id}', '{id}'), :class => 'label edit-user'
|
124
|
-
= link_to "×".html_safe, domain_user_path('{domain_id}', '{id}'), :class => 'rm-user', :title => t(".delete")
|
125
|
-
|
126
|
-
:plain
|
127
|
-
</tr>
|
128
|
-
<% }) %>
|
129
|
-
|
130
|
-
%script#vusers_tabr_EJS{"type" => "text/ejs"}
|
131
|
-
%tr.new
|
132
|
-
|
133
|
-
%script#vusers_form_EJS{"type" => "text/ejs"}
|
134
|
-
%td{:colspan => "4"}
|
135
|
-
= render :partial => '/users/form', :locals => { :virtual_user => user_ejs_object }
|
136
|
-
|
29
|
+
= render :partial => '/domains/templates'
|
30
|
+
= render :partial => '/aliases/templates'
|
31
|
+
= render :partial => '/users/templates'
|
@@ -1,9 +1,11 @@
|
|
1
|
-
= simple_form_for virtual_user, :url => domain_users_path(@domain||'{domain_id}'), :method => :post do |f|
|
1
|
+
= simple_form_for virtual_user, :url => domain_users_path(@domain||'{domain_id}'), :method => :post, :html => { :class => 'form-horizontal'} do |f|
|
2
2
|
|
3
3
|
= f.input :name, :label => t('.name')
|
4
4
|
= f.input :email, :label => t('.email')
|
5
5
|
= f.input :password, :label => t('.password')
|
6
|
-
|
6
|
+
|
7
|
+
= f.input :quota_kb, :label => t('.quota_kb'), :hint => t('.no_limit')
|
8
|
+
= f.input :quota_messages, :label => t('.quota_messages'), :hint => t('.no_limit')
|
7
9
|
|
8
10
|
.actions
|
9
11
|
= f.button :button, t('.submit'), :type => 'submit', :class => 'btn-primary right'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
%script#vusers_each_EJS{"type" => "text/ejs"}
|
2
|
+
:plain
|
3
|
+
<% list (items, function(item, index) { %>
|
4
|
+
<tr id="user_<%= index %>">
|
5
|
+
%td
|
6
|
+
%i.icon-inbox
|
7
|
+
:plain
|
8
|
+
<%= item.email %>@<%= domain_name %>
|
9
|
+
%td
|
10
|
+
%i.icon-user
|
11
|
+
:plain
|
12
|
+
<%= item.name %>
|
13
|
+
%td.tar
|
14
|
+
= link_to t(".edit"), edit_domain_user_path('{domain_id}', '{id}'), :class => 'label edit-user'
|
15
|
+
= link_to "×".html_safe, domain_user_path('{domain_id}', '{id}'), :class => 'rm-user', :title => t(".delete")
|
16
|
+
|
17
|
+
:plain
|
18
|
+
</tr>
|
19
|
+
<% }) %>
|
20
|
+
|
21
|
+
%script#vusers_tabr_EJS{"type" => "text/ejs"}
|
22
|
+
%tr.new
|
23
|
+
|
24
|
+
%script#vusers_form_EJS{"type" => "text/ejs"}
|
25
|
+
%td{:colspan => "4"}
|
26
|
+
= render :partial => '/users/form', :locals => { :virtual_user => user_ejs_object }
|
27
|
+
|
data/bin/rmails
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
#/ Usage: rmails action
|
2
|
+
#/ Usage: rmails action [options]
|
3
3
|
#/
|
4
4
|
#/ Actions:
|
5
5
|
#/ --install
|
@@ -11,7 +11,10 @@
|
|
11
11
|
#/ --stop-app
|
12
12
|
#/ Stops server of configuration app.
|
13
13
|
#/ You may have to be root to run this.
|
14
|
-
|
14
|
+
#/ Options:
|
15
|
+
#/ --clear
|
16
|
+
#/ Truncate data in database.
|
17
|
+
#/
|
15
18
|
|
16
19
|
$stderr.sync = true
|
17
20
|
|
@@ -24,6 +27,8 @@ require 'rmails/runner'
|
|
24
27
|
install = false
|
25
28
|
start = false
|
26
29
|
stop = false
|
30
|
+
clear = false
|
31
|
+
|
27
32
|
|
28
33
|
# parse arguments
|
29
34
|
file = __FILE__
|
@@ -31,22 +36,26 @@ ARGV.options do |opts|
|
|
31
36
|
opts.on("--install") { |install| }
|
32
37
|
opts.on("--start-app") { |start| }
|
33
38
|
opts.on("--stop-app") { |stop| }
|
39
|
+
opts.on("--clear") { |clear| }
|
34
40
|
opts.on_tail("-h", "--help") { exec "grep ^#/<'#{file}'|cut -c4-" }
|
35
41
|
opts.parse!
|
36
42
|
end
|
37
43
|
|
38
44
|
|
39
|
-
if
|
45
|
+
if (start and stop) or
|
46
|
+
(install and (start or stop)) or
|
47
|
+
(not install and not start and not stop)
|
40
48
|
exec "grep ^#/<'#{file}'|cut -c4-"
|
49
|
+
end # bug that helps to have better condition
|
41
50
|
|
42
51
|
if install
|
43
|
-
|
52
|
+
puts install
|
53
|
+
setup = Rmails::Installer.new({:clear => clear})
|
44
54
|
setup.run
|
45
55
|
|
46
56
|
elsif start
|
47
57
|
app = Rmails::Runner.new
|
48
58
|
app.start
|
49
|
-
end
|
50
59
|
|
51
60
|
elsif stop
|
52
61
|
app = Rmails::Runner.new
|
@@ -6,8 +6,7 @@ cz:
|
|
6
6
|
auth_worker_max_count: Maximum number of dovecot-auth worker processes. They're used to execute blocking passdb and userdb queries (eg. MySQL and PAM). They're automatically created and destroyed as needed.
|
7
7
|
auth_mechanisms: Space separated list of wanted authentication mechanisms (plain login digest-md5 cram-md5 ntlm rpa apop anonymous gssapi otp skey gss-spnego).
|
8
8
|
auth_verbose: Log unsuccessful authentication attempts and the reasons why they failed.
|
9
|
-
mail_cache_min_mail_count:
|
10
|
-
|
9
|
+
mail_cache_min_mail_count: Minimální počet zpráv ve schránce, který předchází aktualizaci souboru mezipaměti. Jedná se o optimalizaci pro menší počet zápisů na disk za cenu většího počtu čtení z disku.
|
11
10
|
postmaster_address: Address to use when sending rejection mails.
|
12
11
|
|
13
12
|
quota_full_tempfail: If user is over quota, return with temporary failure instead of bouncing the mail.
|
@@ -16,6 +15,9 @@ cz:
|
|
16
15
|
rejection_reason: Human readable error message for rejection mails.
|
17
16
|
rejection_variables: "%n = CRLF, %r = reason, %s = original subject, %t = recipient"
|
18
17
|
|
18
|
+
storage_size: Maximální velikost pro doručenou poštu.
|
19
|
+
storage_trash: Maximální velikost pro dočasné uložení smazaných zpráv. Připočítává se k celkové velikosti schránky.
|
20
|
+
storage_spam: Maximální velikost pro nevyžádanou poštu. Připočítává se k celkové velikosti schránky.
|
19
21
|
|
20
22
|
|
21
23
|
|
@@ -1,20 +1,20 @@
|
|
1
1
|
en:
|
2
2
|
server:
|
3
3
|
key:
|
4
|
-
disable_plaintext_auth:
|
5
|
-
auth_username_chars:
|
6
|
-
auth_worker_max_count:
|
7
|
-
auth_verbose:
|
8
|
-
mail_cache_min_mail_count:
|
9
|
-
imap_login__listener__port:
|
10
|
-
imaps_login__listener__port:
|
11
|
-
pop3_login_listener_port:
|
12
|
-
pop3s_login__listener__port:
|
13
|
-
imap__process_limit:
|
14
|
-
pop3__process_limit:
|
15
|
-
quota_full_tempfail:
|
16
|
-
rejection_subject:
|
17
|
-
rejection_reason:
|
18
|
-
storage_size:
|
19
|
-
storage_trash:
|
20
|
-
storage_spam:
|
4
|
+
disable_plaintext_auth: Disable authentication without encryption
|
5
|
+
auth_username_chars: Allowed characters in a user's name
|
6
|
+
auth_worker_max_count: Maximum number oflogin process
|
7
|
+
auth_verbose: Detailed loging of authentication
|
8
|
+
mail_cache_min_mail_count: Minimum number of emails before updating the cache
|
9
|
+
imap_login__listener__port: IMAP port
|
10
|
+
imaps_login__listener__port: IMAPs port
|
11
|
+
pop3_login_listener_port: POP3 port
|
12
|
+
pop3s_login__listener__port: POP3s port
|
13
|
+
imap__process_limit: Maximum number of connected IMAP clients
|
14
|
+
pop3__process_limit: Maximum number of connected POP3 clients
|
15
|
+
quota_full_tempfail: Notification method to a full mailbox
|
16
|
+
rejection_subject: Subject of rejection
|
17
|
+
rejection_reason: Reason for rejection
|
18
|
+
storage_size: Mailbox size
|
19
|
+
storage_trash: Size bin
|
20
|
+
storage_spam: Size SPAM
|
@@ -1,10 +1,12 @@
|
|
1
1
|
cz:
|
2
2
|
aliases:
|
3
|
+
templates:
|
4
|
+
delete: Odstranit
|
5
|
+
edit: Upravit
|
3
6
|
index:
|
4
7
|
title: Přesměrování
|
5
8
|
title_new: Vytvořit nové přesměrování
|
6
9
|
title_edit: Upravit přesměrování
|
7
|
-
edit: Upravit
|
8
10
|
delete: Odstranit
|
9
11
|
create: Přidat přesměrování
|
10
12
|
confirm: Opravdu chcete odstranit toto přesměrování?
|
@@ -1 +1,21 @@
|
|
1
1
|
en:
|
2
|
+
aliases:
|
3
|
+
templates:
|
4
|
+
delete: Delete
|
5
|
+
edit: Edit
|
6
|
+
index:
|
7
|
+
title: Forwarding
|
8
|
+
title_new: Creating forwarding
|
9
|
+
title_edit: Editting forwarding
|
10
|
+
delete: Delete
|
11
|
+
create: Add new
|
12
|
+
confirm: This will be deleted. Are You sure?
|
13
|
+
errors: There were some input errors.
|
14
|
+
form:
|
15
|
+
source: What
|
16
|
+
destination: Where
|
17
|
+
create: Create
|
18
|
+
submit: Save
|
19
|
+
reset: Cancel
|
20
|
+
source_hint: Mailbox name or *
|
21
|
+
dest_hint: Separate emails with the Enter key
|
@@ -1,15 +1,16 @@
|
|
1
1
|
en:
|
2
2
|
domains:
|
3
3
|
index:
|
4
|
-
title:
|
5
|
-
edit:
|
6
|
-
delete:
|
7
|
-
manage:
|
8
|
-
nomanage:
|
9
|
-
create:
|
10
|
-
confirm:
|
4
|
+
title: Domains, emails and forwarding
|
5
|
+
edit: Edit
|
6
|
+
delete: Delete
|
7
|
+
manage: Show
|
8
|
+
nomanage: Hide
|
9
|
+
create: Add domain
|
10
|
+
confirm: Do you really want to delete the domain?
|
11
11
|
errors: Byly objeveny chybné vstupní hodnoty.
|
12
12
|
form:
|
13
|
-
name:
|
14
|
-
create:
|
15
|
-
reset:
|
13
|
+
name: Domain name
|
14
|
+
create: Create domain
|
15
|
+
reset: Cancel
|
16
|
+
no_limit: 0 is unlimited
|
@@ -23,6 +23,7 @@ cz:
|
|
23
23
|
certificates: Certifikáty
|
24
24
|
|
25
25
|
status:
|
26
|
+
warning: Varování
|
26
27
|
save_info: Provedení změn na serveru
|
27
28
|
submit_button: Aplikovat změny do nastavení serveru a restartovat služby
|
28
29
|
unsaved_warning: Systém našel neuplatněné změny v nastavení. Oranžově označené nastavení má změněnou, ale neuloženou hodnotu.
|
@@ -4,8 +4,6 @@ cz:
|
|
4
4
|
title: Schránky
|
5
5
|
title_new: Vytvořit novou schránku
|
6
6
|
title_edit: Upravit schránku
|
7
|
-
edit: Upravit
|
8
|
-
delete: Odstranit
|
9
7
|
create: Přidat shcránku
|
10
8
|
confirm: Opravdu chcete schránku odstranit?
|
11
9
|
|
@@ -16,4 +14,12 @@ cz:
|
|
16
14
|
password_confirmation: Potvrzení hesla
|
17
15
|
create: Vytvořit
|
18
16
|
submit: Uložit
|
17
|
+
no_limit: 0 znamená neomezeno
|
19
18
|
reset: Storno
|
19
|
+
quota_kb: Velikost schránky (B)
|
20
|
+
quota_messages: Limit počtu zpráv
|
21
|
+
|
22
|
+
templates:
|
23
|
+
delete: Odstranit
|
24
|
+
edit: Upravit
|
25
|
+
|
@@ -1 +1,23 @@
|
|
1
1
|
en:
|
2
|
+
users:
|
3
|
+
index:
|
4
|
+
title: Users/Mailboxes
|
5
|
+
manage: Show
|
6
|
+
nomanage: Hide
|
7
|
+
create: Add new
|
8
|
+
confirm: This will be deleted. Are You sure?
|
9
|
+
errors: There were some input errors.
|
10
|
+
form:
|
11
|
+
name: Name
|
12
|
+
email: Email
|
13
|
+
password: Password
|
14
|
+
create: Create
|
15
|
+
submit: Save
|
16
|
+
reset: Cancel
|
17
|
+
no_limit: 0 is unlimited
|
18
|
+
quota_kb: Mailbox size quota
|
19
|
+
quota_messages: Messages count qouta
|
20
|
+
templates:
|
21
|
+
delete: Delete
|
22
|
+
edit: Edit
|
23
|
+
|
@@ -16,14 +16,6 @@ class VirtualUser < ActiveRecord::Migration
|
|
16
16
|
t.string :reset_password_token
|
17
17
|
t.datetime :reset_password_sent_at
|
18
18
|
|
19
|
-
## Trackable
|
20
|
-
t.integer :sign_in_count, :default => 0
|
21
|
-
t.datetime :current_sign_in_at
|
22
|
-
t.datetime :last_sign_in_at
|
23
|
-
t.string :current_sign_in_ip
|
24
|
-
t.string :last_sign_in_ip
|
25
|
-
|
26
|
-
|
27
19
|
t.integer :quota_kb, :default => 10485760 # 10M
|
28
20
|
t.integer :quota_messages, :default => 0
|
29
21
|
|
data/lib/rmails/installer.rb
CHANGED
@@ -7,9 +7,10 @@ end
|
|
7
7
|
|
8
8
|
module Rmails
|
9
9
|
class Installer
|
10
|
-
def initialize
|
11
|
-
@passwords
|
12
|
-
@
|
10
|
+
def initialize(params={})
|
11
|
+
@passwords = params[:passwords]||[]
|
12
|
+
@clear = params[:clear]
|
13
|
+
@interpreter = AutomateIt.new(:project => "system")
|
13
14
|
@interpreter.include_in(self)
|
14
15
|
@interpreter.set :rake_task, Rake::Task
|
15
16
|
@interpreter.set :rails_root, Rails.root
|
@@ -21,6 +22,11 @@ module Rmails
|
|
21
22
|
Bundler.with_clean_env do
|
22
23
|
@interpreter.shell_manager.sh("bundle install --without development assets")
|
23
24
|
end
|
25
|
+
if @clear
|
26
|
+
puts '!! Going to TRUNCATE database'
|
27
|
+
else
|
28
|
+
@interpreter.shell_manager.sh("rake db:data:dump")
|
29
|
+
end
|
24
30
|
@interpreter.invoke '02_setup_database'
|
25
31
|
@interpreter.invoke '03_setup_postfix'
|
26
32
|
@interpreter.invoke '04_setup_dovecot'
|
@@ -30,6 +36,9 @@ module Rmails
|
|
30
36
|
@interpreter.invoke '08_setup_spamassassin'
|
31
37
|
@interpreter.invoke '09_setup_awstats'
|
32
38
|
@interpreter.invoke 'XX_start_services'
|
39
|
+
unless @clear
|
40
|
+
@interpreter.shell_manager.sh("rake db:data:load")
|
41
|
+
end
|
33
42
|
end
|
34
43
|
end
|
35
44
|
end
|