Add required checkbox to custom fields
This commit is contained in:
parent
428e558108
commit
1914591f46
3 changed files with 15 additions and 5 deletions
|
@ -173,7 +173,7 @@ export default class CUD extends Component {
|
||||||
data.orderManageBefore = Number.parseInt(data.orderManageBefore) || data.orderManageBefore;
|
data.orderManageBefore = Number.parseInt(data.orderManageBefore) || data.orderManageBefore;
|
||||||
}
|
}
|
||||||
|
|
||||||
return filterData(data, ['name', 'help', 'key', 'default_value', 'type', 'group', 'settings',
|
return filterData(data, ['name', 'help', 'key', 'default_value', 'required', 'type', 'group', 'settings',
|
||||||
'orderListBefore', 'orderSubscribeBefore', 'orderManageBefore']);
|
'orderListBefore', 'orderSubscribeBefore', 'orderManageBefore']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -187,6 +187,7 @@ export default class CUD extends Component {
|
||||||
type: 'text',
|
type: 'text',
|
||||||
key: '',
|
key: '',
|
||||||
default_value: '',
|
default_value: '',
|
||||||
|
required: false,
|
||||||
help: '',
|
help: '',
|
||||||
group: null,
|
group: null,
|
||||||
isInGroup: false,
|
isInGroup: false,
|
||||||
|
@ -513,6 +514,8 @@ export default class CUD extends Component {
|
||||||
|
|
||||||
<TextArea id="help" label={t('helpText')}/>
|
<TextArea id="help" label={t('helpText')}/>
|
||||||
|
|
||||||
|
<CheckBox id="required" label={'Required'}/>
|
||||||
|
|
||||||
{fieldSettings}
|
{fieldSettings}
|
||||||
|
|
||||||
{type !== 'option' &&
|
{type !== 'option' &&
|
||||||
|
|
|
@ -19,9 +19,8 @@ const { getMergeTagsForBases } = require('../../shared/templates');
|
||||||
const {ListActivityType} = require('../../shared/activity-log');
|
const {ListActivityType} = require('../../shared/activity-log');
|
||||||
const activityLog = require('../lib/activity-log');
|
const activityLog = require('../lib/activity-log');
|
||||||
|
|
||||||
|
const allowedKeysCreate = new Set(['name', 'help', 'key', 'default_value', 'required', 'type', 'group', 'settings']);
|
||||||
const allowedKeysCreate = new Set(['name', 'help', 'key', 'default_value', 'type', 'group', 'settings']);
|
const allowedKeysUpdate = new Set(['name', 'help', 'key', 'default_value', 'required', 'group', 'settings']);
|
||||||
const allowedKeysUpdate = new Set(['name', 'help', 'key', 'default_value', 'group', 'settings']);
|
|
||||||
const hashKeys = allowedKeysCreate;
|
const hashKeys = allowedKeysCreate;
|
||||||
|
|
||||||
const fieldTypes = {};
|
const fieldTypes = {};
|
||||||
|
@ -304,7 +303,7 @@ async function getById(context, listId, id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function listTx(tx, listId) {
|
async function listTx(tx, listId) {
|
||||||
return await tx('custom_fields').where({list: listId}).select(['id', 'name', 'type', 'help', 'key', 'column', 'settings', 'group', 'default_value', 'order_list', 'order_subscribe', 'order_manage']).orderBy(knex.raw('-order_list'), 'desc').orderBy('id', 'asc');
|
return await tx('custom_fields').where({list: listId}).select(['id', 'name', 'type', 'help', 'key', 'column', 'settings', 'group', 'default_value', 'required', 'order_list', 'order_subscribe', 'order_manage']).orderBy(knex.raw('-order_list'), 'desc').orderBy('id', 'asc');
|
||||||
}
|
}
|
||||||
|
|
||||||
async function list(context, listId) {
|
async function list(context, listId) {
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
exports.up = (knex, Promise) => (async() => {
|
||||||
|
await knex.schema.table('custom_fields', function(t) {
|
||||||
|
t.boolean('required').notNull().defaultTo(0).after('default_value');
|
||||||
|
});
|
||||||
|
})();
|
||||||
|
|
||||||
|
exports.down = (knex, Promise) => (async() => {
|
||||||
|
})();
|
Loading…
Reference in a new issue