[Vtigercrm-developers] DETAILVIEWWIDGET

Prasad prasad at vtiger.com
Tue Oct 14 13:31:11 GMT 2014


Vtiger 6.1 also enables LISTVIEWSIDEBARWIDGET

*Connect with us on: *Twitter <http://twitter.com/vtigercrm> *I* Facebook
<http://www.facebook.com/pages/vtiger/226866697333578?sk=wall> *I* Blog
<https://blogs.vtiger.com/>* I* Wiki
<http://wiki.vtiger.com/vtiger6/index.php/Main_Page> *I* Website
<https://www.vtiger.com/>

On Tue, Oct 14, 2014 at 7:00 PM, Prasad <prasad at vtiger.com> wrote:

> Please use DETAILVIEWSIDEBARWIDGET instead - refer Google Maps on Contacts.
>
> *Connect with us on: *Twitter <http://twitter.com/vtigercrm> *I* Facebook
> <http://www.facebook.com/pages/vtiger/226866697333578?sk=wall> *I* Blog
> <https://blogs.vtiger.com/>* I* Wiki
> <http://wiki.vtiger.com/vtiger6/index.php/Main_Page> *I* Website
> <https://www.vtiger.com/>
>
> On Tue, Oct 14, 2014 at 6:29 PM, Sreenivas Kanumuru <svk at vtiger.com>
> wrote:
>
>> 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/
>>
>>
>>
>> _______________________________________________
>> http://www.vtiger.com/
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.vtigercrm.com/pipermail/vtigercrm-developers/attachments/20141014/8f2734d1/attachment-0001.html>


More information about the vtigercrm-developers mailing list