add support for new attribute types

This commit is contained in:
Uwe Steinmann 2020-08-28 11:46:46 +02:00
parent 9117f8f64a
commit af792b52ad
2 changed files with 23 additions and 2 deletions

View File

@ -71,7 +71,7 @@ if ($action == "addattrdef") {
if($minvalues > $maxvalues) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max"));
}
if($multiple && $valueset == '') {
if($multiple && $valueset == '' && !in_array($type, array(SeedDMS_Core_AttributeDefinition::type_user, SeedDMS_Core_AttributeDefinition::type_group))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}
@ -148,7 +148,7 @@ else if ($action == "editattrdef") {
if($minvalues > $maxvalues) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_min_greater_max"));
}
if($multiple && $valueset == '') {
if($multiple && $valueset == '' && !in_array($type, array(SeedDMS_Core_AttributeDefinition::type_user, SeedDMS_Core_AttributeDefinition::type_group))) {
UI::exitError(getMLText("admin_tools"),getMLText("attrdef_multiple_needs_valueset"));
}

View File

@ -57,6 +57,7 @@ $(document).ready( function() {
$this->printDeleteDocumentButtonJs();
$this->printDeleteAttributeValueButtonJs();
$this->printClickDocumentJs();
$this->printClickFolderJs();
} /* }}} */
function info() { /* {{{ */
@ -217,6 +218,7 @@ $(document).ready( function() {
<label class="control-label"><?php printMLText("attrdef_type");?>:</label>
<div class="controls">
<select name="type">
<optgroup label="<?= getMLText('types_generic') ?>">
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_int ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_int) echo "selected"; ?>><?php printMLText('attrdef_type_int'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_float ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_float) echo "selected"; ?>><?php printMLText('attrdef_type_float'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_string ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_string) echo "selected"; ?>><?php printMLText('attrdef_type_string'); ?></option>
@ -224,6 +226,13 @@ $(document).ready( function() {
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_date ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_date) echo "selected"; ?>><?php printMLText('attrdef_type_date'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_email ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_email) echo "selected"; ?>><?php printMLText('attrdef_type_email'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_url ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_url) echo "selected"; ?>><?php printMLText('attrdef_type_url'); ?></option>
</optgroup>
<optgroup label="SeedDMS">
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_folder ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_folder) echo "selected"; ?>><?php printMLText('attrdef_type_folder'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_document ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_document) echo "selected"; ?>><?php printMLText('attrdef_type_document'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_user ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_user) echo "selected"; ?>><?php printMLText('attrdef_type_user'); ?></option>
<option value="<?php echo SeedDMS_Core_AttributeDefinition::type_group ?>" <?php if($attrdef && $attrdef->getType() == SeedDMS_Core_AttributeDefinition::type_group) echo "selected"; ?>><?php printMLText('attrdef_type_group'); ?></option>
</optgroup>
<?php
if($moreoptions = $this->callHook('additionalTypes', $attrdef)) {
foreach($moreoptions as $option) {
@ -354,6 +363,18 @@ $(document).ready( function() {
case SeedDMS_Core_AttributeDefinition::type_boolean:
$t = getMLText("attrdef_type_boolean");
break;
case SeedDMS_Core_AttributeDefinition::type_folder:
$t = getMLText("attrdef_type_folder");
break;
case SeedDMS_Core_AttributeDefinition::type_document:
$t = getMLText("attrdef_type_document");
break;
case SeedDMS_Core_AttributeDefinition::type_user:
$t = getMLText("attrdef_type_user");
break;
case SeedDMS_Core_AttributeDefinition::type_group:
$t = getMLText("attrdef_type_group");
break;
}
print "<option value=\"".$attrdef->getID()."\" ".($selattrdef && $attrdef->getID()==$selattrdef->getID() ? 'selected' : '')." data-subtitle=\"".htmlspecialchars($ot.", ".$t)."\">" . htmlspecialchars($attrdef->getName()/* ." (".$ot.", ".$t.")"*/);
}