Просмотр исходного кода

Ticket #5245 - Jobs: Don't allow author to leave.

AntonLV 1 год назад
Родитель
Сommit
912b3c4450

+ 20 - 0
modules/boonex/jobs/classes/BxJobsGridConnections.php

@@ -16,6 +16,26 @@ class BxJobsGridConnections extends BxBaseModGroupsGridConnections
         $this->_sContentModule = 'bx_jobs';
         parent::__construct ($aOptions, $oTemplate);
     }
+
+    protected function _getActionSetRole ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = [])
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
+        if($this->_aContentInfo[$CNF['FIELD_AUTHOR']] == $aRow['id'])
+            return $this->_bIsApi ? [] : '';
+
+        return parent::_getActionSetRole ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = []);
+    }
+
+    protected function _getActionDelete ($sType, $sKey, $a, $isSmall = false, $isDisabled = false, $aRow = [])
+    {
+        $CNF = &$this->_oModule->_oConfig->CNF;
+
+        if($this->_aContentInfo[$CNF['FIELD_AUTHOR']] == $aRow['id'])
+            return $this->_bIsApi ? [] : '';
+
+        return parent::_getActionDelete ($sType, $sKey, $a, $isSmall, $isDisabled, $aRow);
+    }
 }
 
 /** @} */

+ 10 - 0
modules/boonex/jobs/classes/BxJobsModule.php

@@ -59,6 +59,16 @@ class BxJobsModule extends BxBaseModGroupsModule
         return $mixedResult;
     }
 
+    public function checkAllowedFans(&$aDataEntry, $isPerformAction = false)
+    {
+        $CNF = &$this->_oConfig->CNF;
+
+        if($aDataEntry[$CNF['FIELD_AUTHOR']] == bx_get_logged_profile_id())
+            return _t('_sys_txt_access_denied');
+
+        return parent::checkAllowedFans($aDataEntry, $isPerformAction);
+    }
+
     public function decodeDataAPI($aData, $aParams = [])
     {
         $aResult = parent::decodeDataAPI($aData, $aParams);