Added description to custom fields
This commit is contained in:
parent
f661ba8a6b
commit
cdaf4b0b16
7 changed files with 43 additions and 6 deletions
|
@ -9,7 +9,7 @@ let Handlebars = require('handlebars');
|
|||
let _ = require('../translate')._;
|
||||
let util = require('util');
|
||||
|
||||
let allowedKeys = ['name', 'key', 'default_value', 'group', 'group_template', 'visible'];
|
||||
let allowedKeys = ['name', 'description', 'key', 'default_value', 'group', 'group_template', 'visible'];
|
||||
let allowedTypes;
|
||||
|
||||
module.exports.grouped = ['radio', 'checkbox', 'dropdown'];
|
||||
|
@ -133,10 +133,11 @@ module.exports.create = (listId, field, callback) => {
|
|||
field.group = null;
|
||||
}
|
||||
|
||||
field.description = (field.description || '').toString().trim() || null;
|
||||
field.defaultValue = (field.defaultValue || '').toString().trim() || null;
|
||||
field.groupTemplate = (field.groupTemplate || '').toString().trim() || null;
|
||||
|
||||
addCustomField(listId, field.name, field.defaultValue, field.type, field.group, field.groupTemplate, field.visible, callback);
|
||||
addCustomField(listId, field.name, field.description, field.defaultValue, field.type, field.group, field.groupTemplate, field.visible, callback);
|
||||
};
|
||||
|
||||
module.exports.update = (id, updates, callback) => {
|
||||
|
@ -157,6 +158,7 @@ module.exports.update = (id, updates, callback) => {
|
|||
updates.key = slugify(updates.key, '_').toUpperCase();
|
||||
}
|
||||
|
||||
updates.description = (updates.description || '').toString().trim() || null;
|
||||
updates.defaultValue = (updates.defaultValue || '').toString().trim() || null;
|
||||
updates.groupTemplate = (updates.groupTemplate || '').toString().trim() || null;
|
||||
|
||||
|
@ -277,7 +279,7 @@ module.exports.delete = (fieldId, callback) => {
|
|||
});
|
||||
};
|
||||
|
||||
function addCustomField(listId, name, defaultValue, type, group, groupTemplate, visible, callback) {
|
||||
function addCustomField(listId, name, description, defaultValue, type, group, groupTemplate, visible, callback) {
|
||||
type = (type || '').toString().trim().toLowerCase();
|
||||
group = Number(group) || null;
|
||||
listId = Number(listId) || 0;
|
||||
|
@ -314,8 +316,8 @@ function addCustomField(listId, name, defaultValue, type, group, groupTemplate,
|
|||
column = ('custom_' + slugify(name, '_') + '_' + shortid.generate()).toLowerCase().replace(/[^a-z0-9_]/g, '');
|
||||
}
|
||||
|
||||
let query = 'INSERT INTO custom_fields (`list`, `name`, `key`,`default_value`, `type`, `group`, `group_template`, `column`, `visible`) VALUES(?,?,?,?,?,?,?,?,?)';
|
||||
connection.query(query, [listId, name, key, defaultValue, type, group, groupTemplate, column, visible ? 1 : 0], (err, result) => {
|
||||
let query = 'INSERT INTO custom_fields (`list`, `name`, `description`, `key`,`default_value`, `type`, `group`, `group_template`, `column`, `visible`) VALUES(?,?,?,?,?,?,?,?,?,?)';
|
||||
connection.query(query, [listId, name, description, key, defaultValue, type, group, groupTemplate, column, visible ? 1 : 0], (err, result) => {
|
||||
|
||||
if (err) {
|
||||
connection.release();
|
||||
|
@ -409,6 +411,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
id: field.id,
|
||||
type: field.type,
|
||||
name: field.name,
|
||||
description: field.description,
|
||||
column: field.column,
|
||||
value: (valueList[field.column] || '').toString().trim(),
|
||||
visible: !!field.visible,
|
||||
|
@ -439,6 +442,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
id: field.id,
|
||||
type: field.type,
|
||||
name: field.name,
|
||||
description: field.description,
|
||||
column: field.column,
|
||||
value: (valueList[field.column] || '').toString().trim(),
|
||||
visible: !!field.visible,
|
||||
|
@ -455,6 +459,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
id: field.id,
|
||||
type: field.type,
|
||||
name: field.name,
|
||||
description: field.description,
|
||||
column: field.column,
|
||||
value: Number(valueList[field.column]) || 0,
|
||||
visible: !!field.visible,
|
||||
|
@ -474,6 +479,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
id: field.id,
|
||||
type: field.type,
|
||||
name: field.name,
|
||||
description: field.description,
|
||||
visible: !!field.visible,
|
||||
key: 'group-g' + field.id,
|
||||
mergeTag: field.key,
|
||||
|
@ -495,6 +501,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
return {
|
||||
type: subField.type,
|
||||
name: subField.name,
|
||||
description: subField.description,
|
||||
column: subField.column,
|
||||
value: valueList[subField.column] ? 1 : 0,
|
||||
visible: !!subField.visible,
|
||||
|
@ -572,6 +579,7 @@ module.exports.getRow = (fieldList, values, useDate, showAll, onlyExisting) => {
|
|||
id: field.id,
|
||||
type: field.type,
|
||||
name: field.name,
|
||||
description: field.description,
|
||||
column: field.column,
|
||||
value: useDate ? value : formatted,
|
||||
visible: !!field.visible,
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{
|
||||
"schemaVersion": 33
|
||||
"schemaVersion": 34
|
||||
}
|
||||
|
|
|
@ -419,6 +419,7 @@ router.post('/field/:listId', (req, res) => {
|
|||
|
||||
let field = {
|
||||
name: (input.NAME || '').toString().trim(),
|
||||
description: (input.DESCRIPTION || '').toString().trim(),
|
||||
defaultValue: (input.DEFAULT || '').toString().trim() || null,
|
||||
type: (input.TYPE || '').toString().toLowerCase().trim(),
|
||||
group: Number(input.GROUP) || null,
|
||||
|
|
11
setup/sql/upgrade-00034.sql
Normal file
11
setup/sql/upgrade-00034.sql
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Header section
|
||||
# Define incrementing schema version number
|
||||
SET @schema_version = '34';
|
||||
|
||||
# Add template field for group elements
|
||||
ALTER TABLE `custom_fields` ADD COLUMN `description` text AFTER `name`;
|
||||
|
||||
# Footer section
|
||||
LOCK TABLES `settings` WRITE;
|
||||
INSERT INTO `settings` (`key`, `value`) VALUES('db_schema_version', @schema_version) ON DUPLICATE KEY UPDATE `value`=@schema_version;
|
||||
UNLOCK TABLES;
|
|
@ -19,6 +19,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description" class="col-sm-2 control-label">{{#translate}}Field Description{{/translate}}</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control gpg-text" rows="3" name="description" id="description">{{field.description}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="type" class="col-sm-2 control-label">{{#translate}}Field Type{{/translate}}</label>
|
||||
<div class="col-sm-10">
|
||||
|
|
|
@ -26,6 +26,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="description" class="col-sm-2 control-label">{{#translate}}Field Description{{/translate}}</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control gpg-text" rows="3" name="description" id="description">{{field.description}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="type" class="col-sm-2 control-label">{{#translate}}Field Type{{/translate}}</label>
|
||||
<div class="col-sm-10">
|
||||
|
|
|
@ -134,9 +134,12 @@
|
|||
<label>{{name}}</label>
|
||||
<input type="hidden" name="origin_{{key}}" value="webform">
|
||||
{{#each options}}
|
||||
<p>
|
||||
<label class="label-checkbox">
|
||||
<input type="checkbox" name="{{column}}" value="1" {{#if value}} checked {{/if}}> {{name}}
|
||||
</label>
|
||||
<span class="help-block">{{description}}</span>
|
||||
</p>
|
||||
{{/each}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
|
Loading…
Reference in a new issue