X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FMessageTemplate.php;h=fdc5217e2832201d991b444f4a19a45ea4401ade;hb=f36c9ebc31dd6049ad9e6821b6f0b18bb3c4820d;hp=f038fdaccccf780f216b265837a770c68eb05d3c;hpb=64e59809d10c3ff342718a28f42983ec217dc282;p=civicrm-core.git diff --git a/api/v3/MessageTemplate.php b/api/v3/MessageTemplate.php index f038fdaccc..fdc5217e28 100644 --- a/api/v3/MessageTemplate.php +++ b/api/v3/MessageTemplate.php @@ -1,11 +1,11 @@ $spec) { + if (isset($spec['api.aliases']) && array_key_exists($field, $params)) { + $params[CRM_Utils_Array::first($spec['api.aliases'])] = $params[$field]; + unset($params[$field]); + } + } + if (empty($params['messageTemplateID'])) { + if (empty($params['groupName']) || empty($params['valueName'])) { + // Can't use civicrm_api3_verify_mandatory for this because it would give the wrong field names + throw new API_Exception( + "Mandatory key(s) missing from params array: requires id or option_group_name + option_value_name", + "mandatory_missing", + array("fields" => array('id', 'option_group_name', 'option_value_name')) + ); + } + } + CRM_Core_BAO_MessageTemplate::sendTemplate($params); } /** - * Adjust Metadata for Create action + * Adjust Metadata for Create action. * * The metadata is used for setting defaults, documentation & * validation. * - * @param array $params array or parameters determined by getfields + * @param array $params + * Array of parameters determined by getfields. */ function _civicrm_api3_message_template_send_spec(&$params) { - $params['messageTemplateID']['api.required'] = 1; - $params['messageTemplateID']['title'] = 'Message Template ID'; - $params['contactId']['api.required'] = 1; - $params['contactId']['title'] = 'Contact ID'; - $params['toEmail']['api.required'] = 1; - $params['toEmail']['title'] = 'To Email'; - $params['toName']['api.required'] = 1; - $params['toName']['title'] = 'To Name'; + $params['id']['description'] = 'ID of the template'; + $params['id']['title'] = 'Message Template ID'; + $params['id']['api.aliases'] = array('messageTemplateID', 'message_template_id'); + $params['id']['type'] = CRM_Utils_Type::T_INT; + + $params['option_group_name']['description'] = 'option group name of the template (required if no id supplied)'; + $params['option_group_name']['title'] = 'Option Group Name'; + $params['option_group_name']['api.aliases'] = array('groupName'); + $params['option_group_name']['type'] = CRM_Utils_Type::T_STRING; + + $params['option_value_name']['description'] = 'option value name of the template (required if no id supplied)'; + $params['option_value_name']['title'] = 'Option Value Name'; + $params['option_value_name']['api.aliases'] = array('valueName'); + $params['option_value_name']['type'] = CRM_Utils_Type::T_STRING; + + $params['contact_id']['description'] = 'contact id if contact tokens are to be replaced'; + $params['contact_id']['title'] = 'Contact ID'; + $params['contact_id']['api.aliases'] = array('contactId'); + $params['contact_id']['type'] = CRM_Utils_Type::T_INT; + + $params['template_params']['description'] = 'additional template params (other than the ones already set in the template singleton)'; + $params['template_params']['title'] = 'Template Params'; + $params['template_params']['api.aliases'] = array('tplParams'); + // FIXME: Type?? + + $params['from']['description'] = 'the From: header'; + $params['from']['title'] = 'From'; + $params['from']['type'] = CRM_Utils_Type::T_STRING; + + $params['to_name']['description'] = 'the recipient’s name'; + $params['to_name']['title'] = 'Recipient Name'; + $params['to_name']['api.aliases'] = array('toName'); + $params['to_name']['type'] = CRM_Utils_Type::T_STRING; + + $params['to_email']['description'] = 'the recipient’s email - mail is sent only if set'; + $params['to_email']['title'] = 'Recipient Email'; + $params['to_email']['api.aliases'] = array('toEmail'); + $params['to_email']['type'] = CRM_Utils_Type::T_STRING; + + $params['cc']['description'] = 'the Cc: header'; + $params['cc']['title'] = 'CC'; + $params['cc']['type'] = CRM_Utils_Type::T_STRING; + + $params['bcc']['description'] = 'the Bcc: header'; + $params['bcc']['title'] = 'BCC'; + $params['bcc']['type'] = CRM_Utils_Type::T_STRING; + + $params['reply_to']['description'] = 'the Reply-To: header'; + $params['reply_to']['title'] = 'Reply To'; + $params['reply_to']['api.aliases'] = array('replyTo'); + $params['reply_to']['type'] = CRM_Utils_Type::T_STRING; + + $params['attachments']['description'] = 'email attachments'; + $params['attachments']['title'] = 'Attachments'; + // FIXME: Type?? + + $params['is_test']['description'] = 'whether this is a test email (and hence should include the test banner)'; + $params['is_test']['title'] = 'Is Test'; + $params['is_test']['api.aliases'] = array('isTest'); + $params['is_test']['type'] = CRM_Utils_Type::T_BOOLEAN; + + $params['pdf_filename']['description'] = 'filename of optional PDF version to add as attachment (do not include path)'; + $params['pdf_filename']['title'] = 'PDF Filename'; + $params['pdf_filename']['api.aliases'] = array('PDFFilename'); + $params['pdf_filename']['type'] = CRM_Utils_Type::T_STRING; }