'maxfilesize',
$maxFileSize * 1024 * 1024
);
- $form->addElement('text', "attachDesc_$i", ts('Description'), 'size=40 maxlength=255');
+ $form->addElement('text', "attachDesc_$i", NULL, array('size' => 40, 'maxlength' => 255, 'placeholder' => ts('Description')));
if (!empty($tags)) {
$form->add('select', "tag_$i", ts('Tags'), $tags, FALSE,
- array('id' => "tags_$i", 'multiple' => 'multiple', 'class' => 'crm-select2')
+ array('id' => "tags_$i", 'multiple' => 'multiple', 'class' => 'huge crm-select2', 'placeholder' => ts('- none -'))
);
}
+ CRM_Core_Form_Tag::buildQuickForm($form, $parentNames, 'civicrm_file', NULL, FALSE, TRUE, "file_taglist_$i");
}
-
- // build tagset widget
- CRM_Core_Form_Tag::buildQuickForm($form, $parentNames, 'civicrm_file', NULL, TRUE, TRUE);
}
/**
$attachName = "attachFile_$i";
$attachDesc = "attachDesc_$i";
$attachTags = "tag_$i";
- $attachFreeTags = "attachment_taglist_$i";
+ $attachFreeTags = "file_taglist_$i";
if (isset($formValues[$attachName]) && !empty($formValues[$attachName])) {
// add static tags if selects
$tagParams = array();
*/
public $urlPath = array();
- protected $unsavedWarn;
-
/**
* constants for attributes for various form elements
* attempt to standardize on the number of variations that we
$form->assign("isTagset", FALSE);
$mode = NULL;
- foreach ($parentNames as & $parentNameItem) {
+ foreach ($parentNames as &$parentNameItem) {
// get the parent id for tag list input for keyword
$parentId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Tag', $parentNameItem, 'id', 'name');
// check if parent exists
if ($parentId) {
- $tagsetItem = 'parentId_' . $parentId;
- $tagset[$tagsetItem]['skipEntityAction'] = $skipEntityAction;
+ $tagsetItem = $tagsetElementName . 'parentId_' . $parentId;
$tagset[$tagsetItem]['parentID'] = $parentId;
- // Fixme: these 3 variables may be unused
- $tagset[$tagsetItem]['parentName'] = $parentNameItem;
- $tagset[$tagsetItem]['entityTable'] = $entityTable;
- $tagset[$tagsetItem]['skipTagCreate'] = $skipTagCreate;
-
- switch ($entityTable) {
- case 'civicrm_activity':
- $tagsetElementName = "activity_taglist";
- $mode = 'activity';
- break;
-
- case 'civicrm_case':
- $tagsetElementName = "case_taglist";
- $mode = 'case';
- break;
-
- case 'civicrm_file':
- $mode = 'attachment';
- break;
-
- default:
- $tagsetElementName = "contact_taglist";
- $mode = 'contact';
+ list(, $mode) = explode('_', $entityTable);
+ if (!$tagsetElementName) {
+ $tagsetElementName = $mode . "_taglist";
}
-
$tagset[$tagsetItem]['tagsetElementName'] = $tagsetElementName;
- if ($tagsetElementName) {
- $form->addEntityRef("{$tagsetElementName}[{$parentId}]", $parentNameItem, array(
- 'entity' => 'tag',
- 'multiple' => TRUE,
- 'create' => !$skipTagCreate,
- 'api' => array('params' => array('parent_id' => $parentId)),
- 'data-entity_table' => $entityTable,
- 'data-entity_id' => $entityId,
- 'class' => "crm-$mode-tagset",
- ));
- }
+
+ $form->addEntityRef("{$tagsetElementName}[{$parentId}]", $parentNameItem, array(
+ 'entity' => 'tag',
+ 'multiple' => TRUE,
+ 'create' => !$skipTagCreate,
+ 'api' => array('params' => array('parent_id' => $parentId)),
+ 'data-entity_table' => $entityTable,
+ 'data-entity_id' => $entityId,
+ 'class' => "crm-$mode-tagset",
+ ));
if ($entityId) {
$tagset[$tagsetItem]['entityId'] = $entityId;
else {
$skipEntityAction = TRUE;
}
+ $tagset[$tagsetItem]['skipEntityAction'] = $skipEntityAction;
}
}
// assign current tagsets which is used in postProcess
$form->_tagsetInfo = $tagset;
$form->assign("tagsetType", $mode);
+ // Merge this tagset info with possibly existing info in the template
$tagsetInfo = (array) $form->get_template_vars("tagsetInfo");
- $tagsetInfo[$mode] = $tagset;
+ if (empty($tagsetInfo[$mode])) {
+ $tagsetInfo[$mode] = array();
+ }
+ $tagsetInfo[$mode] = array_merge($tagsetInfo[$mode], $tagset);
$form->assign("tagsetInfo", $tagsetInfo);
$form->assign("isTagset", TRUE);
}
</tr>
{if $form.tag_1.html}
<tr>
- <td></td>
- <td><label>{$form.tag_1.label}</label> <div class="crm-select-container crm-attachment-tags">{$form.tag_1.html}</div></td>
+ <td class="label">{$form.tag_1.label}</td>
+ <td><div class="crm-select-container crm-attachment-tags">{$form.tag_1.html}</div></td>
</tr>
{/if}
- {if $tagsetInfo.attachment}
- <tr><td></td><td>{include file="CRM/common/Tagset.tpl" tagsetType='attachment' tagsetNumber=1 }</td></tr>
+ {if $tagsetInfo.file}
+ <tr>{include file="CRM/common/Tagset.tpl" tagsetType='file' tableLayout=true tagsetElementName="file_taglist_1"}</tr>
{/if}
{section name=attachLoop start=2 loop=$numAttachments+1}
{assign var=index value=$smarty.section.attachLoop.index}
<td>{$form.$attachName.html} {$form.$attachDesc.html}<a href="#" class="crm-hover-button" title="{ts}Clear{/ts}" onclick="clearAttachment( '#{$attachName}' ); return false;"><span class="icon close-icon"></span></a></td>
</tr>
<tr>
- <td></td>
- <td><label>{$form.$tagElement.label}</label> <div class="crm-select-container crm-attachment-tags">{$form.$tagElement.html}</div></td>
+ <td class="label">{$form.$tagElement.label}</td>
+ <td><div class="crm-select-container crm-attachment-tags">{$form.$tagElement.html}</div></td>
</tr>
- {if $tagsetInfo.attachment}
- <tr><td></td><td>{include file="CRM/common/Tagset.tpl" tagsetType='attachment' tagsetNumber=$index}</td></tr>
+ {if $tagsetInfo.file}
+ <tr>{include file="CRM/common/Tagset.tpl" tagsetType='file' tableLayout=true tagsetElementName="file_taglist_$index"}</tr>
{/if}
{/section}
{/if}
{foreach from=$tagsetInfo.$tagsetType item=tagset}
{assign var="elemName" value=$tagset.tagsetElementName}
- {assign var="parID" value=$tagset.parentID}
- {assign var="skipEntityAction" value=$tagset.skipEntityAction}
- {if $tableLayout}
- <td class="label">
- {$form.$elemName.$parID.label}
- </td>
- <td class="{$tagsetType}-tagset {$tagsetType}-tagset-{$tagset.parentID}-section">
- {$form.$elemName.$parID.html}
- </td>
- {else}
- <div class="crm-section tag-section {$tagsetType}-tagset {$tagsetType}-tagset-{$tagset.parentID}-section">
- <div class="crm-clearfix">
+ {if empty($tagsetElementName) or $tagsetElementName eq $elemName}
+ {assign var="parID" value=$tagset.parentID}
+ {assign var="skipEntityAction" value=$tagset.skipEntityAction}
+ {if $tableLayout}
+ <td class="label">
{$form.$elemName.$parID.label}
- {$form.$elemName.$parID.html}
+ </td>
+ <td class="{$tagsetType}-tagset {$tagsetType}-tagset-{$tagset.parentID}-section">
+ {$form.$elemName.$parID.html}
+ </td>
+ {else}
+ <div class="crm-section tag-section {$tagsetType}-tagset {$tagsetType}-tagset-{$tagset.parentID}-section">
+ <div class="crm-clearfix">
+ {$form.$elemName.$parID.label}
+ {$form.$elemName.$parID.html}
+ </div>
</div>
- </div>
+ {/if}
{/if}
{/foreach}