*
* @var int
*/
- protected $_gid;
+ public $_gid;
/**
* The field id, used when editing the field
*
* @var int
*/
- protected $_id;
+ public $_id;
/**
* set is empty or not.
* @return void
*/
public function preProcess() {
+ $this->preventAjaxSubmit();
Civi::resources()->addScriptFile('civicrm', 'js/jquery/jquery.crmIconPicker.js');
// current set id
$result = civicrm_api3('CustomGroup', 'create', $params);
$group = $result['values'][$result['id']];
+ $this->_id = $result['id'];
// reset the cache
Civi::cache('fields')->flush();
*
* @var int
*/
- protected $_gid;
+ public $_gid;
/**
* The field id, used when editing the field.
* Set variables up before form is built.
*/
public function preProcess() {
+ $this->preventAjaxSubmit();
// current form id
$this->_id = $this->get('id');
if (!$this->_id) {
// create uf group
$ufGroup = CRM_Core_BAO_UFGroup::add($params);
+ $this->_id = $ufGroup->id;
if (!empty($params['is_active'])) {
//make entry in uf join table
<af-field name="extends" defn="{input_attrs: {multiple: true}, label: 'Used For'}" />
<af-field name="CustomGroup_CustomField_custom_group_id_01.label" defn="{required: false, input_attrs: {}, label: 'Field'}" />
</div>
- <div class="btn-group pull-right">
- <a class="btn btn-primary" ng-href="{{:: crmUrl('civicrm/admin/custom/group/edit', {reset: 1}) }}">
- <i class="crm-i fa-plus"/>
- {{:: ts('Add Set of Custom Fields') }}
- </a>
- </div>
<crm-search-display-table search-name="Administer_Custom_Groups" display-name="Table"></crm-search-display-table>
</div>
function civicrm_admin_ui_civicrm_config(&$config) {
_civicrm_admin_ui_civix_civicrm_config($config);
}
+
+/**
+ * Implements hook_civicrm_postProcess().
+ */
+function civicrm_admin_ui_civicrm_postProcess($className, $form) {
+ // Alter core forms to redirect to the new AdminUI afform pages
+ switch ($className) {
+ case 'CRM_Custom_Form_Group':
+ if ($form->getAction() & CRM_Core_Action::ADD) {
+ $redirect = "civicrm/admin/custom/group/fields#/?gid=$form->_id";
+ }
+ else {
+ $redirect = 'civicrm/admin/custom/group';
+ }
+ break;
+
+ case 'CRM_Custom_Form_Field':
+ $buttonName = $form->controller->getButtonName();
+ // Redirect to field list unless "Save and New" was clicked
+ if ($buttonName != $form->getButtonName('next', 'new')) {
+ $redirect = "civicrm/admin/custom/group/fields#/?gid=$form->_gid";
+ }
+ break;
+
+ case 'CRM_UF_Form_Group':
+ if ($form->getAction() & CRM_Core_Action::ADD) {
+ $redirect = "civicrm/admin/uf/group/field#/?uf_group_id=$form->_id";
+ }
+ else {
+ $redirect = 'civicrm/admin/uf/group';
+ }
+ break;
+
+ case 'CRM_UF_Form_Field':
+ $buttonName = $form->controller->getButtonName();
+ // Redirect to field list unless "Save and New" was clicked
+ if ($buttonName != $form->getButtonName('next', 'new')) {
+ $redirect = "civicrm/admin/uf/group/field#/?uf_group_id=$form->_gid";
+ }
+ break;
+ }
+
+ if (isset($redirect)) {
+ $url = CRM_Utils_System::url($redirect, '', FALSE, NULL, FALSE);
+ CRM_Core_Session::singleton()->replaceUserContext($url);
+ }
+}
'extends:label',
'extends_entity_column_id:label',
'style:label',
+ 'is_reserved',
'COUNT(CustomGroup_CustomField_custom_group_id_01.id) AS COUNT_CustomGroup_CustomField_custom_group_id_01_id',
'GROUP_CONCAT(DISTINCT CustomGroup_CustomField_custom_group_id_01.label) AS GROUP_CONCAT_CustomGroup_CustomField_custom_group_id_01_label',
],
'text' => E::ts('Settings'),
'style' => 'default',
'path' => '',
- 'condition' => [],
+ 'condition' => ['is_reserved', '=', FALSE],
],
],
'type' => 'buttons',
],
],
'placeholder' => 5,
+ 'addButton' => [
+ 'path' => 'civicrm/admin/custom/group/edit?reset=1',
+ 'text' => E::ts('Add Set of Custom Fields'),
+ 'icon' => 'fa-plus',
+ 'autoOpen' => TRUE,
+ ],
],
'acl_bypass' => FALSE,
],