JFIF ( %!1!%)+...383-7(-.+  -% &5/------------------------------------------------";!1AQ"aq2#3BRrb*!1"AQa2q#B ?yRd&vGlJwZvK)YrxB#j]ZAT^dpt{[wkWSԋ*QayBbm*&0<|0pfŷM`̬ ^.qR𽬷^EYTFíw<-.j)M-/s yqT'&FKz-([lև<G$wm2*e Z(Y-FVen櫧lҠDwүH4FX1 VsIOqSBۡNzJKzJξcX%vZcFSuMٖ%B ִ##\[%yYꉅ !VĂ1َRI-NsZJLTAPמQ:y״g_g= m֯Ye+Hyje!EcݸࢮSo{׬*h g<@KI$W+W'_> lUs1,o*ʺE.U"N&CTu7_0VyH,q ,)H㲣5<t ;rhnz%ݓz+4 i۸)P6+F>0Tв`&i}Shn?ik܀՟ȧ@mUSLFηh_er i_qt]MYhq 9LaJpPןߘvꀡ\"z[VƬ¤*aZMo=WkpSp \QhMb˒YH=ܒ m`CJt 8oFp]>pP1F>n8(*aڈ.Y݉[iTع JM!x]ԶaJSWҼܩ`yQ`*kE#nNkZKwA_7~ ΁JЍ;-2qRxYk=Uր>Z qThv@.w c{#&@#l;D$kGGvz/7[P+i3nIl`nrbmQi%}rAVPT*SF`{'6RX46PԮp(3W҅U\a*77lq^rT$vs2MU %*ŧ+\uQXVH !4t*Hg"Z챮 JX+RVU+ތ]PiJT XI= iPO=Ia3[ uؙ&2Z@.*SZ (")s8Y/-Fh Oc=@HRlPYp!wr?-dugNLpB1yWHyoP\ѕрiHִ,ِ0aUL.Yy`LSۜ,HZz!JQiVMb{( tژ <)^Qi_`: }8ٱ9_.)a[kSr> ;wWU#M^#ivT܎liH1Qm`cU+!2ɒIX%ֳNړ;ZI$?b$(9f2ZKe㼭qU8I[ U)9!mh1^N0 f_;׆2HFF'4b! yBGH_jтp'?uibQ T#ѬSX5gޒSF64ScjwU`xI]sAM( 5ATH_+s 0^IB++h@_Yjsp0{U@G -:*} TނMH*֔2Q:o@ w5(߰ua+a ~w[3W(дPYrF1E)3XTmIFqT~z*Is*清Wɴa0Qj%{T.ޅ״cz6u6݁h;֦ 8d97ݴ+ޕxзsȁ&LIJT)R0}f }PJdp`_p)əg(ŕtZ 'ϸqU74iZ{=Mhd$L|*UUn &ͶpHYJۋj /@9X?NlܾHYxnuXږAƞ8j ໲݀pQ4;*3iMlZ6w ȵP Shr!ݔDT7/ҡϲigD>jKAX3jv+ ߧز #_=zTm¦>}Tց<|ag{E*ֳ%5zW.Hh~a%j"e4i=vױi8RzM75i֟fEu64\էeo00d H韧rȪz2eulH$tQ>eO$@B /?=#٤ǕPS/·.iP28s4vOuz3zT& >Z2[0+[#Fޑ]!((!>s`rje('|,),y@\pЖE??u˹yWV%8mJ iw:u=-2dTSuGL+m<*צ1as&5su\phƃ qYLֳ>Y(PKi;Uڕp ..!i,54$IUEGLXrUE6m UJC?%4AT]I]F>׹P9+ee"Aid!Wk|tDv/ODc/,o]i"HIHQ_n spv"b}}&I:pȟU-_)Ux$l:fژɕ(I,oxin8*G>ÌKG}Rڀ8Frajٷh !*za]lx%EVRGYZoWѮ昀BXr{[d,t Eq ]lj+ N})0B,e iqT{z+O B2eB89Cڃ9YkZySi@/(W)d^Ufji0cH!hm-wB7C۔֛X$Zo)EF3VZqm)!wUxM49< 3Y .qDfzm |&T"} {*ih&266U9* <_# 7Meiu^h--ZtLSb)DVZH*#5UiVP+aSRIª!p挤c5g#zt@ypH={ {#0d N)qWT kA<Ÿ)/RT8D14y b2^OW,&Bcc[iViVdִCJ'hRh( 1K4#V`pِTw<1{)XPr9Rc 4)Srgto\Yτ~ xd"jO:A!7􋈒+E0%{M'T^`r=E*L7Q]A{]A<5ˋ.}<9_K (QL9FЍsĮC9!rpi T0q!H \@ܩB>F6 4ۺ6΋04ϲ^#>/@tyB]*ĸp6&<џDP9ᗟatM'> b쪗wI!܁V^tN!6=FD܆9*? q6h8  {%WoHoN.l^}"1+uJ ;r& / IɓKH*ǹP-J3+9 25w5IdcWg0n}U@2 #0iv腳z/^ƃOR}IvV2j(tB1){S"B\ ih.IXbƶ:GnI F.^a?>~!k''T[ע93fHlNDH;;sg-@, JOs~Ss^H '"#t=^@'W~Ap'oTڭ{Fن̴1#'c>꜡?F颅B L,2~ת-s2`aHQm:F^j&~*Nūv+{sk$F~ؒ'#kNsٗ D9PqhhkctԷFIo4M=SgIu`F=#}Zi'cu!}+CZI7NuŤIe1XT xC۷hcc7 l?ziY䠩7:E>k0Vxypm?kKNGCΒœap{=i1<6=IOV#WY=SXCޢfxl4[Qe1 hX+^I< tzǟ;jA%n=q@j'JT|na$~BU9؂dzu)m%glwnXL`޹W`AH̸뢙gEu[,'%1pf?tJ Ζmc[\ZyJvn$Hl'<+5[b]v efsЁ ^. &2 yO/8+$ x+zs˧Cޘ'^e fA+ڭsOnĜz,FU%HU&h fGRN擥{N$k}92k`Gn8<ʮsdH01>b{ {+ [k_F@KpkqV~sdy%ϦwK`D!N}N#)x9nw@7y4*\ Η$sR\xts30`O<0m~%U˓5_m ôªs::kB֫.tpv쌷\R)3Vq>ٝj'r-(du @9s5`;iaqoErY${i .Z(Џs^!yCϾ˓JoKbQU{௫e.-r|XWլYkZe0AGluIɦvd7 q -jEfۭt4q +]td_+%A"zM2xlqnVdfU^QaDI?+Vi\ϙLG9r>Y {eHUqp )=sYkt,s1!r,l鄛u#I$-֐2A=A\J]&gXƛ<ns_Q(8˗#)4qY~$'3"'UYcIv s.KO!{, ($LI rDuL_߰ Ci't{2L;\ߵ7@HK.Z)4
Devil Killer Is Here MiNi Shell

MiNi SheLL

Current Path : /home/vmanager/www/console/controllers/

Linux 9dbcd5f6333d 5.15.0-102-generic #112-Ubuntu SMP Tue Mar 5 16:50:32 UTC 2024 x86_64
Upload File :
Current File : //home/vmanager/www/console/controllers/RbacController.php

<?php

namespace console\controllers;

use \Yii as Yii;
use \yii\console\Controller;
use \yii\helpers\Console;
use common\models\types\UserProfile;

/**
 * A set of actions responsible for the preparation of the data for the RBAC
 */
class RbacController extends Controller
{
    /**
     * Creates a set of roles
     * 
     * @return int exit code
     */
    public function actionCreateRoles()
    {
        $auth = Yii::$app->authManager;
        
        if($auth->getRole(UserProfile::USER) === null) {
            $user = $auth->createRole(UserProfile::USER);
            $user->description = Yii::t('common-models-types', 'Użytkownik - opis');
            $auth->add($user);
        }
        
        if($auth->getRole(UserProfile::COMPANY) === null) {
            $company = $auth->createRole(UserProfile::COMPANY);
            $company->description = Yii::t('common-models-types', 'Firma - opis');
            $auth->add($company);
        }
        
        if($auth->getRole(UserProfile::MARKETER) === null) {
            $marketer = $auth->createRole(UserProfile::MARKETER);
            $marketer->description = Yii::t('common-models-types', 'Handlowiec - opis');
            $auth->add($marketer);
        }
        
        if($auth->getRole(UserProfile::OPERATOR) === null) {
            $operator = $auth->createRole(UserProfile::OPERATOR);
            $operator->description = Yii::t('common-models-types', 'Operator - opis');
            $auth->add($operator);
        }
        
        if($auth->getRole(UserProfile::EDITOR) === null) {
            $editor = $auth->createRole(UserProfile::EDITOR);
            $editor->description = Yii::t('common-models-types', 'Redaktor - opis');
            $auth->add($editor);
        }
        
        if($auth->getRole(UserProfile::MODERATOR) === null) {
            $moderator = $auth->createRole(UserProfile::MODERATOR);
            $moderator->description = Yii::t('common-models-types', 'Moderator - opis');
            $auth->add($moderator);
        }
        
        if($auth->getRole(UserProfile::ADMIN) === null) {
            $admin = $auth->createRole(UserProfile::ADMIN);
            $admin->description = Yii::t('common-models-types', 'Administrator - opis');
            $auth->add($admin);
        }
        
        $this->_createRoleRelations();
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
    protected function _createRoleRelations()
    {
        $auth = Yii::$app->authManager;
        
        $admin = $auth->getRole(UserProfile::ADMIN);
        $moderator = $auth->getRole(UserProfile::MODERATOR);
        $editor = $auth->getRole(UserProfile::EDITOR);
        $operator = $auth->getRole(UserProfile::OPERATOR);
        $marketer = $auth->getRole(UserProfile::MARKETER);
        $company = $auth->getRole(UserProfile::COMPANY);
        $user = $auth->getRole(UserProfile::USER);
        
        if(!$auth->hasChild($company, $user)) {
            $auth->addChild($company, $user);
        }
        if(!$auth->hasChild($marketer, $company)) {
            $auth->addChild($marketer, $company);
        }
        if(!$auth->hasChild($operator, $marketer)) {
            $auth->addChild($operator, $marketer);
        }
        if(!$auth->hasChild($editor, $operator)) {
            $auth->addChild($editor, $operator);
        }
        if(!$auth->hasChild($moderator, $editor)) {
            $auth->addChild($moderator, $editor);
        }        
        if(!$auth->hasChild($admin, $moderator)) {
            $auth->addChild($admin, $moderator);
        }
    }
    
    /**
     * Creates a set of permission for roles
     * 
     * @return int exit code
     */
    public function actionCreatePermissions()
    {
        $auth = Yii::$app->authManager;
        
        $auth->removeAllPermissions();
        
        $permissionViewCompanyData = $auth->createPermission('viewCompanyData');
        $permissionViewCompanyData->description = 'Uprawnienia do przeglądania danych należących do firm.';
        $auth->add($permissionViewCompanyData);
        
        $ruleCheckCompanyOwner = $auth->getRule('checkCompanyOwner');
        if(empty($ruleCheckCompanyOwner)) {
            echo $this->stderr('Rule: "checkCompanyOwner" not exists. You must execute command: "yii rbac/create-rules".');
            return Controller::EXIT_CODE_ERROR;
        }
        
        $permissionViewOwnCompanyData = $auth->createPermission('viewOwnCompanyData');
        $permissionViewOwnCompanyData->description = 'Uprawnienia do przeglądania danych należących do własnych firm.';
        $permissionViewOwnCompanyData->ruleName = $ruleCheckCompanyOwner->name;
        $auth->add($permissionViewOwnCompanyData);        
        
        $auth->addChild($permissionViewOwnCompanyData, $permissionViewCompanyData);
                
//        $permissionIndexPublishingHouses = $auth->createPermission('indexPublishingHouses');
//        $permissionIndexPublishingHouses->description = 'Uprawnienia do przeglądania listy wydawnictw.';
//        $auth->add($permissionIndexPublishingHouses);
//        
//        $permissionViewPublishingHouses = $auth->createPermission('viewPublishingHouses');
//        $permissionViewPublishingHouses->description = 'Uprawnienia do podglądu szczegółów wydawnictw.';
//        $auth->add($permissionViewPublishingHouses);
//        
//        $permissionCreatePublishingHouses = $auth->createPermission('createPublishingHouses');
//        $permissionCreatePublishingHouses->description = 'Uprawnienia do tworzenia wydawnictw.';
//        $auth->add($permissionCreatePublishingHouses);
//        
//        $permissionUpdatePublishingHouses = $auth->createPermission('updatePublishingHouses');
//        $permissionUpdatePublishingHouses->description = 'Uprawnienia do edycji wydawnictw.';
//        $auth->add($permissionUpdatePublishingHouses);        
//        
//        $permissionDeletePublishingHouses = $auth->createPermission('deletePublishingHouses');
//        $permissionDeletePublishingHouses->description = 'Uprawnienia do usuwania wydawnictw.';
//        $auth->add($permissionDeletePublishingHouses);
//        
//        $permissionIndexBookstoreCategories = $auth->createPermission('indexBookstoreCategories');
//        $permissionIndexBookstoreCategories->description = 'Uprawnienia do przeglądania drzewa kategorii księgarni.';
//        $auth->add($permissionIndexBookstoreCategories);
//        
//        $permissionModifyBookstoreCategories = $auth->createPermission('modifyBookstoreCategories');
//        $permissionModifyBookstoreCategories->description = 'Uprawnienia do modyfikowania drzewa kategorii księgarni.';
//        $auth->add($permissionModifyBookstoreCategories);
//        
//        $permissionIndexBookstoreReviews = $auth->createPermission('indexBookstoreReviews');
//        $permissionIndexBookstoreReviews->description = 'Uprawnienia do przeglądania listy opinii w księgarni.';
//        $auth->add($permissionIndexBookstoreReviews);
//        
//        $permissionViewBookstoreReviews = $auth->createPermission('viewBookstoreReviews');
//        $permissionViewBookstoreReviews->description = 'Uprawnienia do podglądu szczegółów opinii w księgarni.';
//        $auth->add($permissionViewBookstoreReviews);
//        
//        $permissionUpdateBookstoreReviews = $auth->createPermission('updateBookstoreReviews');
//        $permissionUpdateBookstoreReviews->description = 'Uprawnienia do edycji opinii w księgarni.';
//        $auth->add($permissionUpdateBookstoreReviews);
//        
//        $permissionDeleteBookstoreReviews = $auth->createPermission('deleteBookstoreReviews');
//        $permissionDeleteBookstoreReviews->description = 'Uprawnienia do usuwania opinii w księgarni.';
//        $auth->add($permissionDeleteBookstoreReviews);
//        
//        $permissionAcceptBookstoreReviews = $auth->createPermission('acceptBookstoreReviews');
//        $permissionAcceptBookstoreReviews->description = 'Uprawnienia do akceptacji nowych opinii w księgarni.';
//        $auth->add($permissionAcceptBookstoreReviews);
//        
//        $permissionIndexBookstoreDiscountCodes = $auth->createPermission('indexBookstoreDiscountCodes');
//        $permissionIndexBookstoreDiscountCodes->description = 'Uprawnienia do przeglądania listy kodów rabatowych dla księgarni.';
//        $auth->add($permissionIndexBookstoreDiscountCodes);
//        
//        $permissionViewBookstoreDiscountCodes = $auth->createPermission('viewBookstoreDiscountCodes');
//        $permissionViewBookstoreDiscountCodes->description = 'Uprawnienia do podglądu szczegółów kodów rabatowych dla księgarni.';
//        $auth->add($permissionViewBookstoreDiscountCodes);
//        
//        $permissionCreateBookstoreDiscountCodes = $auth->createPermission('createBookstoreDiscountCodes');
//        $permissionCreateBookstoreDiscountCodes->description = 'Uprawnienia do tworzenia kodów rabatowych dla księgarni.';
//        $auth->add($permissionCreateBookstoreDiscountCodes);
//        
//        $permissionDeleteBookstoreDiscountCodes = $auth->createPermission('deleteBookstoreDiscountCodes');
//        $permissionDeleteBookstoreDiscountCodes->description = 'Uprawnienia do usuwania kodów rabatowych dla księgarni.';
//        $auth->add($permissionDeleteBookstoreDiscountCodes);
        
                
//        $permissionIndexArticles = $auth->createPermission('indexArticles');
//        $permissionIndexArticles->description = 'Uprawnienia do przeglądania listy artykułów.';
//        $auth->add($permissionIndexArticles);
//        
//        $permissionViewArticles = $auth->createPermission('viewArticles');
//        $permissionViewArticles->description = 'Uprawnienia do podglądu szczegółów artykułów.';
//        $auth->add($permissionViewArticles);
//        
//        $permissionModifyArticles = $auth->createPermission('modifyArticles');
//        $permissionModifyArticles->description = 'Uprawnienia do modyfikowania artykułów.';
//        $auth->add($permissionModifyArticles);
//        
//        $permissionDeleteArticles = $auth->createPermission('deleteArticles');
//        $permissionDeleteArticles->description = 'Uprawnienia do usuwania artykułów.';
//        $auth->add($permissionDeleteArticles);
//                        
//        $permissionIndexOwnArticles = $auth->createPermission('indexOwnArticles');
//        $permissionIndexOwnArticles->description = 'Uprawnienia do przeglądania listy własnych artykułów.';
//        $auth->add($permissionIndexOwnArticles);
//             
//        $permissionViewOwnArticles = $auth->createPermission('viewOwnArticles');
//        $permissionViewOwnArticles->description = 'Uprawnienia do podglądu szczegółów własnych artykułów.';
//        $ruleCheckArticleOwner = $auth->getRule('checkArticleOwner');
//        $permissionViewOwnArticles->ruleName = $ruleCheckArticleOwner->name;
//        $auth->add($permissionViewOwnArticles);                
//        $auth->addChild($permissionViewOwnArticles, $permissionViewArticles);
//        
//        $permissionModifyArticlesStatuses = $auth->createPermission('modifyArticlesStatuses');
//        $permissionModifyArticlesStatuses->description = 'Uprawnienia do modyfikowania statusów artykułów.';
//        $auth->add($permissionModifyArticlesStatuses);
//        
//        
//        $permissionBrowsePortalsArticlesGroups = $auth->createPermission('browsePortalsArticlesGroups');
//        $permissionBrowsePortalsArticlesGroups->description = 'Uprawnienia do przeglądania tematycznych grup dla artykułów.';
//        $auth->add($permissionBrowsePortalsArticlesGroups);
//        
//        $permissionModifyPortalsArticlesGroups = $auth->createPermission('modifyPortalsArticlesGroups');
//        $permissionModifyPortalsArticlesGroups->description = 'Uprawnienia do modyfikowania tematycznych grup dla artykułów.';
//        $auth->add($permissionModifyPortalsArticlesGroups);
//        
//        $permissionIndexPartners = $auth->createPermission('indexPartners');
//        $permissionIndexPartners->description = 'Uprawnienia do przeglądania listy partnerów.';
//        $auth->add($permissionIndexPartners);
//        
//        $permissionCreatePartners = $auth->createPermission('createPartners');
//        $permissionCreatePartners->description = 'Uprawnienia do tworzenia partnerów.';
//        $auth->add($permissionCreatePartners);
//        
//        $permissionUpdatePartners = $auth->createPermission('updatePartners');
//        $permissionUpdatePartners->description = 'Uprawnienia do edycji partnerów.';
//        $auth->add($permissionUpdatePartners);
//        
//        $permissionDeletePartners = $auth->createPermission('deletePartners');
//        $permissionDeletePartners->description = 'Uprawnienia do usuwania partnerów.';
//        $auth->add($permissionDeletePartners);
        
        $permissions = [
            ['indexAllBooks', 'Uprawnienia do przeglądania listy wszystkich książek.'],
            ['indexAllProducts', 'Uprawnienia do przeglądania listy wszystkich produktów.'],
            
            ['indexPublishingHouses', 'Uprawnienia do przeglądania listy wydawnictw.'],
            ['viewPublishingHouses', 'Uprawnienia do podglądu szczegółów wydawnictw.'],
            ['createPublishingHouses', 'Uprawnienia do tworzenia wydawnictw.'],
            ['updatePublishingHouses', 'Uprawnienia do edycji wydawnictw.'],
            ['deletePublishingHouses', 'Uprawnienia do usuwania wydawnictw.'],
            
            ['indexBookstoreCategories', 'Uprawnienia do przeglądania drzewa kategorii księgarni.'],
            ['modifyBookstoreCategories', 'Uprawnienia do modyfikowania drzewa kategorii księgarni.'],
            
            ['indexBooksReviews', 'Uprawnienia do przeglądania listy opinii w księgarni.'],
            ['viewBooksReviews', 'Uprawnienia do podglądu szczegółów opinii w księgarni.'],
            ['updateBooksReviews', 'Uprawnienia do edycji opinii w księgarni.'],
            ['deleteBooksReviews', 'Uprawnienia do usuwania opinii w księgarni.'],
            ['acceptBooksReviews', 'Uprawnienia do akceptacji nowych opinii w księgarni.'],
            
            ['indexBookstoreDiscountCodes', 'Uprawnienia do przeglądania listy kodów rabatowych dla księgarni.'],
            ['viewBookstoreDiscountCodes', 'Uprawnienia do podglądu szczegółów kodów rabatowych dla księgarni.'],
            ['createBookstoreDiscountCodes', 'Uprawnienia do tworzenia kodów rabatowych dla księgarni.'],
            ['deleteBookstoreDiscountCodes', 'Uprawnienia do usuwania kodów rabatowych dla księgarni.'],
            
            ['indexArticles', 'Uprawnienia do przeglądania listy artykułów.'],
            ['indexOwnArticles', 'Uprawnienia do przeglądania listy własnych artykułów.'],                        
            ['viewArticles', 'Uprawnienia do podglądu szczegółów artykułów.'],
            ['viewOwnArticles', 'Uprawnienia do podglądu szczegółów własnych artykułów.', 'checkArticleOwner', 'viewArticles'],
            ['modifyArticles', 'Uprawnienia do modyfikowania artykułów.'],
            ['deleteArticles', 'Uprawnienia do usuwania artykułów.'],            
            ['modifyArticlesStatuses', 'Uprawnienia do modyfikowania statusów artykułów.'],
            
            ['browsePortalsArticlesGroups', 'Uprawnienia do przeglądania tematycznych grup dla artykułów.'],
            ['modifyPortalsArticlesGroups', 'Uprawnienia do modyfikowania tematycznych grup dla artykułów.'],
            
            ['indexPartners', 'Uprawnienia do przeglądania listy partnerów.'],
            ['viewPartners', 'Uprawnienia do podglądu szczegółów partnerów.'],
            ['createPartners', 'Uprawnienia do tworzenia partnerów.'],
            ['updatePartners', 'Uprawnienia do edycji partnerów.'],
            ['deletePartners', 'Uprawnienia do usuwania partnerów.'],
            
            ['indexMailingsReservations', 'Uprawnienia do przeglądania listy rezerwacji mailingów.'],
            ['viewMailingsReservations', 'Uprawnienia do podglądu szczegółów rezerwacji mailingów.'],
            ['createMailingsReservations', 'Uprawnienia do tworzenia rezerwacji mailingów.'],
            ['createOwnMailingsReservations', 'Uprawnienia do tworzenia własnych rezerwacji mailingów.'],
            ['updateMailingsReservations', 'Uprawnienia do edycji rezerwacji mailingów.'],
            ['deleteMailingsReservations', 'Uprawnienia do usuwania rezerwacji mailingów.'],
            ['acceptMailingsReservations', 'Uprawnienia do akceptacji rezerwacji mailingów.'],
            ['acceptOwnMailingsReservations', 'Uprawnienia do akceptacji własnych rezerwacji mailingów.', 'checkMailingReservationOwner', 'acceptMailingsReservations'],
            ['remindMailingsReservations', 'Uprawnienia do przypominania o rezerwacji mailingów.'],
            ['finalizeMailingsReservations', 'Uprawnienia do finalizowania rezerwacji mailingów.'],
            
            ['indexBanners', 'Uprawnienia do przeglądania listy banerów.'],
            ['viewBanners', 'Uprawnienia do podglądu szczegółów banerów.'],
            ['createBanners', 'Uprawnienia do tworzenia banerów.'],
            ['updateBanners', 'Uprawnienia do edycji banerów.'],
            ['deleteBanners', 'Uprawnienia do usuwania banerów.'],
            ['copyBanners', 'Uprawnienia do kopiowania banerów.'],
            
            ['viewBannersStatistics', 'Uprawnienia do przeglądania statystyk banerów.'],
            
            ['indexTenders', 'Uprawnienia do przeglądania listy przetargów.'],
            ['viewTenders', 'Uprawnienia do podglądu szczegółów przetargów.'],
            ['deleteTenders', 'Uprawnienia do usuwania przetargów.'],
            ['createInquiriesFromTenders', 'Uprawnienia do tworzenia zapytań ofertowych na podstawie przetargów.'],            
            
            ['indexInquiries', 'Uprawnienia do przeglądania listy zapytań ofertowych.'],
            ['indexOwnInquiries', 'Uprawnienia do przeglądania listy własnych zapytań ofertowych.'],
            ['viewInquiries', 'Uprawnienia do podglądu szczegółów zapytań ofertowych.'],
            ['viewOwnInquiries', 'Uprawnienia do podglądu szczegółów własnych zapytań ofertowych.', 'checkInquiryOwner', 'viewInquiries'],
            ['updateInquiries', 'Uprawnienia do edycji zapytań ofertowych.'],
            ['updateInquiriesFromTenders', 'Uprawnienia do edycji zapytań ofertowych utworzonych na podstawie przetargów.'],
            ['deleteInquiries', 'Uprawnienia do usuwania zapytań ofertowych.'],
            ['acceptInquiries', 'Uprawnienia do akceptacji nowych zapytań ofertowych.'],
            ['stopInquiries', 'Uprawnienia do zatrzymywania wysyłki zapytań ofertowych.'],
            
            ['indexAdvertisementsParams', 'Uprawnienia do przeglądania listy parametrów ogłoszeń.'],
            ['viewAdvertisementsParams', 'Uprawnienia do podglądu szczegółów parametrów ogłoszeń.'],
            ['createAdvertisementsParams', 'Uprawnienia do tworzenia parametrów ogłoszeń.'],
            ['updateAdvertisementsParams', 'Uprawnienia do edycji parametrów ogłoszeń.'],
            ['deleteAdvertisementsParams', 'Uprawnienia do usuwania parametrów ogłoszeń.'],
            
            ['indexAdvertisements', 'Uprawnienia do przeglądania listy ogłoszeń.'],
            ['indexOwnAdvertisements', 'Uprawnienia do przeglądania listy własnych ogłoszeń.'],
            ['viewAdvertisements', 'Uprawnienia do podglądu szczegółów ogłoszeń.'],
            ['viewOwnAdvertisements', 'Uprawnienia do podglądu szczegółów własnych ogłoszeń.', 'checkAdvertisementOwner', 'viewAdvertisements'],
            ['createAdvertisements', 'Uprawnienia do tworzenia ogłoszeń.'],
            ['createOwnAdvertisements', 'Uprawnienia do tworzenia własnych ogłoszeń.'],
            ['updateAdvertisements', 'Uprawnienia do edycji ogłoszeń.'],
            ['updateOwnAdvertisements', 'Uprawnienia do edycji własnych ogłoszeń.', 'checkAdvertisementOwner', 'updateAdvertisements'],
            ['deleteAdvertisements', 'Uprawnienia do usuwania ogłoszeń.'],
            ['deleteOwnAdvertisements', 'Uprawnienia do usuwania własnych ogłoszeń.', 'checkAdvertisementOwner', 'deleteAdvertisements'],
            ['modifyAdvertisementsStatuses', 'Uprawnienia do modyfikowania statusów ogłoszeń.'],
            ['refreshAdvertisements', 'Uprawnienia do odświeżania ogłoszeń.'],
            ['refreshOwnAdvertisements', 'Uprawnienia do odświeżania własnych ogłoszeń.', 'checkAdvertisementOwner', 'refreshAdvertisements'],
            ['closeAdvertisements', 'Uprawnienia do zamykania ogłoszeń.'],
            ['closeOwnAdvertisements', 'Uprawnienia do zamykania własnych ogłoszeń.', 'checkAdvertisementOwner', 'closeAdvertisements'],
            
            ['indexAdvertisementsMessages', 'Uprawnienia do przeglądania listy wiadomości do ogłoszeń.'],
            ['viewAdvertisementsMessages', 'Uprawnienia do podglądu szczegółów wiadomości do ogłoszeń.'],
            ['viewOwnAdvertisementsMessages', 'Uprawnienia do podglądu szczegółów własnych wiadomości do ogłoszeń.', 'checkAdvertisementMessageOwner', 'viewAdvertisementsMessages'],
            ['createAdvertisementsMessages', 'Uprawnienia do tworzenia wiadomości do ogłoszeń.', 'checkAdvertisementMessageOwner'],
            ['deleteAdvertisementsMessages', 'Uprawnienia do usuwania wiadomości do ogłoszeń.'],
            ['deleteOwnAdvertisementsMessages', 'Uprawnienia do usuwania własnych wiadomości do ogłoszeń.', 'checkAdvertisementMessageOwner', 'deleteAdvertisementsMessages'],
            
            ['indexFairsSeries', 'Uprawnienia do przeglądania listy cykli targów.'],
            ['indexOwnFairsSeries', 'Uprawnienia do przeglądania listy własnych cykli targów.'],
            ['viewFairsSeries', 'Uprawnienia do podglądu szczegółów cykli targów.'],
            ['viewOwnFairsSeries', 'Uprawnienia do podglądu szczegółów własnych cykli targów.', 'checkFairsSeriesOwner', 'viewFairsSeries'],
            ['createFairsSeries', 'Uprawnienia do tworzenia cykli targów.'],
            ['createOwnFairsSeries', 'Uprawnienia do tworzenia własnych cykli targów.'],
            ['updateFairsSeries', 'Uprawnienia do edycji cykli targów.'],
            ['updateOwnFairsSeries', 'Uprawnienia do edycji własnych cykli targów.', 'checkFairsSeriesOwner', 'updateFairsSeries'],
            ['deleteFairsSeries', 'Uprawnienia do usuwania cykli targów.'],
            ['deleteOwnFairsSeries', 'Uprawnienia do usuwania własnych cykli targów.', 'checkFairsSeriesOwner', 'deleteFairsSeries'],
            ['transformFairsSeriesToEditions', 'Uprawnienia do przekształcania cykli targów w edycje.'],
            ['transformOwnFairsSeriesToEditions', 'Uprawnienia do przekształcania własnych cykli targów w edycje.', 'checkFairsSeriesOwner', 'transformFairsSeriesToEditions'],
            
            ['indexFairs', 'Uprawnienia do przeglądania listy targów.'],
            ['indexOwnFairs', 'Uprawnienia do przeglądania listy własnych targów.', 'checkFairsSeriesOwner', 'indexFairs'],
            ['viewFairs', 'Uprawnienia do podglądu szczegółów targów.'],
            ['viewOwnFairs', 'Uprawnienia do podglądu szczegółów własnych targów.', 'checkFairsSeriesOwner', 'viewFairs'],
            ['createFairs', 'Uprawnienia do tworzenia targów.'],
            ['createOwnFairs', 'Uprawnienia do tworzenia własnych targów.'],
            ['updateFairs', 'Uprawnienia do edycji targów.'],
            ['updateOwnFairs', 'Uprawnienia do edycji własnych targów.', 'checkFairsSeriesOwner', 'updateFairs'],
            ['deleteFairs', 'Uprawnienia do usuwania targów.'],
            ['deleteOwnFairs', 'Uprawnienia do usuwania własnych targów.', 'checkFairsSeriesOwner', 'deleteFairs'],
            
            ['indexFairsCategories', 'Uprawnienia do przeglądania listy kategorii targów.'],
            ['viewFairsCategories', 'Uprawnienia do podglądu szczegółów kategorii targów.'],
            ['createFairsCategories', 'Uprawnienia do tworzenia kategorii targów.'],
            ['updateFairsCategories', 'Uprawnienia do edycji kategorii targów.'],
            ['deleteFairsCategories', 'Uprawnienia do usuwania kategorii targów.'],
            
            ['indexTrainings', 'Uprawnienia do przeglądania listy szkoleń.'],
            ['indexOwnTrainings', 'Uprawnienia do przeglądania listy własnych szkoleń.'],
            ['viewTrainings', 'Uprawnienia do podglądu szczegółów szkoleń.'],
            ['viewOwnTrainings', 'Uprawnienia do podglądu szczegółów własnych szkoleń.', 'checkTrainingOwner', 'viewTrainings'],
            ['modifyTrainings', 'Uprawnienia do modyfikowania szkoleń.'],
            ['modifyOwnTrainings', 'Uprawnienia do modyfikowania własnych szkoleń.', 'checkTrainingOwner'],
            ['deleteTrainings', 'Uprawnienia do usuwania szkoleń.'],
            ['deleteOwnTrainings', 'Uprawnienia do usuwania własnych szkoleń.', 'checkTrainingOwner', 'deleteTrainings'],
            
            ['indexTrainingsCategories', 'Uprawnienia do przeglądania listy kategorii szkoleń.'],
            ['viewTrainingsCategories', 'Uprawnienia do podglądu szczegółów kategorii szkoleń.'],
            ['createTrainingsCategories', 'Uprawnienia do tworzenia kategorii szkoleń.'],
            ['updateTrainingsCategories', 'Uprawnienia do edycji kategorii szkoleń.'],
            ['deleteTrainingsCategories', 'Uprawnienia do usuwania kategorii szkoleń.'],
            
            ['indexPortals', 'Uprawnienia do przeglądania listy portali.'],
            ['viewPortals', 'Uprawnienia do podglądu szczegółów portali.'],
            ['createPortals', 'Uprawnienia do tworzenia portali.'],
            ['updatePortals', 'Uprawnienia do edycji danych podstawowych portali.'],
            ['deletePortals', 'Uprawnienia do usuwania portali.'],            
            ['indexPortalsCompaniesCategories', 'Uprawnienia do przeglądania drzewa kategorii firm na portalach.'],
            ['modifyPortalsCompaniesCategories', 'Uprawnienia do modyfikowania drzewa kategorii firm na portalach.'],
            ['indexPortalsProductsCategories', 'Uprawnienia do przeglądania drzewa kategorii produktów na portalach.'],
            ['modifyPortalsProductsCategories', 'Uprawnienia do modyfikowania drzewa kategorii produktów na portalach.'],
            ['indexPortalsArticlesCategories', 'Uprawnienia do przeglądania drzewa kategorii artykułów na portalach.'],
            ['modifyPortalsArticlesCategories', 'Uprawnienia do modyfikowania drzewa kategorii artykułów na portalach.'],
            ['indexPortalsJobOffersCategories', 'Uprawnienia do przeglądania drzewa kategorii ofert pracy na portalach.'],
            ['modifyPortalsJobOffersCategories', 'Uprawnienia do modyfikowania drzewa kategorii ofert pracy na portalach.'],
            ['indexPortalsTrainingsCategories', 'Uprawnienia do przeglądania drzewa kategorii szkoleń na portalach.'],
            ['modifyPortalsTrainingsCategories', 'Uprawnienia do modyfikowania drzewa kategorii szkoleń na portalach.'],
            ['indexPortalsBookstoreCategories', 'Uprawnienia do przeglądania drzewa kategorii księgarni na portalach.'],
            ['modifyPortalsBookstoreCategories', 'Uprawnienia do modyfikowania drzewa kategorii księgarni na portalach.'],
            ['indexPortalsAdvertisementsCategories', 'Uprawnienia do przeglądania drzewa kategorii ogłoszeń na portalach.'],
            ['modifyPortalsAdvertisementsCategories', 'Uprawnienia do modyfikowania drzewa kategorii ogłoszeń na portalach.'],
            ['indexPortalsAdvertisementsCategoriesParams', 'Uprawnienia do przeglądania parametrów dla kategorii ogłoszeń na portalach.'],
            ['modifyPortalsAdvertisementsCategoriesParams', 'Uprawnienia do modyfikowania parametrów dla kategorii ogłoszeń na portalach.'],
            ['indexPortalsTendersCPV', 'Uprawnienia do przeglądania listy kodów CPV na portalach.'],
            ['modifyPortalsTendersCPV', 'Uprawnienia do modyfikowania kodów CPV na portalach.'],
            ['indexPortalsAdsInfo', 'Uprawnienia do przeglądania listy pozycji w reklamie serwisu na portalach.'],
            ['modifyPortalsAdsInfo', 'Uprawnienia do modyfikowania reklamy serwisu na portalach.'], 
            ['indexPortalsRecommendedSites', 'Uprawnienia do przeglądania listy polecanych stron na portalach.'],
            ['modifyPortalsRecommendedSites', 'Uprawnienia do modyfikowania polecanych stron na portalach.'],
            ['indexPortalsTopCompanies', 'Uprawnienia do przeglądania listy "Top firm" na portalach.'],
            ['modifyPortalsTopCompanies', 'Uprawnienia do modyfikowania listy "Top firm" na portalach.'],
            ['indexPortalsTopSearchCompanies', 'Uprawnienia do przeglądania listy "Top pozycji wyszukiwarce firm" na portalach.'],
            ['modifyPortalsTopSearchCompanies', 'Uprawnienia do modyfikowania listy "Top pozycji w wyszukiwarce firm" na portalach.'],
            ['indexPortalsTopProducts', 'Uprawnienia do przeglądania listy "Top produktów" na portalach.'],
            ['modifyPortalsTopProducts', 'Uprawnienia do modyfikowania listy "Top produktów" na portalach.'],
            ['indexPortalsTopSearchProducts', 'Uprawnienia do przeglądania listy "Top pozycji w wyszukiwarce produktów" na portalach.'],
            ['modifyPortalsTopSearchProducts', 'Uprawnienia do modyfikowania listy "Top pozycji w wyszukiwarce produktów" na portalach.'],              
            ['indexPortalsCompaniesPromotedInCategories', 'Uprawnienia do przeglądania listy firm promowanych w drzewie kategorii na portalach.'],
            ['modifyPortalsCompaniesPromotedInCategories', 'Uprawnienia do modyfikowania listy firm promowanych w drzewie kategorii na portalach.'],
            ['indexPortalsProductsPromotedInCategories', 'Uprawnienia do przeglądania listy produktów promowanych w drzewie kategorii na portalach.'],
            ['modifyPortalsProductsPromotedInCategories', 'Uprawnienia do modyfikowania listy produktów promowanych w drzewie kategorii na portalach.'],
            ['indexPortalsRecommendedBooks', 'Uprawnienia do przeglądania listy polecanych książek na portalach.'],
            ['modifyPortalsRecommendedBooks', 'Uprawnienia do modyfikowania listy polecanych książek na portalach.'],
            ['indexPortalsPresentationsSettings', 'Uprawnienia do przeglądania ustawień prezentacji na portalach.'],
            ['modifyPortalsPresentationsSettings', 'Uprawnienia do modyfikowania ustawień prezentacji na portalach.'],
            ['indexPortalsServicesTypes', 'Uprawnienia do przeglądania typów usług na portalach.'],
            ['modifyPortalsServicesTypes', 'Uprawnienia do modyfikowania typów usług na portalach.'],
            ['indexPortalsServices', 'Uprawnienia do przeglądania usług na portalach.'],
            ['modifyPortalsServices', 'Uprawnienia do modyfikowania usług na portalach.'],
            ['indexPortalsDataSets', 'Uprawnienia do przeglądania zakresu portali.'],
            ['modifyPortalsDataSets', 'Uprawnienia do modyfikowania zakresu portali.'],
            ['indexPortalsMenus', 'Uprawnienia do przeglądania menu portali.'],
            ['modifyPortalsMenus', 'Uprawnienia do modyfikowania menu portali.'],
            ['indexPortalsDesign', 'Uprawnienia do przeglądania ustawień wizualnych portali.'],
            ['modifyPortalsDesign', 'Uprawnienia do modyfikowania ustawień wizualnych portali.'],
            ['indexPortalsExternalServices', 'Uprawnienia do przeglądania ustawień społecznościowych portali.'],
            ['modifyPortalsExternalServices', 'Uprawnienia do modyfikowania ustawień zewnętrznych usług portali.'],
            ['indexPortalsArticlesTags', 'Uprawnienia do przeglądania wybranych tagów artykułów.'],
            ['modifyPortalsArticlesTags', 'Uprawnienia do modyfikowania wybranych tagów artykułów.'],
            ['indexPortalsSeo', 'Uprawnienia do przeglądania ustawień SEO portali.'],
            ['modifyPortalsSeo', 'Uprawnienia do modyfikowania ustawień SEO portali.'],
            ['indexPortalsHomepages', 'Uprawnienia do przeglądania ustawień stron głównych portali.'],
            ['modifyPortalsHomepages', 'Uprawnienia do modyfikowania ustawień stron głównych portali.'],
            ['indexPortalsSmtp', 'Uprawnienia do przeglądania ustawień skrzynek pocztowych portali.'],
            ['modifyPortalsSmtp', 'Uprawnienia do modyfikowania ustawień skrzynek pocztowych portali.'],
            
            ['indexBusinessSectors', 'Uprawnienia do przeglądania listy branż.'],
            ['viewBusinessSectors', 'Uprawnienia do podglądu szczegółów branż.'],
            ['createBusinessSectors', 'Uprawnienia do tworzenia branż.'],
            ['updateBusinessSectors', 'Uprawnienia do edycji branż.'],
            ['deleteBusinessSectors', 'Uprawnienia do usuwania branż.'],
            
            ['indexOperatorsSections', 'Uprawnienia do przeglądania listy działów obsługi.'],
            ['viewOperatorsSections', 'Uprawnienia do podglądu szczegółów działów obsługi.'],
            ['createOperatorsSections', 'Uprawnienia do tworzenia działów obsługi.'],
            ['updateOperatorsSections', 'Uprawnienia do edycji działów obsługi.'],
            ['deleteOperatorsSections', 'Uprawnienia do usuwania działów obsługi.'],
            
            ['indexHelpAdminPanel', 'Uprawnienia do przeglądania listy stron pomocy panelu administracyjnego.'],
            ['viewHelpAdminPanel', 'Uprawnienia do podglądu szczegółów stron pomocy panelu administracyjnego.'],
            ['createHelpAdminPanel', 'Uprawnienia do tworzenia stron pomocy panelu administracyjnego.'],
            ['updateHelpAdminPanel', 'Uprawnienia do edycji stron pomocy panelu administracyjnego.'],
            ['deleteHelpAdminPanel', 'Uprawnienia do usuwania stron pomocy panelu administracyjnego.'],
            
            ['indexPortalsGroups', 'Uprawnienia do przeglądania listy grup tematycznych portali.'],
            ['viewPortalsGroups', 'Uprawnienia do podglądu szczegółów grup tematycznych portali.'],
            ['createPortalsGroups', 'Uprawnienia do tworzenia grup tematycznych portali.'],
            ['updatePortalsGroups', 'Uprawnienia do edycji grup tematycznych portali.'],
            ['deletePortalsGroups', 'Uprawnienia do usuwania grup tematycznych portali.'],
            
            ['indexEmails', 'Uprawnienia do przeglądania listy emaili.'],
            ['viewEmails', 'Uprawnienia do podglądu szczegółów emaili.'],
            
            ['indexEmailsSets', 'Uprawnienia do przeglądania listy zestawów emaili.'],
            ['viewEmailsSets', 'Uprawnienia do podglądu szczegółów zestawów emaili.'],
            ['modifyEmailsSets', 'Uprawnienia do modyfikowania zestawów emaili.'],
            ['getEmailsFromEmailsSets', 'Uprawnienia do pobierania emaili z zestawów emaili.'],
            
            ['indexMailings', 'Uprawnienia do przeglądania listy mailingów.'],
            ['viewMailings', 'Uprawnienia do podglądu szczegółów mailingów.'],
            ['createMailings', 'Uprawnienia do tworzenia mailingów.'],
            ['updateMailings', 'Uprawnienia do edycji mailingów.'],
            ['deleteMailings', 'Uprawnienia do usuwania mailingów.'],
            ['deliveryManagementMailings', 'Uprawnienia do zarządzania wysyłką mailingów.'],
            ['testSendMailings', 'Uprawnienia do testowania wysyłki mailingów.'],
            
            ['indexMailingsContents', 'Uprawnienia do przeglądania listy treści mailingów.'],
            ['viewMailingsContents', 'Uprawnienia do podglądu szczegółów treści mailingów.'],
            ['createMailingsContents', 'Uprawnienia do tworzenia treści mailingów.'],
            ['updateMailingsContents', 'Uprawnienia do edycji treści mailingów.'],
            ['deleteMailingsContents', 'Uprawnienia do usuwania treści mailingów.'],
            
            ['viewMailingsStatistics', 'Uprawnienia do przeglądania statystyk mailingów.'],
            
            ['indexJobOffers', 'Uprawnienia do przeglądania listy ofert pracy.'],
            ['viewJobOffers', 'Uprawnienia do podglądu szczegółów ofert pracy.'],
            ['createJobOffers', 'Uprawnienia do tworzenia ofert pracy.'],
            ['updateJobOffers', 'Uprawnienia do edycji ofert pracy.'],
            ['deleteJobOffers', 'Uprawnienia do usuwania ofert pracy.'],
            
            ['indexJobOffersCategories', 'Uprawnienia do przeglądania listy kategorii ofert pracy.'],
            ['viewJobOffersCategories', 'Uprawnienia do podglądu szczegółów kategorii ofert pracy.'],
            ['createJobOffersCategories', 'Uprawnienia do tworzenia kategorii ofert pracy.'],
            ['updateJobOffersCategories', 'Uprawnienia do edycji kategorii ofert pracy.'],
            ['deleteJobOffersCategories', 'Uprawnienia do usuwania kategorii ofert pracy.'],
            
            ['indexJobOffersSources', 'Uprawnienia do przeglądania listy źródeł ofert pracy.'],
            ['viewJobOffersSources', 'Uprawnienia do podglądu szczegółów źródeł ofert pracy.'],
            ['createJobOffersSources', 'Uprawnienia do tworzenia źródeł ofert pracy.'],
            ['updateJobOffersSources', 'Uprawnienia do edycji źródeł ofert pracy.'],
            ['deleteJobOffersSources', 'Uprawnienia do usuwania źródeł ofert pracy.'],
            
            ['assigningCompaniesOrdersItemsRealizations', 'Uprawnienia do przypisywania realizacji przedmiotów zamówień do operatorów.'],
            ['assigningYourselfCompaniesOrdersItemsRealizations', 'Uprawnienia do przypisywania sobie realizacji przedmiotów zamówień.', 'checkCompanyOrderItemAssign'],
            ['indexCompaniesOrdersItemsRealizations', 'Uprawnienia do przeglądania listy realizacji przedmiotów zamówień.'],
            ['indexOwnCompaniesOrdersItemsRealizations', 'Uprawnienia do przeglądania listy własnych realizacji przedmiotów zamówień.'],
            ['viewCompaniesOrdersItemsRealizations', 'Uprawnienia do podglądu szczegółów realizacji przedmiotów zamówień.'],
            ['viewOwnCompaniesOrdersItemsRealizations', 'Uprawnienia do podglądu szczegółów własnych realizacji przedmiotów zamówień.', 'checkCompanyOrderItemOwner', 'viewCompaniesOrdersItemsRealizations'],
            ['executeCompaniesOrdersItemsRealizations', 'Uprawnienia do wykonania realizacji przedmiotów zamówień.'],
            ['executeOwnCompaniesOrdersItemsRealizations', 'Uprawnienia do wykonania własnych realizacji przedmiotów zamówień.', 'checkCompanyOrderItemOwner', 'executeCompaniesOrdersItemsRealizations'],
            ['indexCompaniesOrders', 'Uprawnienia do przeglądania listy zamówień.'],
//            ['indexOwnCompaniesOrders', 'Uprawnienia do przeglądania listy własnych zamówień.'], //@todo wyłączone na prośbę Łukasza
            ['indexAssignedCompaniesOrders', 'Uprawnienia do przeglądania listy przypisanych zamówień.'],
            ['viewCompaniesOrders', 'Uprawnienia do podglądu szczegółów zamówień.'],
//            ['viewOwnCompaniesOrders', 'Uprawnienia do podglądu szczegółów własnych zamówień.', 'checkCompanyOrderOwner', 'viewCompaniesOrders'], //@todo to chyba nie powinno być w uprawnieniach firmy
            ['viewAssignedCompaniesOrders', 'Uprawnienia do podglądu szczegółów przypisanych zamówień.', 'checkCompanyOrderOwner', 'viewCompaniesOrders'],
            ['getCompaniesOrders', 'Uprawnienia do pobierania zamówień.'],
//            ['getOwnCompaniesOrders', 'Uprawnienia do pobierania własnych zamówień.', 'checkCompanyOrderOwner', 'getCompaniesOrders'], //@todo wyłączone na prośbę Łukasza
            ['getAssignedCompaniesOrders', 'Uprawnienia do pobierania przypisanych zamówień.', 'checkCompanyOrderOwner', 'getCompaniesOrders'],
            ['createCompaniesOrders', 'Uprawnienia do tworzenia zamówień.'],
            ['updateCompaniesOrders', 'Uprawnienia do edycji zamówień.'],
            ['updateAssignedCompaniesOrders', 'Uprawnienia do edycji przypisanych zamówień.', 'checkCompanyOrderOwner', 'updateCompaniesOrders'],
            ['deleteCompaniesOrders', 'Uprawnienia do usuwania zamówień.'],
            ['deleteAssignedCompaniesOrders', 'Uprawnienia do usuwania przypisanych zamówień.', 'checkCompanyOrderOwner', 'deleteCompaniesOrders'],
            ['deleteCompaniesArchiveOrders', 'Uprawnienia do usuwania archiwalnych zamówień.'],
            ['generateInvoiceForCompaniesOrders', 'Uprawnienia do generowania faktur dla zamówień.'],
            ['generateInvoiceForAssignedCompaniesOrders', 'Uprawnienia do generowania faktur dla przypisanych zamówień.', 'checkCompanyOrderOwner', 'generateInvoiceForCompaniesOrders'],
            
            ['indexUsers', 'Uprawnienia do przeglądania listy użytkowników.'],
            ['viewUsers', 'Uprawnienia do podglądu szczegółów użytkowników.'],
            ['viewOwnUsers', 'Uprawnienia do podglądu szczegółów własnego użytkownika.', 'checkUserOwner'],
            ['createUsers', 'Uprawnienia do tworzenia użytkowników.'],
            ['updateUsers', 'Uprawnienia do edycji użytkowników.'],
            ['updateOwnUsers', 'Uprawnienia do edycji własnego użytkownika.', 'checkUserOwner'],
            ['deleteUsers', 'Uprawnienia do usuwania użytkowników.'],
            
            ['viewOwnUsersData', 'Uprawnienia do przeglądania danych utworzonych przez własnego użytkownika.', 'checkUserOwner'],
            ['modifyOwnUsersData', 'Uprawnienia do modyfikowania danych utworzonych przez własnego użytkownika.', 'checkUserOwner'],
            
            ['viewCompaniesData', 'Uprawnienia do przeglądania danych firm.'],
            ['viewAssignedCompaniesData', 'Uprawnienia do przeglądania przypisanych firm.', 'checkCompanyOwner', 'viewCompaniesData'],
            ['viewOwnCompaniesData', 'Uprawnienia do przeglądania danych własnych firm.', 'checkCompanyOwner', 'viewCompaniesData'],
            ['modifyCompaniesData', 'Uprawnienia do modyfikowania danych firm.'],
            ['modifyAssignedCompaniesData', 'Uprawnienia do modyfikowania danych przypisanych firm.', 'checkCompanyOwner', 'modifyCompaniesData'],            
            ['modifyOwnCompaniesData', 'Uprawnienia do modyfikowania danych własnych firm.', 'checkCompanyOwner', 'modifyCompaniesData'],
            ['indexSimilarCompanies', 'Uprawnienia do przeglądania/wyszukiwania firm podobnych.'],
            ['modifyAssignedCompaniesBasicData', 'Uprawnienia do modyfikowania podstawowych danych przypisanych firm.', 'checkCompanyOwner'],
            ['modifyCompaniesAnnotations', 'Uprawnienia do modyfikowania uwag do firm.'],
            ['modifyAssignedCompaniesAnnotations', 'Uprawnienia do modyfikowania uwag do przypisanych firm.', 'checkCompanyOwner', 'modifyCompaniesAnnotations'],
            
            ['modifyUsersDataWithoutRegistering', 'Uprawnienia do modyfikowania danych firm bez rejestracji czynności.'],
            
            ['indexCompanies', 'Uprawnienia do przeglądania listy firm.'],
            ['indexOwnCompanies', 'Uprawnienia do przeglądania listy własnych firm.'],
            ['indexAssignedCompanies', 'Uprawnienia do przeglądania listy przypisanych firm.'],
            ['createCompanies', 'Uprawnienia do tworzenia firm.'],
            ['createOwnCompanies', 'Uprawnienia do tworzenia własnych firm.'],
            ['deleteCompanies', 'Uprawnienia do usuwania firm.'],
            ['deleteOwnCompanies', 'Uprawnienia do usuwania własnych firm.', 'checkCompanyOwner', 'deleteCompanies'],            
            
            ['viewCompaniesEmployees', 'Uprawnienia do przeglądania pracowników firm.'],
            ['viewAssignedCompaniesEmployees', 'Uprawnienia do przeglądania pracowników przypisanych firm.', 'checkCompanyOwner', 'viewCompaniesEmployees'],
            ['viewOwnCompaniesEmployees', 'Uprawnienia do przeglądania pracowników własnych firm.', 'checkCompanyOwner', 'viewCompaniesEmployees'],
            ['modifyCompaniesEmployees', 'Uprawnienia do modyfikowania pracowników firm.'],
            ['modifyAssignedCompaniesEmployees', 'Uprawnienia do modyfikowania pracowników przypisanych firm.', 'checkCompanyOwner', 'modifyCompaniesEmployees'],
            ['modifyOwnCompaniesEmployees', 'Uprawnienia do modyfikowania pracowników własnych firm.', 'checkCompanyOwner', 'modifyCompaniesEmployees'],
            
            ['viewCompaniesPresentations', 'Uprawnienia do przeglądania prezentacji firm.'],
            ['viewAssignedCompaniesPresentations', 'Uprawnienia do przeglądania prezentacji przypisanych firm.', 'checkCompanyOwner', 'viewCompaniesPresentations'],
            ['viewOwnCompaniesPresentations', 'Uprawnienia do przeglądania prezentacji własnych firm.', 'checkCompanyOwner', 'viewCompaniesPresentations'],
            ['modifyCompaniesPresentations', 'Uprawnienia do modyfikowania prezentacji firm.'],
//            ['modifyAssignedCompaniesPresentations', 'Uprawnienia do modyfikowania prezentacji przypisanych firm.', 'checkCompanyOwner', 'modifyCompaniesPresentations'], //@todo to chyba nie będzie wykorzytywane...
            ['modifyOwnCompaniesPresentations', 'Uprawnienia do modyfikowania prezentacji własnych firm.', 'checkCompanyOwner', 'modifyCompaniesPresentations'],
            ['modifyCompaniesPresentationsSettings', 'Uprawnienia do modyfikowania ustawień prezentacji firm.'], 
            ['modifyAssignedCompaniesPresentationsSettings', 'Uprawnienia do modyfikowania ustawień prezentacji przypisanych firm.', 'checkCompanyOwner', 'modifyCompaniesPresentationsSettings'],
            ['accessToInactiveCompaniesPresentations', 'Uprawnienia dostępu do nieaktywnych prezentacji firm.'],
            ['createCompaniesPresentations', 'Uprawnienia do tworzenia nowych prezentacji firm.'],
            
            ['manageCompanies', 'Uprawnienia do zarządzania przypisanymi firmami.', 'checkCompanyPatron'],
            
            ['manageCompaniesCases', 'Uprawnienia do zarządzania sprawami firm.'],
            ['forwardCompaniesCases', 'Uprawnienia do przekazywania spraw firm.'],
            ['forwardAssignedCompaniesCases', 'Uprawnienia do przekazywania spraw przypisanych firm.', 'checkCompanyOwner', 'forwardCompaniesCases'],
            
            ['viewServices', 'Uprawnienia do przeglądania usług.'],
            
            ['indexInvoices', 'Uprawnienia do przeglądania listy faktur firm.'],
            ['indexRelatedInvoices', 'Uprawnienia do przeglądania listy faktur powiązanych firm.'],
            ['viewInvoices', 'Uprawnienia do podglądu szczegółów faktur firm.'],
            ['viewRelatedInvoices', 'Uprawnienia do podglądu szczegółów faktur powiązanych firm.'],
            ['createInvoices', 'Uprawnienia do tworzenia faktur firm.'],
            ['updateInvoices', 'Uprawnienia do edycji faktur firm.'],
            ['updateRelatedInvoices', 'Uprawnienia do edycji faktur powiązanych firm.'],
            ['deleteInvoices', 'Uprawnienia do usuwania faktur firm.'],
            ['getInvoices', 'Uprawnienia do pobierania faktur firm.'],
            ['getRelatedInvoices', 'Uprawnienia do pobierania faktur powiązanych firm.'],
            ['sendInvoices', 'Uprawnienia do wysyłania faktur firm.'],
            ['modifyInvoicesFull', 'Uprawnienia do pełnego modifikowania faktur firm.'],
            
            ['browseUpcomingContacts', 'Uprawnienia do przeglądania zbliżających się kontaktów z firmami.'],
            
            ['indexPrivateInvoices', 'Uprawnienia do przeglądania listy prywatnych faktur.'],
            ['viewPrivateInvoices', 'Uprawnienia do podglądu szczegółów prywatnych faktur.'],
            ['createPrivateInvoices', 'Uprawnienia do tworzenia prywatnych faktur.'],
            ['updatePrivateInvoices', 'Uprawnienia do edycji prywatnych faktur.'],
            ['deletePrivateInvoices', 'Uprawnienia do usuwania prywatnych faktur.'],
            ['indexContractors', 'Uprawnienia do przeglądania listy kontrahentów.'],
            ['viewContractors', 'Uprawnienia do podglądu szczegółów kontrahentów.'],
            ['createContractors', 'Uprawnienia do tworzenia kontrahentów.'],
            ['updateContractors', 'Uprawnienia do edycji kontrahentów.'],
            ['deleteContractors', 'Uprawnienia do usuwania kontrahentów.'],
            
            ['indexInvoicesReceipts', 'Uprawnienia do przeglądania listy wpływów z faktur.'],
            
            ['indexUsersChanges', 'Uprawnienia do przeglądania listy zmian dokonanych samodzielnie przez użytkowników.'],
            ['modifyUsersChanges', 'Uprawnienia do modyfikowania zmian dokonanych samodzielnie przez użytkowników.'],
            
            ['clearCache', 'Uprawnienia do czyszczenia cache na froncie.'],
            
            ['updatePresentationsPackagesDescriptions', 'Uprawnienia do edycji opisów pakietów prezentacji.'],
            
            ['indexUsersPayments', 'Uprawnienia do przeglądania listy płatności elektronicznych użytkowników.'],
            ['indexOwnUsersPayments', 'Uprawnienia do przeglądania listy własnych płatności elektronicznych użytkowników.'],
            ['viewUsersPayments', 'Uprawnienia do podglądu szczegółów płatności elektronicznych użytkowników.'],
            ['viewOwnUsersPayments', 'Uprawnienia do podglądu szczegółów własnych płatności elektronicznych użytkowników.', 'checkUserOwner', 'viewUsersPayments'],
            ['indexUsersPaymentsSummary', 'Uprawnienia do przeglądania zestawień płatności elektronicznych użytkowników.'],
        ];
        
        foreach($permissions as $permission) {
            $newPermission = $auth->createPermission($permission[0]);
            $newPermission->description = $permission[1];
            if(!empty($permission[2])) {
                $newPermission->ruleName = $auth->getRule($permission[2])->name;
            }            
            $auth->add($newPermission);
            if(!empty($permission[3])) {
                $parentPermission = $auth->getPermission($permission[3]);
                $auth->addChild($newPermission, $parentPermission);
            }
        }
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
    /**
     * Creates a set of rules for permissions
     * 
     * @return int exit code
     */
    public function actionCreateRules()
    {
        $auth = Yii::$app->authManager;
        
        $auth->removeAllRules();     
        
        $ruleCheckUserOwner = new \backend\components\rbac\CheckUserOwnerRule();
        $auth->add($ruleCheckUserOwner);
        
        $ruleCheckCompanyOwner = new \backend\components\rbac\CheckCompanyOwnerRule();
        $auth->add($ruleCheckCompanyOwner);
        
        $ruleCheckArticleOwner = new \backend\components\rbac\CheckArticleOwnerRule();
        $auth->add($ruleCheckArticleOwner);
        
        $ruleCheckTrainingOwner = new \backend\components\rbac\CheckTrainingOwnerRule();
        $auth->add($ruleCheckTrainingOwner);
        
        $ruleCheckAdvertisementOwner = new \backend\components\rbac\CheckAdvertisementOwnerRule();
        $auth->add($ruleCheckAdvertisementOwner);

        $ruleCheckAdvertisementMessageOwner = new \backend\components\rbac\CheckAdvertisementMessageOwnerRule();
        $auth->add($ruleCheckAdvertisementMessageOwner);
        
        $ruleCheckMailingReservationOwner = new \backend\components\rbac\CheckMailingReservationOwnerRule();
        $auth->add($ruleCheckMailingReservationOwner);
        
        $ruleCheckFairsSeriesOwner = new \backend\components\rbac\CheckFairsSeriesOwnerRule();
        $auth->add($ruleCheckFairsSeriesOwner);
        
        $ruleCheckInquiryOwner = new \backend\components\rbac\CheckInquiryOwnerRule();
        $auth->add($ruleCheckInquiryOwner);
        
        $ruleCheckCompanyOrderItemOwner = new \backend\components\rbac\CheckCompanyOrderItemOwnerRule();
        $auth->add($ruleCheckCompanyOrderItemOwner);
        
        $ruleCheckCompanyOrderOwner = new \backend\components\rbac\CheckCompanyOrderOwnerRule();
        $auth->add($ruleCheckCompanyOrderOwner);
        
        $ruleCheckCompanyPatron = new \backend\components\rbac\CheckCompanyPatronRule();
        $auth->add($ruleCheckCompanyPatron);
        
        $ruleCheckCompanyOrderItemAssign = new \backend\components\rbac\CheckCompanyOrderItemAssignRule();
        $auth->add($ruleCheckCompanyOrderItemAssign);
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
    /**
     * Associate permissions with roles
     * 
     * @return int exit code
     */
    public function actionAssociatePermissionsWithRoles()
    {
        $auth = Yii::$app->authManager;
        
        $admin = $auth->getRole(UserProfile::ADMIN);
        $moderator = $auth->getRole(UserProfile::MODERATOR);
        $editor = $auth->getRole(UserProfile::EDITOR);
        $operator = $auth->getRole(UserProfile::OPERATOR);
        $marketer = $auth->getRole(UserProfile::MARKETER);
        $company = $auth->getRole(UserProfile::COMPANY);
        $user = $auth->getRole(UserProfile::USER);
        
        $permissionViewOwnCompanyData = $auth->getPermission('viewOwnCompanyData');
        if(empty($permissionViewOwnCompanyData)) {
            echo $this->stderr('Permission: "viewOwnCompanyData" not exists. You must execute command: "yii rbac/create-permissions".');
            return Controller::EXIT_CODE_ERROR;
        }        
        $auth->addChild($company, $permissionViewOwnCompanyData);
        
        $permissionViewCompanyData = $auth->getPermission('viewCompanyData');
        $auth->addChild($admin, $permissionViewCompanyData);
        
        $auth->addChild($editor, $auth->getPermission('indexAllBooks'));
        $auth->addChild($editor, $auth->getPermission('indexAllProducts'));
        
        $auth->addChild($company, $auth->getPermission('indexPublishingHouses'));
        $auth->addChild($marketer, $auth->getPermission('viewPublishingHouses'));
        $auth->addChild($editor, $auth->getPermission('createPublishingHouses'));
        $auth->addChild($editor, $auth->getPermission('updatePublishingHouses'));
        $auth->addChild($editor, $auth->getPermission('deletePublishingHouses'));
        
        $auth->addChild($marketer, $auth->getPermission('indexBookstoreCategories'));
        $auth->addChild($admin, $auth->getPermission('modifyBookstoreCategories'));
        
        $auth->addChild($marketer, $auth->getPermission('indexBooksReviews'));
        $auth->addChild($marketer, $auth->getPermission('viewBooksReviews'));
        $auth->addChild($operator, $auth->getPermission('updateBooksReviews'));
        $auth->addChild($operator, $auth->getPermission('deleteBooksReviews'));
        $auth->addChild($operator, $auth->getPermission('acceptBooksReviews'));
        
        $auth->addChild($marketer, $auth->getPermission('indexBookstoreDiscountCodes'));
        $auth->addChild($marketer, $auth->getPermission('viewBookstoreDiscountCodes'));
        $auth->addChild($admin, $auth->getPermission('createBookstoreDiscountCodes'));
        $auth->addChild($admin, $auth->getPermission('deleteBookstoreDiscountCodes'));
        
        $auth->addChild($marketer, $auth->getPermission('indexArticles'));
        $auth->addChild($marketer, $auth->getPermission('viewArticles'));
        $auth->addChild($company, $auth->getPermission('indexOwnArticles'));
        $auth->addChild($company, $auth->getPermission('viewOwnArticles'));
        $auth->addChild($operator, $auth->getPermission('modifyArticles'));
        $auth->addChild($editor, $auth->getPermission('modifyArticlesStatuses'));
        $auth->addChild($operator, $auth->getPermission('deleteArticles'));
        
        $auth->addChild($operator, $auth->getPermission('browsePortalsArticlesGroups'));
        $auth->addChild($operator, $auth->getPermission('modifyPortalsArticlesGroups'));
        
        $auth->addChild($marketer, $auth->getPermission('indexPartners'));
        $auth->addChild($marketer, $auth->getPermission('viewPartners'));
        $auth->addChild($editor, $auth->getPermission('createPartners'));
        $auth->addChild($editor, $auth->getPermission('updatePartners'));
        $auth->addChild($editor, $auth->getPermission('deletePartners'));
        
        $auth->addChild($marketer, $auth->getPermission('indexMailingsReservations'));
        $auth->addChild($marketer, $auth->getPermission('viewMailingsReservations'));
        $auth->addChild($moderator, $auth->getPermission('createMailingsReservations'));
        $auth->addChild($marketer, $auth->getPermission('createOwnMailingsReservations'));
        $auth->addChild($moderator, $auth->getPermission('acceptMailingsReservations'));
        $auth->addChild($marketer, $auth->getPermission('acceptOwnMailingsReservations'));
        $auth->addChild($marketer, $auth->getPermission('remindMailingsReservations'));
        $auth->addChild($moderator, $auth->getPermission('updateMailingsReservations'));
        $auth->addChild($moderator, $auth->getPermission('deleteMailingsReservations'));
        $auth->addChild($moderator, $auth->getPermission('finalizeMailingsReservations'));
        
        $auth->addChild($admin, $auth->getPermission('indexBanners'));
        $auth->addChild($admin, $auth->getPermission('viewBanners'));
        $auth->addChild($admin, $auth->getPermission('createBanners'));
        $auth->addChild($admin, $auth->getPermission('updateBanners'));
        $auth->addChild($admin, $auth->getPermission('deleteBanners'));
        $auth->addChild($admin, $auth->getPermission('copyBanners'));
        
        $auth->addChild($admin, $auth->getPermission('viewBannersStatistics'));
        
        $auth->addChild($marketer, $auth->getPermission('indexTenders'));
        $auth->addChild($marketer, $auth->getPermission('viewTenders'));
        $auth->addChild($operator, $auth->getPermission('deleteTenders'));
        $auth->addChild($marketer, $auth->getPermission('createInquiriesFromTenders'));        
        
        $auth->addChild($marketer, $auth->getPermission('indexInquiries'));
        $auth->addChild($user, $auth->getPermission('indexOwnInquiries'));
        $auth->addChild($marketer, $auth->getPermission('viewInquiries'));
        $auth->addChild($user, $auth->getPermission('viewOwnInquiries'));
        $auth->addChild($moderator, $auth->getPermission('updateInquiries'));
        $auth->addChild($marketer, $auth->getPermission('updateInquiriesFromTenders'));
        $auth->addChild($moderator, $auth->getPermission('deleteInquiries'));
        $auth->addChild($moderator, $auth->getPermission('acceptInquiries'));
        $auth->addChild($moderator, $auth->getPermission('stopInquiries'));
        
        $auth->addChild($moderator, $auth->getPermission('indexAdvertisementsParams'));
        $auth->addChild($moderator, $auth->getPermission('viewAdvertisementsParams'));
        $auth->addChild($moderator, $auth->getPermission('createAdvertisementsParams'));
        $auth->addChild($moderator, $auth->getPermission('updateAdvertisementsParams'));
        $auth->addChild($moderator, $auth->getPermission('deleteAdvertisementsParams'));
        
        $auth->addChild($marketer, $auth->getPermission('indexAdvertisements'));
        $auth->addChild($user, $auth->getPermission('indexOwnAdvertisements'));
        $auth->addChild($marketer, $auth->getPermission('viewAdvertisements'));
        $auth->addChild($user, $auth->getPermission('viewOwnAdvertisements'));
        $auth->addChild($marketer, $auth->getPermission('createAdvertisements'));
        $auth->addChild($user, $auth->getPermission('createOwnAdvertisements'));
        $auth->addChild($marketer, $auth->getPermission('updateAdvertisements'));
        $auth->addChild($user, $auth->getPermission('updateOwnAdvertisements'));
        $auth->addChild($operator, $auth->getPermission('deleteAdvertisements'));
        $auth->addChild($user, $auth->getPermission('deleteOwnAdvertisements'));
        $auth->addChild($editor, $auth->getPermission('modifyAdvertisementsStatuses'));
        $auth->addChild($marketer, $auth->getPermission('refreshAdvertisements'));
        $auth->addChild($user, $auth->getPermission('refreshOwnAdvertisements'));
        $auth->addChild($marketer, $auth->getPermission('closeAdvertisements'));
        $auth->addChild($user, $auth->getPermission('closeOwnAdvertisements'));
        
        $auth->addChild($user, $auth->getPermission('indexAdvertisementsMessages'));
        $auth->addChild($marketer, $auth->getPermission('viewAdvertisementsMessages'));
        $auth->addChild($user, $auth->getPermission('viewOwnAdvertisementsMessages'));
        $auth->addChild($user, $auth->getPermission('createAdvertisementsMessages'));
        $auth->addChild($marketer, $auth->getPermission('deleteAdvertisementsMessages'));
        $auth->addChild($user, $auth->getPermission('deleteOwnAdvertisementsMessages'));
        
        
        $auth->addChild($operator, $auth->getPermission('indexFairsSeries'));
        $auth->addChild($company, $auth->getPermission('indexOwnFairsSeries'));
        $auth->addChild($operator, $auth->getPermission('viewFairsSeries'));
        $auth->addChild($company, $auth->getPermission('viewOwnFairsSeries'));
        $auth->addChild($operator, $auth->getPermission('createFairsSeries'));
        $auth->addChild($company, $auth->getPermission('createOwnFairsSeries'));
        $auth->addChild($operator, $auth->getPermission('updateFairsSeries'));
        $auth->addChild($company, $auth->getPermission('updateOwnFairsSeries'));
        $auth->addChild($operator, $auth->getPermission('deleteFairsSeries'));
        $auth->addChild($company, $auth->getPermission('deleteOwnFairsSeries'));
        $auth->addChild($operator, $auth->getPermission('transformFairsSeriesToEditions'));
        $auth->addChild($company, $auth->getPermission('transformOwnFairsSeriesToEditions'));
        
        $auth->addChild($operator, $auth->getPermission('indexFairs'));
        $auth->addChild($company, $auth->getPermission('indexOwnFairs'));
        $auth->addChild($operator, $auth->getPermission('viewFairs'));
        $auth->addChild($company, $auth->getPermission('viewOwnFairs'));
        $auth->addChild($operator, $auth->getPermission('createFairs'));
        $auth->addChild($company, $auth->getPermission('createOwnFairs'));
        $auth->addChild($operator, $auth->getPermission('updateFairs'));
        $auth->addChild($company, $auth->getPermission('updateOwnFairs'));
        $auth->addChild($operator, $auth->getPermission('deleteFairs'));
        $auth->addChild($company, $auth->getPermission('deleteOwnFairs'));
        
        $auth->addChild($moderator, $auth->getPermission('indexFairsCategories'));
        $auth->addChild($moderator, $auth->getPermission('viewFairsCategories'));
        $auth->addChild($moderator, $auth->getPermission('createFairsCategories'));
        $auth->addChild($moderator, $auth->getPermission('updateFairsCategories'));
        $auth->addChild($moderator, $auth->getPermission('deleteFairsCategories'));
        
        $auth->addChild($marketer, $auth->getPermission('indexTrainings'));
        $auth->addChild($company, $auth->getPermission('indexOwnTrainings'));
        $auth->addChild($marketer, $auth->getPermission('viewTrainings'));        
        $auth->addChild($company, $auth->getPermission('viewOwnTrainings'));
        $auth->addChild($operator, $auth->getPermission('modifyTrainings'));
        $auth->addChild($company, $auth->getPermission('modifyOwnTrainings'));
        $auth->addChild($operator, $auth->getPermission('deleteTrainings'));
        $auth->addChild($company, $auth->getPermission('deleteOwnTrainings'));
        
        $auth->addChild($admin, $auth->getPermission('indexTrainingsCategories'));
        $auth->addChild($admin, $auth->getPermission('viewTrainingsCategories'));
        $auth->addChild($admin, $auth->getPermission('createTrainingsCategories'));
        $auth->addChild($admin, $auth->getPermission('updateTrainingsCategories'));
        $auth->addChild($admin, $auth->getPermission('deleteTrainingsCategories'));

        $auth->addChild($operator, $auth->getPermission('indexPortals'));
        $auth->addChild($operator, $auth->getPermission('viewPortals'));
        $auth->addChild($admin, $auth->getPermission('createPortals'));
        $auth->addChild($admin, $auth->getPermission('updatePortals'));
        $auth->addChild($admin, $auth->getPermission('deletePortals'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsCompaniesCategories'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsCompaniesCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsProductsCategories'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsProductsCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsArticlesCategories'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsArticlesCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsJobOffersCategories'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsJobOffersCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsTrainingsCategories'));
        $auth->addChild($moderator, $auth->getPermission('modifyPortalsTrainingsCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsBookstoreCategories'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsBookstoreCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsAdvertisementsCategories'));
        $auth->addChild($moderator, $auth->getPermission('modifyPortalsAdvertisementsCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsAdvertisementsCategoriesParams'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsAdvertisementsCategoriesParams'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsTendersCPV'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsTendersCPV'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsAdsInfo'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsAdsInfo'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsRecommendedSites'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsRecommendedSites'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsTopCompanies'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsTopCompanies'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsTopSearchCompanies'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsTopSearchCompanies'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsCompaniesPromotedInCategories'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsCompaniesPromotedInCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsProductsPromotedInCategories'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsProductsPromotedInCategories'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsTopProducts'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsTopProducts'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsTopSearchProducts'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsTopSearchProducts'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsRecommendedBooks'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsRecommendedBooks'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsPresentationsSettings'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsPresentationsSettings'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsServicesTypes'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsServicesTypes'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsServices'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsServices'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsDataSets'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsDataSets'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsMenus'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsMenus'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsDesign'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsDesign'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsExternalServices'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsExternalServices'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsArticlesTags'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsArticlesTags'));        
        $auth->addChild($operator, $auth->getPermission('indexPortalsSeo'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsSeo'));
        $auth->addChild($operator, $auth->getPermission('indexPortalsHomepages'));
        $auth->addChild($editor, $auth->getPermission('modifyPortalsHomepages'));
        $auth->addChild($admin, $auth->getPermission('indexPortalsSmtp'));
        $auth->addChild($admin, $auth->getPermission('modifyPortalsSmtp'));
        
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $auth->addChild($marketer, $auth->getPermission('indexBusinessSectors'));
        $auth->addChild($marketer, $auth->getPermission('viewBusinessSectors'));
        $auth->addChild($editor, $auth->getPermission('createBusinessSectors'));
        $auth->addChild($editor, $auth->getPermission('updateBusinessSectors'));
        $auth->addChild($editor, $auth->getPermission('deleteBusinessSectors'));
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $auth->addChild($marketer, $auth->getPermission('indexOperatorsSections'));
        $auth->addChild($marketer, $auth->getPermission('viewOperatorsSections'));
        $auth->addChild($editor, $auth->getPermission('createOperatorsSections'));
        $auth->addChild($editor, $auth->getPermission('updateOperatorsSections'));
        $auth->addChild($editor, $auth->getPermission('deleteOperatorsSections'));
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $auth->addChild($marketer, $auth->getPermission('indexHelpAdminPanel'));
        $auth->addChild($marketer, $auth->getPermission('viewHelpAdminPanel'));
        $auth->addChild($editor, $auth->getPermission('createHelpAdminPanel'));
        $auth->addChild($editor, $auth->getPermission('updateHelpAdminPanel'));
        $auth->addChild($editor, $auth->getPermission('deleteHelpAdminPanel'));
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $auth->addChild($marketer, $auth->getPermission('indexPortalsGroups'));
        $auth->addChild($marketer, $auth->getPermission('viewPortalsGroups'));
        $auth->addChild($editor, $auth->getPermission('createPortalsGroups'));
        $auth->addChild($editor, $auth->getPermission('updatePortalsGroups'));
        $auth->addChild($editor, $auth->getPermission('deletePortalsGroups'));
        
        $auth->addChild($marketer, $auth->getPermission('indexUsers'));
        $auth->addChild($marketer, $auth->getPermission('viewUsers'));
        $auth->addChild($user, $auth->getPermission('viewOwnUsers'));
        $auth->addChild($admin, $auth->getPermission('createUsers'));
        $auth->addChild($admin, $auth->getPermission('updateUsers'));
        $auth->addChild($user, $auth->getPermission('updateOwnUsers'));
        $auth->addChild($admin, $auth->getPermission('deleteUsers'));
        
        $auth->addChild($user, $auth->getPermission('viewOwnUsersData'));
        $auth->addChild($user, $auth->getPermission('modifyOwnUsersData'));
        
        $auth->addChild($editor, $auth->getPermission('viewCompaniesData'));
        $auth->addChild($marketer, $auth->getPermission('viewAssignedCompaniesData'));
        $auth->addChild($company, $auth->getPermission('viewOwnCompaniesData'));
        $auth->addChild($editor, $auth->getPermission('modifyCompaniesData'));
//        $auth->addChild($marketer, $auth->getPermission('modifyAssignedCompaniesData')); //chwilowo wyłączone na prośbę Łukasza
        $auth->addChild($marketer, $auth->getPermission('modifyAssignedCompaniesBasicData'));
        $auth->addChild($company, $auth->getPermission('modifyOwnCompaniesData'));
        $auth->addChild($marketer, $auth->getPermission('indexSimilarCompanies'));
        $auth->addChild($editor, $auth->getPermission('modifyCompaniesAnnotations'));
        $auth->addChild($marketer, $auth->getPermission('modifyAssignedCompaniesAnnotations')); 
        
        $auth->addChild($marketer, $auth->getPermission('modifyUsersDataWithoutRegistering'));
        
        $auth->addChild($editor, $auth->getPermission('viewCompaniesEmployees'));
        $auth->addChild($marketer, $auth->getPermission('viewAssignedCompaniesEmployees'));
        $auth->addChild($company, $auth->getPermission('viewOwnCompaniesEmployees'));
        $auth->addChild($editor, $auth->getPermission('modifyCompaniesEmployees'));
        $auth->addChild($marketer, $auth->getPermission('modifyAssignedCompaniesEmployees'));
        $auth->addChild($company, $auth->getPermission('modifyOwnCompaniesEmployees'));
        
        $auth->addChild($operator, $auth->getPermission('indexCompanies'));
        $auth->addChild($marketer, $auth->getPermission('indexAssignedCompanies'));
        $auth->addChild($company, $auth->getPermission('indexOwnCompanies'));                
        $auth->addChild($marketer, $auth->getPermission('createCompanies'));
        $auth->addChild($company, $auth->getPermission('createOwnCompanies'));
        $auth->addChild($operator, $auth->getPermission('deleteCompanies'));
        $auth->addChild($company, $auth->getPermission('deleteOwnCompanies'));
        $auth->addChild($editor, $auth->getPermission('modifyCompaniesPresentationsSettings'));
        $auth->addChild($marketer, $auth->getPermission('modifyAssignedCompaniesPresentationsSettings'));
        $auth->addChild($marketer, $auth->getPermission('accessToInactiveCompaniesPresentations'));
        
        $auth->addChild($marketer, $auth->getPermission('viewCompaniesPresentations'));
//        $auth->addChild($operator, $auth->getPermission('viewCompaniesPresentations')); //@todo to chyba nie będzie wykorzystywane
//        $auth->addChild($marketer, $auth->getPermission('viewAssignedCompaniesPresentations')); //@todo to chyba nie będzie wykorzystywane
        $auth->addChild($company, $auth->getPermission('viewOwnCompaniesPresentations'));
        $auth->addChild($operator, $auth->getPermission('modifyCompaniesPresentations'));
//        $auth->addChild($marketer, $auth->getPermission('modifyAssignedCompaniesPresentations')); //@todo to chyba nie będzie wykorzystywane
        $auth->addChild($company, $auth->getPermission('modifyOwnCompaniesPresentations'));
        $auth->addChild($editor, $auth->getPermission('createCompaniesPresentations'));
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $auth->addChild($moderator, $auth->getPermission('assigningCompaniesOrdersItemsRealizations'));
        $auth->addChild($operator, $auth->getPermission('assigningYourselfCompaniesOrdersItemsRealizations'));
        $auth->addChild($moderator, $auth->getPermission('indexCompaniesOrdersItemsRealizations'));
        $auth->addChild($marketer, $auth->getPermission('indexOwnCompaniesOrdersItemsRealizations'));
        $auth->addChild($moderator, $auth->getPermission('viewCompaniesOrdersItemsRealizations'));
        $auth->addChild($marketer, $auth->getPermission('viewOwnCompaniesOrdersItemsRealizations'));
        $auth->addChild($moderator, $auth->getPermission('executeCompaniesOrdersItemsRealizations'));
        $auth->addChild($operator, $auth->getPermission('executeOwnCompaniesOrdersItemsRealizations'));
        $auth->addChild($editor, $auth->getPermission('indexCompaniesOrders'));
        $auth->addChild($marketer, $auth->getPermission('indexAssignedCompaniesOrders'));
//        $auth->addChild($company, $auth->getPermission('indexOwnCompaniesOrders')); //@todo wyłączone na prośbę Łukasza
        $auth->addChild($editor, $auth->getPermission('viewCompaniesOrders'));
        $auth->addChild($marketer, $auth->getPermission('viewAssignedCompaniesOrders'));
//        $auth->addChild($company, $auth->getPermission('viewOwnCompaniesOrders')); //@todo to chyba nie powinno być w uprawnieniach firmy
        $auth->addChild($editor, $auth->getPermission('getCompaniesOrders'));
        $auth->addChild($marketer, $auth->getPermission('getAssignedCompaniesOrders'));
//        $auth->addChild($company, $auth->getPermission('getOwnCompaniesOrders')); //@todo wyłączone na prośbę Łukasza
        $auth->addChild($marketer, $auth->getPermission('createCompaniesOrders'));
        $auth->addChild($editor, $auth->getPermission('updateCompaniesOrders'));
        $auth->addChild($marketer, $auth->getPermission('updateAssignedCompaniesOrders'));
        $auth->addChild($editor, $auth->getPermission('deleteCompaniesOrders'));
        $auth->addChild($editor, $auth->getPermission('deleteCompaniesArchiveOrders'));
        $auth->addChild($marketer, $auth->getPermission('deleteAssignedCompaniesOrders'));
        $auth->addChild($editor, $auth->getPermission('generateInvoiceForCompaniesOrders'));
        $auth->addChild($marketer, $auth->getPermission('generateInvoiceForAssignedCompaniesOrders'));        
        
        $auth->addChild($marketer, $auth->getPermission('manageCompanies'));
        
        $auth->addChild($marketer, $auth->getPermission('manageCompaniesCases'));
        
        $auth->addChild($editor, $auth->getPermission('forwardCompaniesCases'));
        $auth->addChild($marketer, $auth->getPermission('forwardAssignedCompaniesCases'));
        
        $auth->addChild($marketer, $auth->getPermission('viewServices'));
        
        $auth->addChild($operator, $auth->getPermission('indexInvoices'));
        $auth->addChild($marketer, $auth->getPermission('indexRelatedInvoices'));
        $auth->addChild($operator, $auth->getPermission('viewInvoices'));
        $auth->addChild($marketer, $auth->getPermission('viewRelatedInvoices'));
        $auth->addChild($moderator, $auth->getPermission('createInvoices'));
        $auth->addChild($operator, $auth->getPermission('updateInvoices'));
        $auth->addChild($marketer, $auth->getPermission('updateRelatedInvoices'));
        $auth->addChild($moderator, $auth->getPermission('deleteInvoices'));
        $auth->addChild($operator, $auth->getPermission('getInvoices'));
        $auth->addChild($marketer, $auth->getPermission('getRelatedInvoices'));
        $auth->addChild($marketer, $auth->getPermission('sendInvoices'));
        $auth->addChild($admin, $auth->getPermission('modifyInvoicesFull'));
        
        $auth->addChild($moderator, $auth->getPermission('indexEmails'));
        $auth->addChild($moderator, $auth->getPermission('viewEmails'));
        
        $auth->addChild($moderator, $auth->getPermission('indexEmailsSets'));
        $auth->addChild($moderator, $auth->getPermission('viewEmailsSets'));
        $auth->addChild($moderator, $auth->getPermission('modifyEmailsSets'));
        $auth->addChild($operator, $auth->getPermission('getEmailsFromEmailsSets'));
                
        $auth->addChild($editor, $auth->getPermission('indexMailings'));
        $auth->addChild($editor, $auth->getPermission('viewMailings'));
        $auth->addChild($editor, $auth->getPermission('createMailings'));
        $auth->addChild($editor, $auth->getPermission('updateMailings'));
        $auth->addChild($editor, $auth->getPermission('deleteMailings'));
        $auth->addChild($editor, $auth->getPermission('deliveryManagementMailings'));
        $auth->addChild($editor, $auth->getPermission('testSendMailings'));
        
        $auth->addChild($editor, $auth->getPermission('indexMailingsContents'));
        $auth->addChild($editor, $auth->getPermission('viewMailingsContents'));
        $auth->addChild($editor, $auth->getPermission('createMailingsContents'));
        $auth->addChild($editor, $auth->getPermission('updateMailingsContents'));
        $auth->addChild($editor, $auth->getPermission('deleteMailingsContents'));
        
        $auth->addChild($editor, $auth->getPermission('viewMailingsStatistics'));
        
        $auth->addChild($operator, $auth->getPermission('indexJobOffers'));
        $auth->addChild($operator, $auth->getPermission('viewJobOffers'));
        $auth->addChild($operator, $auth->getPermission('createJobOffers'));
        $auth->addChild($operator, $auth->getPermission('updateJobOffers'));
        $auth->addChild($operator, $auth->getPermission('deleteJobOffers'));
        
        $auth->addChild($admin, $auth->getPermission('indexJobOffersCategories'));
        $auth->addChild($admin, $auth->getPermission('viewJobOffersCategories'));
        $auth->addChild($admin, $auth->getPermission('createJobOffersCategories'));
        $auth->addChild($admin, $auth->getPermission('updateJobOffersCategories'));
        $auth->addChild($admin, $auth->getPermission('deleteJobOffersCategories'));
        
        $auth->addChild($admin, $auth->getPermission('indexJobOffersSources'));
        $auth->addChild($admin, $auth->getPermission('viewJobOffersSources'));
        $auth->addChild($admin, $auth->getPermission('createJobOffersSources'));
        $auth->addChild($admin, $auth->getPermission('updateJobOffersSources'));
        $auth->addChild($admin, $auth->getPermission('deleteJobOffersSources'));
        
        $auth->addChild($admin, $auth->getPermission('indexPrivateInvoices'));
        $auth->addChild($admin, $auth->getPermission('viewPrivateInvoices'));
        $auth->addChild($admin, $auth->getPermission('createPrivateInvoices'));
        $auth->addChild($admin, $auth->getPermission('updatePrivateInvoices'));
        $auth->addChild($admin, $auth->getPermission('deletePrivateInvoices'));
        $auth->addChild($admin, $auth->getPermission('indexContractors'));
        $auth->addChild($admin, $auth->getPermission('viewContractors'));
        $auth->addChild($admin, $auth->getPermission('createContractors'));
        $auth->addChild($admin, $auth->getPermission('updateContractors'));
        $auth->addChild($admin, $auth->getPermission('deleteContractors')); 
        
        $auth->addChild($admin, $auth->getPermission('indexInvoicesReceipts')); 
        
        $auth->addChild($marketer, $auth->getPermission('browseUpcomingContacts'));
        
        $auth->addChild($operator, $auth->getPermission('indexUsersChanges'));
        $auth->addChild($operator, $auth->getPermission('modifyUsersChanges'));  
        
        $auth->addChild($admin, $auth->getPermission('clearCache')); 
        
        $auth->addChild($editor, $auth->getPermission('updatePresentationsPackagesDescriptions'));

        $auth->addChild($admin, $auth->getPermission('indexUsersPayments')); 
        $auth->addChild($user, $auth->getPermission('indexOwnUsersPayments')); 
        $auth->addChild($admin, $auth->getPermission('viewUsersPayments')); 
        $auth->addChild($user, $auth->getPermission('viewOwnUsersPayments')); 
        $auth->addChild($admin, $auth->getPermission('indexUsersPaymentsSummary'));
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
    /**
     * Associate roles with users
     * 
     * @return int exit code
     */
    public function actionAssociateRolesWithUsers()
    {
        $auth = Yii::$app->authManager;
        
        $auth->removeAllAssignments();
        
        $roles = $auth->getRoles();
        
        $users = \common\models\Users::find()->select(['id_user', 'profile'])->asArray()->all();
        if(empty($users)) {
            return Controller::EXIT_CODE_NORMAL;
        }
        
        foreach($users as $user) {
            $auth->assign($roles[$user['profile']], $user['id_user']);
        }
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
    /**
     * Fills the tables used by the Authorization Manager
     * 
     * @return int exit code
     */
    public function actionIndex()
    {
        $this->actionCreateRoles();
        $this->actionCreateRules();
        $this->actionCreatePermissions();
        $this->actionAssociatePermissionsWithRoles();
        $this->actionAssociateRolesWithUsers();
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
}


Creat By MiNi SheLL
Email: jattceo@gmail.com