[Vtigercrm-developers] DETAILVIEWWIDGET
IT-Solutions4You
info at its4you.sk
Tue Oct 14 13:30:06 GMT 2014
I need only DETAILVIEWWIDGET like in vtiger 5.x version.
Customize summary widgets can be done later ;-)
Dňa 14. 10. 2014 14:59 Sreenivas Kanumuru wrote / napísal(a):
> 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
> <mailto: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
> <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 <tel:%2B48.884999123>
> E: b.pabiszczak at opensaas.pl <mailto:b.pabiszczak at opensaas.pl>
> <mailto: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>
> <mailto: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
> <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/
>
More information about the vtigercrm-developers
mailing list