Przeglądaj źródła

Ticket #599 - Favorite/Report in Persons module.

AntonLV 9 lat temu
rodzic
commit
ca67a7feea

+ 36 - 0
modules/boonex/persons/classes/BxPersonsFavorite.php

@@ -0,0 +1,36 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Persons Persons
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxPersonsFavorite extends BxTemplFavorite
+{
+    protected $MODULE;
+    protected $_oModule;
+    
+    function __construct($aOptions, $oTemplate = false)
+    {
+    	$this->MODULE = 'bx_persons';
+
+        parent::__construct($aOptions, $oTemplate);
+
+        $this->_oModule = BxDolModule::getInstance($this->MODULE);
+    }
+
+    public function isAllowedFavorite($isPerformAction = false)
+    {
+        $oProfile = BxDolProfile::getInstanceByContentAndType($this->getId(), $this->_oModule->getName());
+        if($oProfile && $oProfile->id() == bx_get_logged_profile_id())
+            return false;
+
+        return parent::isAllowedFavorite($isPerformAction);
+    }
+}
+
+/** @} */

+ 36 - 0
modules/boonex/persons/classes/BxPersonsReport.php

@@ -0,0 +1,36 @@
+<?php defined('BX_DOL') or die('hack attempt');
+/**
+ * Copyright (c) UNA, Inc - https://una.io
+ * MIT License - https://opensource.org/licenses/MIT
+ *
+ * @defgroup    Persons Persons
+ * @ingroup     UnaModules
+ *
+ * @{
+ */
+
+class BxPersonsReport extends BxTemplReport
+{
+    protected $MODULE;
+    protected $_oModule;
+    
+    function __construct($aOptions, $oTemplate = false)
+    {
+    	$this->MODULE = 'bx_persons';
+
+        parent::__construct($aOptions, $oTemplate);
+
+        $this->_oModule = BxDolModule::getInstance($this->MODULE);
+    }
+
+    public function isAllowedReport($isPerformAction = false)
+    {
+        $oProfile = BxDolProfile::getInstanceByContentAndType($this->getId(), $this->_oModule->getName());
+        if($oProfile && $oProfile->id() == bx_get_logged_profile_id())
+            return false;
+
+        return parent::isAllowedReport($isPerformAction);
+    }
+}
+
+/** @} */

+ 2 - 2
modules/boonex/persons/install/sql/enable.sql

@@ -312,7 +312,7 @@ INSERT INTO `sys_objects_view` (`name`, `table_track`, `period`, `is_on`, `trigg
 
 -- FAFORITES
 INSERT INTO `sys_objects_favorite` (`name`, `table_track`, `is_on`, `is_undo`, `is_public`, `base_url`, `trigger_table`, `trigger_field_id`, `trigger_field_author`, `trigger_field_count`, `class_name`, `class_file`) VALUES 
-('bx_persons', 'bx_persons_favorites_track', '1', '1', '0', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_data', 'id', 'author', 'favorites', '', '');
+('bx_persons', 'bx_persons_favorites_track', '1', '1', '0', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_data', 'id', 'author', 'favorites', 'BxPersonsFavorite', 'modules/boonex/persons/classes/BxPersonsFavorite.php');
 
 -- FEATURED
 INSERT INTO `sys_objects_feature` (`name`, `is_on`, `is_undo`, `base_url`, `trigger_table`, `trigger_field_id`, `trigger_field_author`, `trigger_field_flag`, `class_name`, `class_file`) VALUES 
@@ -320,7 +320,7 @@ INSERT INTO `sys_objects_feature` (`name`, `is_on`, `is_undo`, `base_url`, `trig
 
 -- REPORTS
 INSERT INTO `sys_objects_report` (`name`, `table_main`, `table_track`, `is_on`, `base_url`, `trigger_table`, `trigger_field_id`, `trigger_field_author`, `trigger_field_count`, `class_name`, `class_file`) VALUES 
-('bx_persons', 'bx_persons_reports', 'bx_persons_reports_track', '1', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_data', 'id', 'author', 'reports', '', '');
+('bx_persons', 'bx_persons_reports', 'bx_persons_reports_track', '1', 'page.php?i=view-persons-profile&id={object_id}', 'bx_persons_data', 'id', 'author', 'reports', 'BxPersonsReport', 'modules/boonex/persons/classes/BxPersonsReport.php');
 
 -- METATAGS
 INSERT INTO `sys_objects_metatags` (`object`, `table_keywords`, `table_locations`, `table_mentions`, `override_class_name`, `override_class_file`) VALUES