Fixed issue#428 - Switching storage provider for attachments in UI has no effect.
This commit is contained in:
parent
be3ee48a3c
commit
15975eaaf7
5 changed files with 60 additions and 5 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
class App.SettingsAreaStorageProvider extends App.SettingsAreaItem
|
||||||
|
template: 'settings/storage_provider'
|
|
@ -0,0 +1,22 @@
|
||||||
|
<form class="settings-entry" id="<%= @setting.name %>">
|
||||||
|
<h2><%- @T(@setting.title) %></h2>
|
||||||
|
<p class="help-text"><%- @T('You can switch between the backend for new attachments even on a system that is already in production without any loss of data.') %></p>
|
||||||
|
<p class="help-text"><%- @T('If you want to move already stored attachments from one backend to another, you need to execute the following via console.') %></p>
|
||||||
|
</p>
|
||||||
|
<p class="help-text"><%- @T('Move all from "%s" to "%s"', 'filesystem', 'database') %>:</p>
|
||||||
|
</p>
|
||||||
|
<code>
|
||||||
|
rails> Store::File.move('File', 'DB')
|
||||||
|
</code>
|
||||||
|
<p class="help-text"><%- @T('Move all from "%s" to "%s"', 'database', 'filesystem') %>:</p>
|
||||||
|
</p>
|
||||||
|
<code>
|
||||||
|
rails> Store::File.move('DB', 'File')
|
||||||
|
</code>
|
||||||
|
<br>
|
||||||
|
<br>
|
||||||
|
<div class="horizontal end">
|
||||||
|
<div class="form-item flex"></div>
|
||||||
|
<button type="submit" class="btn btn--primary"><%- @T('Submit') %></button>
|
||||||
|
</div>
|
||||||
|
</form>
|
|
@ -1,7 +1,6 @@
|
||||||
<form class="settings-entry" id="<%= @setting.name %>">
|
<form class="settings-entry" id="<%= @setting.name %>">
|
||||||
<h2><%- @T(@setting.title) %></h2>
|
<h2><%- @T(@setting.title) %></h2>
|
||||||
<p class="help-text">
|
<p class="help-text"><%- @T('The format of the subject.') %></p>
|
||||||
<%- @T('The format of the subject.') %>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><%- @T('|Right| means |Some Subject [Ticket#12345]|') %>
|
<li><%- @T('|Right| means |Some Subject [Ticket#12345]|') %>
|
||||||
<li><%- @T('|Left| means |[Ticket#12345] Some Subject|') %>
|
<li><%- @T('|Left| means |[Ticket#12345] Some Subject|') %>
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
class StoreConfigNameUpdateIssue428 < ActiveRecord::Migration
|
||||||
|
def up
|
||||||
|
# return if it's a new setup
|
||||||
|
return if !Setting.find_by(name: 'system_init_done')
|
||||||
|
setting = Setting.find_by(name: 'storage')
|
||||||
|
return if !Setting
|
||||||
|
setting.name = 'storage_provider'
|
||||||
|
setting.options = {
|
||||||
|
form: [
|
||||||
|
{
|
||||||
|
display: '',
|
||||||
|
null: true,
|
||||||
|
name: 'storage_provider',
|
||||||
|
tag: 'select',
|
||||||
|
tranlate: true,
|
||||||
|
options: {
|
||||||
|
'DB' => 'Database',
|
||||||
|
'File' => 'Filesystem',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
setting.preferences = {
|
||||||
|
controller: 'SettingsAreaStorageProvider',
|
||||||
|
online_service_disable: true,
|
||||||
|
permission: ['admin.system'],
|
||||||
|
}
|
||||||
|
setting.save!
|
||||||
|
end
|
||||||
|
end
|
|
@ -259,7 +259,7 @@ Setting.create_if_not_exists(
|
||||||
|
|
||||||
Setting.create_if_not_exists(
|
Setting.create_if_not_exists(
|
||||||
title: 'Storage Mechanism',
|
title: 'Storage Mechanism',
|
||||||
name: 'storage',
|
name: 'storage_provider',
|
||||||
area: 'System::Storage',
|
area: 'System::Storage',
|
||||||
description: '"Database" stores all attachments in the database (not recommended for storing large amounts of data). "Filesystem" stores the data on the filesystem. You can switch between the modules even on a system that is already in production without any loss of data.',
|
description: '"Database" stores all attachments in the database (not recommended for storing large amounts of data). "Filesystem" stores the data on the filesystem. You can switch between the modules even on a system that is already in production without any loss of data.',
|
||||||
options: {
|
options: {
|
||||||
|
@ -267,17 +267,19 @@ Setting.create_if_not_exists(
|
||||||
{
|
{
|
||||||
display: '',
|
display: '',
|
||||||
null: true,
|
null: true,
|
||||||
name: 'storage',
|
name: 'storage_provider',
|
||||||
tag: 'select',
|
tag: 'select',
|
||||||
|
tranlate: true,
|
||||||
options: {
|
options: {
|
||||||
'DB' => 'Database',
|
'DB' => 'Database',
|
||||||
'FS' => 'Filesystem',
|
'File' => 'Filesystem',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
state: 'DB',
|
state: 'DB',
|
||||||
preferences: {
|
preferences: {
|
||||||
|
controller: 'SettingsAreaStorageProvider',
|
||||||
online_service_disable: true,
|
online_service_disable: true,
|
||||||
permission: ['admin.system'],
|
permission: ['admin.system'],
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in a new issue