[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