[Vtigercrm-developers] DETAILVIEWWIDGET

Sreenivas Kanumuru svk at vtiger.com
Tue Oct 14 12:59:46 GMT 2014


Sorry, it is not currently possible to customize summary widgets in Vtiger
CRM. We will review this further and update this thread.


On Tue, Oct 14, 2014 at 1:40 PM, IT-Solutions4You <info at its4you.sk> wrote:

> I'm talking about vtiger CRM.
>
>
>
> Dňa 13. 10. 2014 17:36 Pabiszczak, Błażej  wrote / napísal(a):
>
>> Do you see "*_/Widgets/_*" module in settings in our Yetiforce?
>> https://test.yetiforce.com/index.php?module=Widgets&
>> parent=Settings&view=Index&block=2&fieldid=58
>>
>>
>> Z poważaniem / Regards
>> Błażej Pabiszczak
>> M: +48.884999123
>> E: b.pabiszczak at opensaas.pl
>> <mailto:b.pabiszczak at opensaas.pl>
>>
>> 2014-10-13 15:31 GMT+02:00 IT-Solutions4You
>> <info at its4you.sk
>> <mailto:info at its4you.sk>>:
>>
>>     And what's now? How can we (community) help vtiger to implement this:
>>
>>     https://discussions.vtiger.__com/index.php?p=/discussion/__
>> 171186/detail-view-widgets-__implementation/p1
>>     <https://discussions.vtiger.com/index.php?p=/discussion/
>> 171186/detail-view-widgets-implementation/p1>
>>
>>     Matus.
>>
>>     Dňa 13. 10. 2014 13:04 Alan Lord  wrote / napísal(a):
>>
>>         Ah,
>>
>>         I think you might be right about vtiger_links &
>> DETALVIEWWIDGETS...
>>
>>         I've started looking at creating a module which allows the user
>>         to add a
>>         custom widget to other modules via my extension module...
>>
>>         But looking at the code in the standard models in
>>         /modules/Vtiger/models/{__Detail.php,DetailView.php} it looks
>> like
>>         getDetailViewLinks() and getWidgets() will only *ever* return
>>         specific
>>         widgets and will override information in the vtiger_links table
>>         such as
>>         linkurl for example.
>>
>>         Is this really the case or am I missing something? Is there no
>>         way for
>>         me to add a new entry in the vtiger_links table such that, for
>>         example,
>>         I could add a new "Libertus" widget that gets displayed on the
>>         Contacts
>>         module Summary page or DetailView page?
>>
>>                  /**
>>                   * Function to get the detail view links (links and
>>             widgets)
>>                   * @param <array> $linkParams - parameters which will
>>             be used to
>>             calicaulate the params
>>                   * @return <array> - array of link models in the format
>>             as below
>>                   *                   array('linktype'=>list of link
>>             models);
>>                   */
>>                  public function getDetailViewLinks($__linkParams) {
>>                      $linkTypes = array('DETAILVIEWBASIC','__
>> DETAILVIEW');
>>                      $moduleModel = $this->getModule();
>>                      $recordModel = $this->getRecord();
>>
>>                      $moduleName = $moduleModel->getName();
>>                      $recordId = $recordModel->getId();
>>
>>                      $detailViewLink = array();
>>
>>                      if(Users_Privileges_Model::__
>> isPermitted($moduleName,
>>             'EditView', $recordId)) {
>>                          $detailViewLinks[] = array(
>>                                  'linktype' => 'DETAILVIEWBASIC',
>>                                  'linklabel' => 'LBL_EDIT',
>>                                  'linkurl' =>
>>             $recordModel->getEditViewUrl()__,
>>                                  'linkicon' => ''
>>                          );
>>
>>                          foreach ($detailViewLinks as $detailViewLink) {
>>                              $linkModelList['__DETAILVIEWBASIC'][] =
>>             Vtiger_Link_Model::__getInstanceFromValues($__
>> detailViewLink);
>>                          }
>>                      }
>>
>>                      $linkModelListDetails =
>>             Vtiger_Link_Model::__getAllByType($moduleModel->__
>> getId(),$linkTypes,$__linkParams);
>>
>>                      //Mark all detail view basic links as detail view
>>             links.
>>                      //Since ui will be look ugly if you need many basic
>>             links
>>                      $detailViewBasiclinks =
>>             $linkModelListDetails['__DETAILVIEWBASIC'];
>>                      unset($linkModelListDetails['__DETAILVIEWBASIC']);
>>
>>
>>             if(Users_Privileges_Model::__isPermitted($moduleName,
>> 'Delete',
>>             $recordId)) {
>>                          $deletelinkModel = array(
>>                                  'linktype' => 'DETAILVIEW',
>>                                  'linklabel' => sprintf("%s %s",
>>             getTranslatedString('LBL___DELETE', $moduleName),
>>             vtranslate('SINGLE_'.
>>             $moduleName, $moduleName)),
>>                                  'linkurl' =>
>>             'javascript:Vtiger_Detail_Js.__deleteRecord("'.$recordModel-
>> >__getDeleteUrl().'")',
>>
>>                                  'linkicon' => ''
>>                          );
>>                          $linkModelList['DETAILVIEW'][] =
>>             Vtiger_Link_Model::__getInstanceFromValues($__
>> deletelinkModel);
>>                      }
>>
>>                      if(Users_Privileges_Model::__
>> isPermitted($moduleName,
>>             'EditView', $recordId)) {
>>                          $duplicateLinkModel = array(
>>                                      'linktype' => 'DETAILVIEWBASIC',
>>                                      'linklabel' => 'LBL_DUPLICATE',
>>                                      'linkurl' =>
>>             $recordModel->__getDuplicateRecordUrl(),
>>                                      'linkicon' => ''
>>                              );
>>                          $linkModelList['DETAILVIEW'][] =
>>             Vtiger_Link_Model::__getInstanceFromValues($__
>> duplicateLinkModel);
>>                      }
>>
>>                      if(!empty($__detailViewBasiclinks)) {
>>                          foreach($detailViewBasiclinks as $linkModel) {
>>                              // Remove view history, needed in vtiger5
>>             to see
>>             history but not in vtiger6
>>                              if($linkModel->linklabel == 'View History') {
>>                                  continue;
>>                              }
>>                              $linkModelList['DETAILVIEW'][] = $linkModel;
>>                          }
>>                      }
>>
>>                      $relatedLinks = $this->__
>> getDetailViewRelatedLinks();
>>
>>                      foreach($relatedLinks as $relatedLinkEntry) {
>>                          $relatedLink =
>>             Vtiger_Link_Model::__getInstanceFromValues($__
>> relatedLinkEntry);
>>                          $linkModelList[$relatedLink->__getType()][] =
>>             $relatedLink;
>>                      }
>>
>>                      $widgets = $this->getWidgets();
>>                      foreach($widgets as $widgetLinkModel) {
>>                          $linkModelList['__DETAILVIEWWIDGET'][] =
>>             $widgetLinkModel;
>>                      }
>>
>>                      $currentUserModel =
>>             Users_Record_Model::__getCurrentUserModel();
>>                      if($currentUserModel->__isAdminUser()) {
>>                          $settingsLinks = $moduleModel->getSettingLinks(
>> __);
>>                          foreach($settingsLinks as $settingsLink) {
>>                              $linkModelList['__DETAILVIEWSETTING'][] =
>>             Vtiger_Link_Model::__getInstanceFromValues($__settingsLink);
>>                          }
>>                      }
>>
>>                      return $linkModelList;
>>                  }
>>
>>
>>
>>
>>                  /**
>>                   * Function to get the detail view widgets
>>                   * @return <Array> - List of widgets , where each
>>             widget is an
>>             Vtiger_Link_Model
>>                   */
>>                  public function getWidgets() {
>>                      $moduleModel = $this->getModule();
>>                      $widgets = array();
>>
>>                      $modCommentsModel =
>>             Vtiger_Module_Model::__getInstance('ModComments');
>>                      if($moduleModel->__isCommentEnabled() &&
>>             $modCommentsModel->__isPermitted('DetailView')) {
>>                          $widgets[] = array(
>>                                  'linktype' => 'DETAILVIEWWIDGET',
>>                                  'linklabel' => 'ModComments',
>>                                  'linkurl' =>
>>             'module='.$this->__getModuleName().'&view=Detail&
>> __record='.$this->getRecord()->__getId().
>>
>>
>>             '&mode=showRecentComments&__page=1&limit=5'
>>                          );
>>                      }
>>
>>                      if($moduleModel->__isTrackingEnabled()) {
>>                          $widgets[] = array(
>>                                  'linktype' => 'DETAILVIEWWIDGET',
>>                                  'linklabel' => 'LBL_UPDATES',
>>                                  'linkurl' =>
>>             'module='.$this->__getModuleName().'&view=Detail&
>> __record='.$this->getRecord()->__getId().
>>
>>
>>             '&mode=showRecentActivities&__page=1&limit=5',
>>                          );
>>                      }
>>
>>                      $widgetLinks = array();
>>                      foreach ($widgets as $widgetDetails) {
>>                          $widgetLinks[] =
>>             Vtiger_Link_Model::__getInstanceFromValues($__widgetDetails);
>>                      }
>>                      return $widgetLinks;
>>                  }
>>
>>
>>         Al
>>
>>
>>         _________________________________________________
>>         http://www.vtiger.com/
>>
>>
>>
>>     _________________________________________________
>>     http://www.vtiger.com/
>>
>>
>>
>>
>> _______________________________________________
>> http://www.vtiger.com/
>>
>>
>
> _______________________________________________
> http://www.vtiger.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20141014/5cac9457/attachment-0001.html>


More information about the vtigercrm-developers mailing list