Exemplo n.º 1
0
    function getWideFormBody($prefix, $mod = '', $formname = '', $contact = '', $portal = true)
    {
        if (!ACLController::checkAccess('Contacts', 'edit', true)) {
            return '';
        }
        if (empty($contact)) {
            $contact = new Contact();
        }
        global $mod_strings;
        $temp_strings = $mod_strings;
        if (!empty($mod)) {
            global $current_language;
            $mod_strings = return_module_language($current_language, $mod);
        }
        global $app_strings;
        global $current_user;
        global $app_list_strings;
        $primary_address_country_options = get_select_options_with_id($app_list_strings['countries_dom'], $contact->primary_address_country);
        $lbl_required_symbol = $app_strings['LBL_REQUIRED_SYMBOL'];
        $lbl_first_name = $mod_strings['LBL_FIRST_NAME'];
        $lbl_last_name = $mod_strings['LBL_LAST_NAME'];
        $lbl_phone = $mod_strings['LBL_OFFICE_PHONE'];
        $lbl_address = $mod_strings['LBL_PRIMARY_ADDRESS'];
        if (isset($contact->assigned_user_id)) {
            $user_id = $contact->assigned_user_id;
        } else {
            $user_id = $current_user->id;
        }
        //Retrieve Email address and set email1, email2
        $sugarEmailAddress = new SugarEmailAddress();
        $sugarEmailAddress->handleLegacyRetrieve($contact);
        if (!isset($contact->email1)) {
            $contact->email1 = '';
        }
        if (!isset($contact->email2)) {
            $contact->email2 = '';
        }
        if (!isset($contact->email_opt_out)) {
            $contact->email_opt_out = '';
        }
        $lbl_email_address = $mod_strings['LBL_EMAIL_ADDRESS'];
        $salutation_options = get_select_options_with_id($app_list_strings['salutation_dom'], $contact->salutation);
        if (isset($contact->lead_source)) {
            $lead_source_options = get_select_options_with_id($app_list_strings['lead_source_dom'], $contact->lead_source);
        } else {
            $lead_source_options = get_select_options_with_id($app_list_strings['lead_source_dom'], '');
        }
        $form = "";
        if ($formname == 'ConvertProspect') {
            $lead_source_label = "<td scope='row'>&nbsp;</td>";
            $lead_source_field = "<td >&nbsp;</td>";
        } else {
            $lead_source_label = "<td scope='row' nowrap>{$mod_strings['LBL_LEAD_SOURCE']}</td>";
            $lead_source_field = "<td ><select name='{$prefix}lead_source'>{$lead_source_options}</select></td>";
        }
        global $timedate;
        $birthdate = '';
        if (!empty($_REQUEST['birthdate'])) {
            $birthdate = $_REQUEST['birthdate'];
        }
        $jsCalendarImage = SugarThemeRegistry::current()->getImageURL('jscalendar.gif');
        $ntc_date_format = $timedate->get_user_date_format();
        $cal_dateformat = $timedate->get_cal_date_format();
        $lbl_required_symbol = $app_strings['LBL_REQUIRED_SYMBOL'];
        $form .= <<<EOQ
\t\t<input type="hidden" name="{$prefix}record" value="">
\t\t<input type="hidden" name="{$prefix}assigned_user_id" value='{$user_id}'>
\t\t<table border='0' celpadding="0" cellspacing="0" width='100%'>
\t\t<tr>
\t\t<td nowrap scope='row'>{$lbl_first_name}</td>
\t\t<td scope='row'>{$lbl_last_name}&nbsp;<span class="required">{$lbl_required_symbol}</span></td>
\t\t<td scope='row' nowrap>{$mod_strings['LBL_TITLE']}</td>
\t\t<td scope='row' nowrap>{$mod_strings['LBL_DEPARTMENT']}</td>
\t\t</tr>
\t\t<tr>
\t\t<td ><select name='{$prefix}salutation'>{$salutation_options}</select>&nbsp;<input name="{$prefix}first_name" type="text" value="{$contact->first_name}"></td>
\t\t<td ><input name='{$prefix}last_name' type="text" value="{$contact->last_name}"></td>
\t\t<td  nowrap><input name='{$prefix}title' type="text" value="{$contact->title}"></td>
\t\t<td  nowrap><input name='{$prefix}department' type="text" value="{$contact->department}"></td>
\t\t</tr>
\t\t<tr>
\t\t<td nowrap colspan='4' scope='row'>{$lbl_address}</td>
\t\t</tr>

\t\t<tr>
\t\t<td nowrap colspan='4' ><textarea cols='80' rows='2' name='{$prefix}primary_address_street'>{$contact->primary_address_street}</textarea></td>
\t\t</tr>

\t\t<tr>
\t\t<td scope='row'>{$mod_strings['LBL_CITY']}</td>
\t\t<td scope='row'>{$mod_strings['LBL_STATE']}</td>
\t\t<td scope='row'>{$mod_strings['LBL_POSTAL_CODE']}</td>
\t\t<td scope='row'>{$mod_strings['LBL_COUNTRY']}</td>
\t\t</tr>

\t\t<tr>
\t\t<td ><input name='{$prefix}primary_address_city'  maxlength='100' value='{$contact->primary_address_city}'></td>
\t\t<td ><input name='{$prefix}primary_address_state'  maxlength='100' value='{$contact->primary_address_state}'></td>
\t\t<td ><input name='{$prefix}primary_address_postalcode'  maxlength='100' value='{$contact->primary_address_postalcode}'></td>
\t\t<td ><input name='{$prefix}primary_address_country'  maxlength='100' value='{$contact->primary_address_country}'></td>
\t\t</tr>


\t\t<tr>
\t\t<td nowrap scope='row'>{$lbl_phone}</td>
\t\t<td nowrap scope='row'>{$mod_strings['LBL_MOBILE_PHONE']}</td>
\t\t<td nowrap scope='row'>{$mod_strings['LBL_FAX_PHONE']}</td>
\t\t<td nowrap scope='row'>{$mod_strings['LBL_HOME_PHONE']}</td>
\t\t</tr>

\t\t<tr>
\t\t<td nowrap ><input name='{$prefix}phone_work' type="text" value="{$contact->phone_work}"></td>
\t\t<td nowrap ><input name='{$prefix}phone_mobile' type="text" value="{$contact->phone_mobile}"></td>
\t\t<td nowrap ><input name='{$prefix}phone_fax' type="text" value="{$contact->phone_fax}"></td>
\t\t<td nowrap ><input name='{$prefix}phone_home' type="text" value="{$contact->phone_home}"></td>
\t\t</tr>

\t\t<tr>
\t\t<td scope='row' nowrap>{$mod_strings['LBL_OTHER_PHONE']}</td>
\t\t{$lead_source_label}

\t\t<td scope="row">{$mod_strings['LBL_BIRTHDATE']}&nbsp;</td>
\t\t</tr>


\t\t<tr>
\t\t<td  nowrap><input name='{$prefix}phone_other' type="text" value="{$contact->phone_other}"></td>
\t\t{$lead_source_field}

\t\t<td  nowrap>
\t\t\t<input name='{$prefix}birthdate' onblur="parseDate(this, '{$cal_dateformat}');" size='12' maxlength='10' id='{$prefix}jscal_field' type="text" value="{$birthdate}">&nbsp;
\t\t\t<img src="{$jsCalendarImage}" alt="{$app_strings['LBL_ENTER_DATE']}"  id="{$prefix}jscal_trigger" align="absmiddle">
\t\t</td>\t\t
\t\t</tr>

EOQ;
        $form .= $sugarEmailAddress->getEmailAddressWidgetEditView($contact->id, $_REQUEST['action'] == 'ConvertLead' ? 'Leads' : 'Contacts', false, 'include/SugarEmailAddress/templates/forWideFormBodyView.tpl');
        require_once 'include/SugarFields/Fields/Text/SugarFieldText.php';
        $sugarfield = new SugarFieldText('Text');
        $description_text = $sugarfield->getClassicEditView('description', $contact->description, $prefix, true);
        $form .= <<<EOQ
\t\t<tr>
\t\t<td nowrap colspan='4' scope='row'>{$mod_strings['LBL_DESCRIPTION']}</td>
\t\t</tr>
\t\t<tr>
\t\t<td nowrap colspan='4' >{$description_text}</td>
\t\t</tr>
EOQ;
        //carry forward custom lead fields common to contacts during Lead Conversion
        $tempContact = new Contact();
        if (method_exists($contact, 'convertCustomFieldsForm')) {
            $contact->convertCustomFieldsForm($form, $tempContact, $prefix);
        }
        unset($tempContact);
        $form .= <<<EOQ
\t\t</table>
\t\t
\t\t<input type='hidden' name='{$prefix}alt_address_street'  value='{$contact->alt_address_street}'>
\t\t<input type='hidden' name='{$prefix}alt_address_city' value='{$contact->alt_address_city}'><input type='hidden' name='{$prefix}alt_address_state'   value='{$contact->alt_address_state}'><input type='hidden' name='{$prefix}alt_address_postalcode'   value='{$contact->alt_address_postalcode}'><input type='hidden' name='{$prefix}alt_address_country'  value='{$contact->alt_address_country}'>
\t\t<input type='hidden' name='{$prefix}do_not_call'  value='{$contact->do_not_call}'>
\t\t<input type='hidden' name='{$prefix}email_opt_out'  value='{$contact->email_opt_out}'>
EOQ;
        if ($portal == true) {
            if (isset($contact->portal_name)) {
                $form .= "<input type='hidden' name='{$prefix}portal_name'  value='{$contact->portal_name}'>";
            } else {
                $form .= "<input type='hidden' name='{$prefix}portal_name'  value=''>";
            }
            if (isset($contact->portal_app)) {
                $form .= "<input type='hidden' name='{$prefix}portal_app'  value='{$contact->portal_app}'>";
            } else {
                $form .= "<input type='hidden' name='{$prefix}portal_app'  value=''>";
            }
            if (!empty($contact->portal_name) && !empty($contact->portal_app)) {
                $form .= "<input name='{$prefix}portal_active' type='hidden' size='25'  value='1' >";
            }
            if (isset($contact->portal_password)) {
                $form .= "<input type='password' name='{$prefix}portal_password1'  value='{$contact->portal_password}'>";
                $form .= "<input type='password' name='{$prefix}portal_password'  value='{$contact->portal_password}'>";
                $form .= "<input name='{$prefix}old_portal_password' type='hidden' size='25'  value='{$contact->portal_password}' >";
            } else {
                $form .= "<input type='password' name='{$prefix}portal_password1'  value=''>";
                $form .= "<input type='password' name='{$prefix}portal_password'  value=''>";
                $form .= "<input name='{$prefix}old_portal_password' type='hidden' size='25'  value='' >";
            }
        }
        $form .= <<<EOQ
\t\t\t<script type="text/javascript">
\t\t\t\tCalendar.setup ({
\t\t\t\tinputField : "{$prefix}jscal_field", daFormat : "{$cal_dateformat}", ifFormat : "{$cal_dateformat}", showsTime : false, button : "{$prefix}jscal_trigger", singleClick : true, step : 1, weekNumbers:false
\t\t\t\t});
\t\t\t</script>
EOQ;
        $javascript = new javascript();
        $javascript->setFormName($formname);
        $javascript->setSugarBean(new Contact());
        $javascript->addField('email1', 'false', $prefix);
        $javascript->addField('email2', 'false', $prefix);
        $javascript->addRequiredFields($prefix);
        $form .= $javascript->getScript();
        $mod_strings = $temp_strings;
        return $form;
    }
Exemplo n.º 2
0
 /**
  * Extends save to add handleWorklogSave
  * @param $bean
  * @param $params
  * @param string $field
  * @param array $properties
  * @param string $prefix
  */
 public function save($bean, $params, $field, $properties, $prefix = '')
 {
     parent::save($bean, $params, $field, $properties, $prefix);
     SugarFieldWorklogHelpers::addLogEntry($bean, $field, $bean->{$field});
 }