IS objednávky
  • Namespace
  • Class

Namespaces

  • Grido
    • Components
      • Columns
  • Objednavky
  • PLus
    • Orders
      • Factory
      • Repositories
        • Config
        • Documents
        • Entities
        • Lists
        • Messages
        • Order
        • Security
      • Routers

Classes

  • Grido\Components\Columns\Boolean
  • Grido\Components\Columns\BooleanExtension
  • Objednavky\AreaPresenter
  • Objednavky\BasePresenter
  • Objednavky\BranchPresenter
  • Objednavky\ConsultantPresenter
  • Objednavky\ConsultationPresenter
  • Objednavky\DepartmentPresenter
  • Objednavky\DimenzionPresenter
  • Objednavky\DirectorPresenter
  • Objednavky\DocumenttypePresenter
  • Objednavky\DownloadPresenter
  • Objednavky\EconomistPresenter
  • Objednavky\ErrorPresenter
  • Objednavky\ExpertPresenter
  • Objednavky\HomepagePresenter
  • Objednavky\InvestmentPresenter
  • Objednavky\ItemorderPresenter
  • Objednavky\JustifyPresenter
  • Objednavky\MailerPresenter
  • Objednavky\ManagerPresenter
  • Objednavky\NewsPresenter
  • Objednavky\OrderPresenter
  • Objednavky\RolePresenter
  • Objednavky\SignPresenter
  • Objednavky\TraderPresenter
  • Objednavky\UnitPresenter
  • Objednavky\UserPresenter
  • PLus\Orders\Factory\ConsultationFactory
  • PLus\Orders\Factory\DocumentFactory
  • PLus\Orders\Repositories\Config\CfgRepository
  • PLus\Orders\Repositories\Config\Mailer
  • PLus\Orders\Repositories\Config\Parameters
  • PLus\Orders\Repositories\Documents\DocumentRepository
  • PLus\Orders\Repositories\Entities\BranchRepository
  • PLus\Orders\Repositories\Entities\ChiefRepository
  • PLus\Orders\Repositories\Entities\DepartmentRepository
  • PLus\Orders\Repositories\Entities\ExpertRepository
  • PLus\Orders\Repositories\Entities\ManagerRepository
  • PLus\Orders\Repositories\Entities\TraderRepository
  • PLus\Orders\Repositories\Entities\UnitRepository
  • PLus\Orders\Repositories\Entities\UnituserRepository
  • PLus\Orders\Repositories\Entities\UserRepository
  • PLus\Orders\Repositories\Lists\AreaRepository
  • PLus\Orders\Repositories\Lists\DimenzionRepository
  • PLus\Orders\Repositories\Lists\DocumenttypeRepository
  • PLus\Orders\Repositories\Lists\EventRepository
  • PLus\Orders\Repositories\Lists\JustifyRepository
  • PLus\Orders\Repositories\Lists\OrdertypeRepository
  • PLus\Orders\Repositories\Messages\CommentRepository
  • PLus\Orders\Repositories\Messages\ConsultationRepository
  • PLus\Orders\Repositories\Messages\NewsRepository
  • PLus\Orders\Repositories\Messages\PostRepository
  • PLus\Orders\Repositories\Order\InvestmentchatRepository
  • PLus\Orders\Repositories\Order\InvestmentRepository
  • PLus\Orders\Repositories\Order\ItemareastateRepository
  • PLus\Orders\Repositories\Order\ItemorderRealizationRepository
  • PLus\Orders\Repositories\Order\ItemorderRepository
  • PLus\Orders\Repositories\Order\OrderRepository
  • PLus\Orders\Repositories\Order\RealizationRepository
  • PLus\Orders\Repositories\Order\TimelineRepository
  • PLus\Orders\Repositories\Repository
  • PLus\Orders\Repositories\Security\RoleRepository
  • PLus\Orders\Repositories\Security\UserManager
  • PLus\Orders\Routers\RouterFactory
  1 <?php
  2 
  3 namespace PLus\Orders\Repositories\Security;
  4 
  5 
  6 /**
  7  * Description of RoleRepository
  8  *
  9  * @author Petr
 10  */
 11 class RoleRepository extends \PLus\Orders\Repositories\Repository {
 12 
 13     /**
 14      * Vraci data v poli code => name
 15      * @return array
 16      */
 17     public function findPairRoleByName($username) {
 18     return $this->getTable()
 19             ->select('role.*')
 20             ->where(':role_user.user.username', $username)
 21             ->order('name ASC')
 22             ->fetchPairs('code', 'name');
 23     }
 24 
 25     public function findPairRoleById($user_id) {
 26     return $this->getTable()
 27             ->select('role.*')
 28             ->where(':role_user.user.id', $user_id)
 29             ->order('name ASC')
 30             ->fetchPairs('code', 'name');
 31     }
 32 
 33     public function findRoleByName($username) {
 34     return $this->getTable()
 35             ->select('role.code')
 36             ->where(':role_user.user.username', $username);
 37     }
 38     
 39     public function findRoleById($user_id) {
 40     return $this->getTable()
 41         ->select('role.code')
 42         ->where(':role_user.user.id', $user_id);
 43     }
 44 
 45     
 46     /**
 47      * 
 48      * @return type
 49      * 
 50      */
 51     function getPairData() {
 52     return $this->getTable()->select('code, name')
 53         ->where('NOT code', 'sa')
 54         ->order('name ASC')
 55         ->fetchPairs('code', 'name');
 56     }
 57 
 58     
 59     function getGridSelection() {
 60     return $this->getTable()->select('code AS id,name')
 61         ->where('NOT code', 'sa')
 62         ->order('name ASC');
 63     }
 64 
 65     
 66     public function findById($code) {
 67     return $this->getTable()->select('role.*')->wherePrimary($code)->fetch();
 68     }
 69 
 70     /**
 71      * 
 72      * @param \Nette\Security\User $user
 73      * @param type $presenterName
 74      * @param type $actionName
 75      * @param type $parameter
 76      * @return boolean
 77      * 
 78      * Autorizator:  kontrola, zda uzivatel ma pristup ke zdroji a co s nim muze delat
 79      */
 80     public function isAllowed(\Nette\Security\User $user, $presenterName, $actionName, $parameter) {
 81     switch ($presenterName) {
 82         case 'Role':
 83         case 'User':
 84         switch ($actionName) {
 85             case 'view':
 86             if (!$user->isAllowed('user', 'view')) {
 87                 return false;
 88             }
 89             break;
 90             case 'default':
 91             case 'edit':
 92             if (!$user->isAllowed('user', 'edit')) {
 93                 return false;
 94             }
 95             break;
 96             case 'setup':
 97             if ($user->isInRole('guest')) {
 98                 return false;
 99             }
100             break;
101             case 'create':
102             if (!$user->isInRole('admin')) {
103                 return false;
104             }
105             break;
106             case 'forgot':
107             case 'reset':
108             if ($user->isLoggedIn()) {
109                 return false;
110             }
111             break;
112         }
113 
114         break;
115         
116         case 'Order':
117         switch ($actionName) {
118             case 'closed':
119             case 'returned':
120             case 'sent':            
121             case 'view':
122             if(!$user->isInRole('department') && !$user->isInRole('chief') && !$user->isInRole('sa')) {
123                 return false;
124             }
125             break;
126             case 'create':
127             if(!$user->isInRole('department') && !$user->isInRole('sa')) {
128                 return false;
129             }
130             break;
131             case 'bcreate':
132             case 'validate':
133             if(!$user->isInRole('chief') && !$user->isInRole('sa')) {
134                 return false;
135             }
136             break;
137         }
138         
139         break;
140         
141         case 'Investment':
142             switch ($actionName) {
143             case 'create':
144             if(!$user->isInRole('chief') && !$user->isInRole('sa')) {
145                 return false;
146             }
147             break;
148         }
149         
150         break;
151 
152         case  'Trader':
153         switch ($actionName){
154             case 'closed':
155             case 'in':
156             case 'toexpert':
157             case 'tomanager':
158             case 'torealize':
159             case 'tounit':
160             case 'validate':
161             case 'view':
162             if(!$user->isInRole('trader') && !$user->isInRole('sa')) {
163                 return false;
164             }
165             break;
166         }
167 
168         break;
169         
170         case 'Expert':
171         switch ($actionName) {
172             case 'all':
173             if(!$user->isInRole('admin')) {
174                 return false;
175             }
176             break;
177             case 'closed':
178             case 'torealize':
179             case 'validate':
180             case 'view':
181             if(!$user->isInRole('expert') && !$user->isInRole('sa')) {
182                 return false;
183             }
184             break;
185         }
186         
187         break;
188             
189         case 'Manager':
190         switch ($actionName) {
191             case 'all':
192             case 'closed':
193             case 'validate':
194             case 'view':
195             if(!$user->isInRole('manager') && !$user->isInRole('sa')) {
196                 return false;
197             }
198             break;
199         }
200         
201         break;
202         
203         case 'Economist':
204         switch ($actionName) {
205             case 'view':
206             case 'approved':
207             if(!$user->isInRole('economist') && !$user->isInRole('sa')) {
208                 return false;
209             }
210             break;
211         }
212         
213         break;
214         
215         case 'Director':
216         switch ($actionName) {
217             case 'view':
218             case 'all':
219             if(!$user->isInRole('director') && !$user->isInRole('sa')) {
220                 return false;
221             }
222             break;
223         }
224         
225         break;
226         
227         case 'Consultant':
228         switch ($actionName) {
229             case 'view':
230             case 'watch':
231             if(!$user->isInRole('sa') && !$user->isInRole('admin') && !$user->isInRole('trader') && !$user->isInRole('manager') && 
232                 !$user->isInRole('expert') && !$user->isInRole('director') && !$user->isInRole('consultant')) {
233                 return false;
234             }
235             break;
236         }
237         
238         break;
239         
240         case 'Consultation':
241         switch ($actionName) {
242             case 'view':
243             if(!$user->isInRole('sa') && !$user->isInRole('admin') && !$user->isInRole('trader') && !$user->isInRole('manager') && 
244                 !$user->isInRole('expert') && !$user->isInRole('director') && !$user->isInRole('consultant')) {
245                 return false;
246             }
247             break;
248         }
249         
250         break;
251         
252         case 'News':
253         switch ($actionName) {
254             case 'default':
255             case 'view':
256             // můžou všichni
257             break;
258             case 'template':
259             if(!$user->isInRole('sa')) {
260                 return false;
261             }
262             break;
263         }
264         
265         break;
266 
267         case 'Area':
268         case 'Branch':
269         case 'Department':
270         case 'Documenttype':
271         case 'Unit':
272         switch ($actionName) {
273             case 'default':
274             case 'view':
275             if (!$user->isAllowed('setup', 'view')) {
276                 return false;
277             }
278 
279             break;
280 
281             case 'create':
282             case 'edit':
283             if (!$user->isAllowed('setup', 'edit')) {
284                 return false;
285             }
286 
287             break;
288         }
289         
290         case 'Dimenzion':
291         case 'Justify':
292         switch ($actionName) {
293             case 'default':
294             case 'view':
295             if (!$user->isAllowed('catalog', 'view')) {
296                 return false;
297             }
298             break;
299 
300             case 'edit':
301             if (!$user->isAllowed('catalog', 'edit')) {
302                 return false;
303             }
304             break;
305 
306             case 'create':
307             if (!$user->isAllowed('catalog', 'create')) {
308                 return false;
309             }
310             break;
311         }
312 
313             
314             
315         if ($parameter != null) {
316             switch ($parameter) {
317             case 'Delete':
318                 if (!$user->isAllowed('setup', 'delete')) {
319                 return false;
320                 }
321 
322                 break;
323             }
324         }
325 
326         break;
327     }
328 
329     return true;
330     }
331 
332 }
333 
IS objednávky API documentation generated by ApiGen