Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
en:modifications:troubletickets-leads [2014/02/10 14:02]
swarnat created
en:modifications:troubletickets-leads [2014/02/28 12:03] (current)
swarnat
Line 30: Line 30:
                                         $leads_selected                                         $leads_selected
                                         );                                         );
 +Search:
 +  $editview_label[] = array("​Contacts","​Accounts"​);​
 +Replace with:
 +  $editview_label[] = array("​Contacts","​Accounts",​ "​Leads"​);​
 +  ​
 +  ​
 +**include/​utils/​DetailViewUtils.php**
 +Search:
 + if ($parent_module == "​Contacts"​) {
 + $label_fld[] = $app_strings['​LBL_CONTACT_NAME'​];​
 + $displayValueArray = getEntityName($parent_module,​ $value);
 + if (!empty($displayValueArray)) {
 + foreach ($displayValueArray as $key => $field_value) {
 + $contact_name = $field_value;​
 + }
 + } else {
 + $contact_name='';​
 + }
 + $label_fld[] = '<a href="​index.php?​module='​ . $parent_module . '&​action=DetailView&​record='​ . $value . '">'​ . $contact_name . '</​a>';​
 + } elseif ($parent_module == "​Accounts"​) {
 + $label_fld[] = $app_strings['​LBL_ACCOUNT_NAME'​];​
 + $sql = "​select * from vtiger_account where accountid=?";​
 + $result = $adb->​pquery($sql,​ array($value));​
 + $account_name = $adb->​query_result($result,​ 0, "​accountname"​);​
  
 + $label_fld[] = '<a href="​index.php?​module='​ . $parent_module . '&​action=DetailView&​record='​ . $value . '">'​ . $account_name . '</​a>';​
 + } else {
 + $value = '';​
 + $label_fld[] = getTranslatedString($fieldlabel,​ $module);
 + $label_fld[] = $value;
 + }
 +
 +Replace with:
 + if ($parent_module == "​Contacts"​) {
 + $label_fld[] = $app_strings['​LBL_CONTACT_NAME'​];​
 + $displayValueArray = getEntityName($parent_module,​ $value);
 + if (!empty($displayValueArray)) {
 + foreach ($displayValueArray as $key => $field_value) {
 + $contact_name = $field_value;​
 + }
 + } else {
 + $contact_name='';​
 + }
 + $label_fld[] = '<a href="​index.php?​module='​ . $parent_module . '&​action=DetailView&​record='​ . $value . '">'​ . $contact_name . '</​a>';​
 + } elseif ($parent_module == "​Leads"​) {
 + $label_fld[] = $app_strings['​LBL_LEAD_NAME'​];​
 + $displayValueArray = getEntityName($parent_module,​ $value);
 + if (!empty($displayValueArray)) {
 + foreach ($displayValueArray as $key => $field_value) {
 +                        $lead_name = $field_value;​
 + }
 + } else {
 + $lead_name='';​
 + }
 + $label_fld[] = '<a href="​index.php?​module='​ . $parent_module . '&​action=DetailView&​record='​ . $value . '">'​ . $lead_name . '</​a>';​
 + } elseif ($parent_module == "​Accounts"​) {
 + $label_fld[] = $app_strings['​LBL_ACCOUNT_NAME'​];​
 + $sql = "​select * from vtiger_account where accountid=?";​
 + $result = $adb->​pquery($sql,​ array($value));​
 + $account_name = $adb->​query_result($result,​ 0, "​accountname"​);​
 +
 + $label_fld[] = '<a href="​index.php?​module='​ . $parent_module . '&​action=DetailView&​record='​ . $value . '">'​ . $account_name . '</​a>';​
 + } else {
 + $value = '';​
 + $label_fld[] = getTranslatedString($fieldlabel,​ $module);
 + $label_fld[] = $value;
 + }
 +
 +Add Relation to DB:
 +
 +  INSERT INTO `vtiger_relatedlists` (`relation_id`,​ `tabid`, `related_tabid`,​ `name`, `sequence`, `label`, `presence`, `actions`) VALUES(137, 7, 13, '​get_tickets',​ 1, '​HelpDesk',​ 0, '​add'​);​
 +  ​
 +ID Beachten!
 +
 +modules/​Leads/​Leads.php
 +add:
 +<code php>
 +    /**
 +    * Function to get Contact related Tickets.
 +    * @param ​ integer ​  ​$id ​     - contactid
 +    * returns related Ticket records in array format
 +    */
 +   ​ function get_tickets($id,​ $cur_tab_id,​ $rel_tab_id,​ $actions=false) {
 +   ​ global $log, $singlepane_view,​$currentModule,​$current_user;​
 +   ​ $log->​debug("​Entering get_tickets("​.$id."​) method ...");
 +   ​ $this_module = $currentModule;​
 +
 +           ​$related_module = vtlib_getModuleNameById($rel_tab_id);​
 +   ​ require_once("​modules/​$related_module/​$related_module.php"​);​
 +   ​ $other = new $related_module();​
 +           ​vtlib_setup_modulevars($related_module,​ $other);
 +   ​ $singular_modname = vtlib_toSingular($related_module);​
 +
 +   ​ $parenttab = getParentTab();​
 +
 +   ​ if($singlepane_view == '​true'​)
 +   ​ $returnset = '&​return_module='​.$this_module.'&​return_action=DetailView&​return_id='​.$id;​
 +   ​ else
 +   ​ $returnset = '&​return_module='​.$this_module.'&​return_action=CallRelatedList&​return_id='​.$id;​
 +
 +   ​ $button = '';​
 +
 +   ​ if($actions && getFieldVisibilityPermission($related_module,​ $current_user->​id,​ '​parent_id',​ '​readwrite'​) == '​0'​) {
 +   ​ if(is_string($actions)) $actions = explode(',',​ strtoupper($actions));​
 +   ​ if(in_array('​SELECT',​ $actions) && isPermitted($related_module,​4,​ ''​) == '​yes'​) {
 +   ​ $button .= "<​input title='"​.getTranslatedString('​LBL_SELECT'​)."​ ". getTranslatedString($related_module). "'​ class='​crmbutton small edit' type='​button'​ onclick=\"​return window.open('​index.php?​module=$related_module&​return_module=$currentModule&​action=Popup&​popuptype=detailview&​select=enable&​form=EditView&​form_submit=false&​recordid=$id&​parenttab=$parenttab','​test','​width=640,​height=602,​resizable=0,​scrollbars=0'​);​\"​ value='"​. getTranslatedString('​LBL_SELECT'​). " " . getTranslatedString($related_module) ."'>&​nbsp;";​
 +    }
 +   ​ if(in_array('​ADD',​ $actions) && isPermitted($related_module,​1,​ ''​) == '​yes'​) {
 +   ​ $button .= "<​input title='"​.getTranslatedString('​LBL_ADD_NEW'​). " ". getTranslatedString($singular_modname) ."'​ class='​crmbutton small create'"​ .
 +   ​ "​ onclick='​this.form.action.value=\"​EditView\";​this.form.module.value=\"​$related_module\"'​ type='​submit'​ name='​button'"​ .
 +   ​ "​ value='"​. getTranslatedString('​LBL_ADD_NEW'​). " " . getTranslatedString($singular_modname) ."'>&​nbsp;";​
 +    }
 +    }
 +
 +   ​ $userNameSql = getSqlForNameInDisplayFormat(array('​first_name'​=>​
 +   ​ '​vtiger_users.first_name',​ '​last_name'​ => '​vtiger_users.last_name'​),​ '​Users'​);​
 +   ​ $query = "​select case when (vtiger_users.user_name not like ''​) then $userNameSql else vtiger_groups.groupname end as user_name,
 +   ​ vtiger_crmentity.crmid,​ vtiger_troubletickets.title,​ vtiger_leaddetails.leadid,​ vtiger_troubletickets.parent_id,​
 +   ​ vtiger_leaddetails.firstname,​ vtiger_leaddetails.lastname,​ vtiger_troubletickets.status,​ vtiger_troubletickets.priority,​
 +   ​ vtiger_crmentity.smownerid,​ vtiger_troubletickets.ticket_no
 +   ​ from vtiger_troubletickets inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_troubletickets.ticketid
 +   ​ left join vtiger_leaddetails on vtiger_leaddetails.leadid=vtiger_troubletickets.parent_id
 +   ​ left join vtiger_users on vtiger_users.id=vtiger_crmentity.smownerid
 +   ​ left join vtiger_groups on vtiger_groups.groupid=vtiger_crmentity.smownerid
 +   ​ where vtiger_crmentity.deleted=0 and vtiger_leaddetails.leadid="​.$id;​
 +
 +   ​ $return_value = GetRelatedList($this_module,​ $related_module,​ $other, $query, $button, $returnset);​
 +
 +   ​ if($return_value == null) $return_value = Array();
 +   ​ $return_value['​CUSTOM_BUTTON'​] = $button;
 +
 +   ​ $log->​debug("​Exiting get_tickets method ...");
 +   ​ return $return_value;​
 +    }
 +   </​code>​