示例#1
0
/**
 * Adjust Metadata for submit action.
 *
 * The metadata is used for setting defaults, documentation & validation.
 *
 * @param array $spec
 *   Array of parameters determined by getfields.
 */
function _civicrm_api3_mailing_a_b_submit_spec(&$spec)
{
    $mailingFields = CRM_Mailing_DAO_Mailing::fields();
    $mailingAbFields = CRM_Mailing_DAO_MailingAB::fields();
    $spec['id'] = $mailingAbFields['id'];
    $spec['status'] = $mailingAbFields['status'];
    $spec['scheduled_date'] = $mailingFields['scheduled_date'];
    $spec['approval_date'] = $mailingFields['approval_date'];
    $spec['approval_status_id'] = $mailingFields['approval_status_id'];
    $spec['approval_note'] = $mailingFields['approval_note'];
    // Note: we'll pass through approval_* fields to the underlying mailing, but they may be ignored
    // if the user doesn't have suitable permission. If separate approvals are required, they must be provided
    // outside the A/B Test UI.
}
示例#2
0
/**
 * Adjust metadata for mailing submit api function.
 *
 * @param array $spec
 */
function _civicrm_api3_mailing_submit_spec(&$spec)
{
    $mailingFields = CRM_Mailing_DAO_Mailing::fields();
    $spec['id'] = $mailingFields['id'];
    $spec['scheduled_date'] = $mailingFields['scheduled_date'];
    $spec['approval_date'] = $mailingFields['approval_date'];
    $spec['approval_status_id'] = $mailingFields['approval_status_id'];
    $spec['approval_note'] = $mailingFields['approval_note'];
    // _skip_evil_bao_auto_recipients_: bool
}
 /**
  * Get a list of permissions required for CRUD'ing each field
  * (when workflow is enabled).
  *
  * @return array
  *   Array (string $fieldName => string $permName)
  */
 public static function getWorkflowFieldPerms()
 {
     $fieldNames = array_keys(CRM_Mailing_DAO_Mailing::fields());
     $fieldPerms = array();
     foreach ($fieldNames as $fieldName) {
         if ($fieldName == 'id') {
             $fieldPerms[$fieldName] = array(array('access CiviMail', 'schedule mailings', 'approve mailings', 'create mailings'));
         } elseif (in_array($fieldName, array('scheduled_date', 'scheduled_id'))) {
             $fieldPerms[$fieldName] = array(array('access CiviMail', 'schedule mailings'));
         } elseif (in_array($fieldName, array('approval_date', 'approver_id', 'approval_status_id', 'approval_note'))) {
             $fieldPerms[$fieldName] = array(array('access CiviMail', 'approve mailings'));
         } else {
             $fieldPerms[$fieldName] = array(array('access CiviMail', 'create mailings'));
         }
     }
     return $fieldPerms;
 }
示例#4
0
 /**
  * returns the list of fields that can be exported
  *
  * @access public
  * return array
  */
 function &export($prefix = false)
 {
     if (!$GLOBALS['_CRM_MAILING_DAO_MAILING']['_export']) {
         $GLOBALS['_CRM_MAILING_DAO_MAILING']['_export'] = array();
         $fields =& CRM_Mailing_DAO_Mailing::fields();
         foreach ($fields as $name => $field) {
             if (CRM_Utils_Array::value('export', $field)) {
                 if ($prefix) {
                     $GLOBALS['_CRM_MAILING_DAO_MAILING']['_export']['mailing'] =& $fields[$name];
                 } else {
                     $GLOBALS['_CRM_MAILING_DAO_MAILING']['_export'][$name] =& $fields[$name];
                 }
             }
         }
     }
     return $GLOBALS['_CRM_MAILING_DAO_MAILING']['_export'];
 }