<div class="panel-tools"> <?php if (isset($organization["_id"]) && isset(Yii::app()->session["userId"]) && Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], $organization["_id"])) { ?> <a href="#" id="editFicheInfo" class="btn btn-xs btn-light-blue tooltips" data-toggle="tooltip" data-placement="top" title="Editer vos informations" alt=""><i class="fa fa-pencil"></i></a> <?php } ?> </div> </div> <div class="panel-body border-light" id="organizationDetail"> <div class="row"> <div class="col-sm-6 col-xs-6"> <?php $this->renderPartial('../pod/fileupload', array("itemId" => (string) $_GET["id"], "type" => Organization::COLLECTION, "resize" => "false", "contentId" => Document::IMG_PROFIL, "editMode" => Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], (string) $organization["_id"]))); ?> </div> <div class="col-sm-6 col-xs-6"> <div class="row height-155 padding-20"> <a href="#" id="streetAddress" data-type="text" data-title="Street Address" data-emptytext="Address" class="editable-context editable editable-click"> <?php echo isset($organization["address"]["streetAddress"]) ? $organization["address"]["streetAddress"] : null; ?> </a> <br> <a href="#" id="address" data-type="postalCode" data-title="Postal Code" data-emptytext="Postal Code" class="editable editable-click" data-placement="bottom"> </a> <br> <a href="#" id="addressCountry" data-type="select" data-title="Country" data-emptytext="Country" data-original-title="" class="editable editable-click"> </a>
<div class="panel panel-white"> <div class="panel-heading border-light"> <h4 class="panel-title"><i class="fa fa-calendar fa-2x text-red"></i> Mes événements</h4> </div> <div class="panel-tools"> <?php if (isset($userId) && isset(Yii::app()->session["userId"]) && $userId == Yii::app()->session["userId"] || isset($organizationId) && isset(Yii::app()->session["userId"]) && Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], $organizationId)) { ?> <a href="#newEvent" class="init-event btn btn-xs btn-light-blue tooltips" data-toggle="tooltip" data-placement="top" title="Add an Event" alt="Add an Event"><i class="fa fa-plus"></i> </a> <?php } ?> </div> <div class="panel-body no-padding"> <div class="panel-scroll height-230 ps-container"> <table class="table table-striped table-hover" id="events"> <tbody> <?php if (isset($events) && count($events) > 0) { foreach ($events as $e) { ?> <tr id="<?php echo Event::COLLECTION . (string) $e["_id"]; ?> "> <td class="center"> <a href="<?php echo Yii::app()->createUrl('/' . $this->module->id . '/event/dashboard/id/' . $e["_id"]); ?> " class="text-dark"> <?php
<?php $params = array("organization" => $organization, "tags" => $tags, "images" => $images, "plaquette" => $plaquette, "organizationTypes" => $organizationTypes, "countries" => $countries, "typeIntervention" => $typeIntervention, "publics" => $public); $this->renderPartial('../pod/ficheInfo', $params); ?> </div> <div class="col-sm-12 col-xs-12 documentPod"> <div class="panel panel-white pulsate"> <div class="panel-heading border-light "> <h4 class="panel-title"> <i class='fa fa-cog fa-spin fa-2x icon-big text-center'></i> Loading Documents Section</h4> <div class="space5"></div> </div> </div> </div> <?php if (isset($organization) && isset(Yii::app()->session["userId"]) && Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], (string) $organization["_id"])) { ?> <div class="col-sm-12 col-xs-12"> <?php $this->renderPartial('dashboard/network', array("organization" => $organization, "members" => $members, "organizationTypes" => $organizationTypes)); ?> </div> <?php } ?> <div class="col-sm-12 col-xs-12 jobPod"> <div class="panel panel-white pulsate"> <div class="panel-heading border-light "> <h4 class="panel-title"> <i class='fa fa-cog fa-spin fa-2x icon-big text-center'></i> Loading Jobs Section</h4> <div class="space5"></div>
#photoVideo .flexslider .slides img { position: relative; height: 100%; width: auto; margin-left: auto; margin-right: auto; max-width: 100%; } #video iframe{ width: 100%; } </style> <?php $canEdit = isset($itemId) && isset(Yii::app()->session["userId"]) && $itemId == Yii::app()->session["userId"] || isset($itemId) && isset(Yii::app()->session["userId"]) && Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], $itemId); ?> <div id="photoVideo"> <div class="panel panel-white"> <div class="panel-heading border-light"> <h4 class="panel-title podPhotoVideoTitle"> <i class='fa fa-cog fa-spin fa-2x icon-big text-center'></i> Loading Media</h4> </div> <div class="panel-tools"> <?php if ($canEdit) { ?> <a href="#" class="add-photoSlider btn btn-xs btn-light-blue tooltips" data-toggle="tooltip" data-placement="top" title="Add an image" alt="Add an image"><i class="fa fa-plus"></i></a> <?php } ?> <a href="<?php
<div class="panel panel-white"> <div class="panel-heading border-light"> <h4 class="panel-title">Annuaire </h4> <div class="panel-tools"> <?php $nbOrganization = isset($members[Organization::COLLECTION]) ? count($members[Organization::COLLECTION]) : 0; $nbPerson = isset($members[Person::COLLECTION]) ? count($members[Person::COLLECTION]) : 0; $isAuthorized = false; if (isset($organization) && isset(Yii::app()->session["userId"])) { $isAuthorized = Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], (string) $organization["_id"]); if ($isAuthorized) { ?> <a href="#addMembers" class="addMembersBtn btn btn-xs btn-light-blue tooltips" data-placement="top" data-original-title="Connect People or Organizations that are part of your Organization"><i class="fa fa-plus"></i></a> <?php } } ?> </div> </div> <div class="panel-body no-padding"> <div class="tabbable no-margin no-padding partition-dark"> <ul class="nav nav-tabs" id="myTab"> <li class="<?php if ($nbPerson > $nbOrganization) { echo "active"; } ?> "> <a data-toggle="tab" href="#users_tab_example2"> <i class="fa fa-user text-red"></i> People <span class="badge badge-red"><?php echo $nbPerson;
<a class="panel-expand" href="#"> <i class="fa fa-expand"></i> <span>Fullscreen</span> </a> </li> </ul> </div> <a class="btn btn-xs btn-link panel-close" href="#"> <i class="fa fa-times"></i> </a> </div> </div> <div class="panel-body no-padding center orgaDescription"> <div class="row"> <div class="col-md-12"> <?php $this->renderPartial('../pod/fileupload', array("itemId" => (string) $organization["_id"], "type" => Organization::COLLECTION, "contentId" => Document::IMG_BANNIERE, "show" => "true", "editMode" => Authorisation::isOrganizationAdmin(Yii::app()->session['userId'], $organization["_id"]))); ?> </div> </div> </div> </div> <script type="text/javascript"> var formDefinition = { "jsonSchema" : { "title" : "About Pod Form", "type" : "object", "properties" : { "description" :{ "inputType" : "textarea",
<div class="panel panel-white"> <div class="panel-heading border-light"> <h4 class="panel-title">List of Jobs Posting </h4> </div> <div class="panel-tools"> <?php if (isset($id) && isset(Yii::app()->session["userId"]) && Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], $id)) { ?> <a href="#new-job" class="new-job btn btn-xs btn-light-blue tooltips" data-placement="top" data-original-title="Create a job Offer"><i class="fa fa-plus"></i></a> <?php } ?> </div> <div class="panel-body no-padding"> <div class="panel-scroll height-230 ps-container"> <table class="table table-striped table-hover" id="jobList"> <tbody> <?php if (isset($jobList)) { foreach ($jobList as $jobValue) { if (isset($jobValue["_id"])) { $jobId = $jobValue["_id"]; ?> <tr id="job<?php echo $jobId; ?> "> <td class="center"> <a href="#" class="viewJobButton" data-id="<?php echo $jobId; ?>
public static function removeRole($memberOfId, $memberOfType, $memberId, $memberType, $role, $userId) { //0. Check if the $memberOfId and the $memberId exists $memberOf = Link::checkIdAndType($memberOfId, $memberOfType); $member = Link::checkIdAndType($memberId, $memberType); //1.1 the $userId can manage the $memberOf (admin) // Or the user can remove himself from a member list of an organization if (!Authorisation::isOrganizationAdmin($userId, $memberOfId)) { if ($memberId != $userId) { throw new CTKException("You are not admin of the Organization : " . $memberOfId); } } //2. Remove the role PHDB::update($memberOfType, array("_id" => $memberOf["_id"]), array('$pull' => array("links.members." . $memberId . ".roles" => $role))); //3. Remove the role PHDB::update($memberType, array("_id" => $member["_id"]), array('$pull' => array("links.memberOf." . $memberOfId . ".roles" => $role))); return array("result" => true, "msg" => Yii::t("link", "The member's role has been removed with success", null, Yii::app()->controller->module->id), "memberOfid" => $memberOfId, "memberid" => $memberId); }
/** * Get the authorization for edit an item * @param type is the type of item, (organization or event or person or project) * @param itemId id of the item we want to edits * @return a boolean */ public static function canEditItem($userId, $type, $itemId) { $res = false; if ($type == PHType::TYPE_EVENTS) { $res = Authorisation::isEventAdmin($itemId, $userId); } else { if ($type == PHType::TYPE_PROJECTS) { $res = Authorisation::isProjectAdmin($itemId, $userId); } else { if ($type == Organization::COLLECTION) { $res = Authorisation::isOrganizationAdmin($userId, $itemId); } else { if ($type == Person::COLLECTION) { $res = $userId == $itemId; } } } } return $res; }
/** * Update an organization field value * @param String $organisationId The organization Id to update * @param String $organizationFieldName The name of the field to update * @param String $organizationFieldValue * @param String $userId * @return boolean True if the update has been done correctly. Can throw CTKException on error. */ public static function updateOrganizationField($organizationId, $organizationFieldName, $organizationFieldValue, $userId) { if (!Authorisation::isOrganizationAdmin($userId, $organizationId)) { throw new CTKException(Yii::t("organisation", "Can not update this organization : you are not authorized to update that organization !")); } $dataFieldName = Organization::getCollectionFieldNameAndValidate($organizationFieldName, $organizationFieldValue); //Specific case : //Tags if ($dataFieldName == "tags") { $organizationFieldValue = Tags::filterAndSaveNewTags($organizationFieldValue); } //address if ($dataFieldName == "address") { if (!empty($organizationFieldValue["postalCode"]) && !empty($organizationFieldValue["codeInsee"])) { $insee = $organizationFieldValue["codeInsee"]; $address = SIG::getAdressSchemaLikeByCodeInsee($insee); $set = array("address" => $address, "geo" => SIG::getGeoPositionByInseeCode($insee)); } else { throw new CTKException("Error updating the Organization : address is not well formated !"); } } else { $set = array($dataFieldName => $organizationFieldValue); } //update the organization PHDB::update(Organization::COLLECTION, array("_id" => new MongoId($organizationId)), array('$set' => $set)); return true; }
public function actionTestIsAdminOrganization($id) { var_dump(Authorisation::isOrganizationAdmin("55c0c1a72336f213040041ee", $id)); }
public static function organization($organization) { $cs = Yii::app()->getClientScript(); $cs->registerScriptFile(Yii::app()->controller->module->assetsUrl . '/js/communecter.js'); if (!is_array(Yii::app()->controller->toolbarMBZ)) { Yii::app()->controller->toolbarMBZ = array(); } //$mbz = array("<li id='linkBtns'><a href='javascript:;' class='tooltips ' data-placement='top' data-original-title='This Organization is disabled' ><i class='text-red fa fa-times '></i>DISABLED</a></li>"); $id = (string) $organization["_id"]; //HOME //----------------------------- self::entry("left", 'showAjaxPanel', Yii::t("organization", "Contact information"), Yii::t("common", "Details"), 'home', '/organization/detail/id/' . $id, "organization", "detail"); //SEE TIMELINE //----------------------------- self::entry("left", 'showAjaxPanel', Yii::t("common", 'Read all news publicated by this organization'), Yii::t("common", 'Activity'), 'rss', '/news/index/type/' . Organization::COLLECTION . '/id/' . $id . '?isNotSV=1', "news", "index"); //DIRECTORY //----------------------------- self::entry("left", 'showAjaxPanel', 'Member list', 'Members', 'connectdevelop', '/organization/directory/id/' . $id . '?tpl=directory2&isNotSV=1', "organization", "directory"); //ACTION ROOMS //----------------------------- /*$onclick = "showAjaxPanel( '/rooms/index/type/".Organization::COLLECTION."/id/".$id."', 'ORGANIZATION ACTION ROOM ','legal' )"; $active = (Yii::app()->controller->id == "rooms" && Yii::app()->controller->action->id == "index" ) ? "active" : ""; array_push( Yii::app()->controller->toolbarMBZ, array('tooltip' => "SURVEYS : Organization Action Room", "iconClass"=>"fa fa-legal", "href"=>"<a class='tooltips ".$active." btn btn-default' href='javascript:;' onclick=\"".$onclick."\"") ); */ // ADD MEMBER //----------------------------- if (Authorisation::isOrganizationAdmin(Yii::app()->session['userId'], $id)) { self::entry("right", 'showAjaxPanel', Yii::t('common', 'Add a member to this organization'), Yii::t("common", 'Add member'), 'plus', '/organization/addmember/id/' . $id . '?isNotSV=1', "organization", "addmember"); } //SEND MESSAGE //----------------------------- if (Authorisation::isOrganizationMember(Yii::app()->session['userId'], $id)) { self::entry("right", 'onclick', Yii::t("common", "Send a message to this Organization"), Yii::t("common", "Contact"), 'envelope-o', "loadByHash( '#news.index.type.organizations.id." . $id . "')", null, null); } //FOLLOW BUTTON //----------------------------- /* * If disabled there are no interactive buttons * If not connected, hide admin btn and link join btn to login form */ if (!isset($organization["disabled"])) { //Link button if (isset($organization["_id"]) && isset(Yii::app()->session["userId"]) && Link::isLinked((string) $organization["_id"], Organization::COLLECTION, Yii::app()->session["userId"])) { $htmlFollowBtn = array('tooltip' => Yii::t("common", "Leave this Organization"), 'position' => "right", 'label' => Yii::t("common", "Leave"), "iconClass" => "disconnectBtnIcon fa fa-unlink", "href" => "<a href='javascript:;' class='removeMemberBtn text-red tooltips btn btn-default' data-name='" . $organization["name"] . "' data-memberof-id='" . $organization["_id"] . "' data-member-type='" . Person::COLLECTION . "' data-member-id='" . Yii::app()->session["userId"] . "'"); } else { if (@Yii::app()->session["userId"]) { $href = "<a href='javascript:;' class='connectBtn tooltips btn btn-default ' id='addMeAsMemberInfo'"; } else { $href = "<a href='javascript:;' class='tooltips btn btn-default' onclick='showPanel(\"box-login\");'"; } $htmlFollowBtn = array('tooltip' => Yii::t("common", "Join this Organization"), 'position' => "right", 'label' => Yii::t("common", "Join"), "iconClass" => "connectBtnIcon fa fa-unlink", "href" => $href); array_push(Yii::app()->controller->toolbarMBZ, $htmlFollowBtn); } //Ask Admin button if (!Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], $id) && @Yii::app()->session["userId"]) { self::entry("right", 'onclick', Yii::t("common", "Declare me as admin of this organization"), Yii::t("common", "Become admin"), 'fa fa-user-plus becomeAdminBtn', "declareMeAsAdmin('" . $id . "','organizations','" . Yii::app()->session["userId"] . "','" . addslashes($organization["name"]) . "')", null, null); } } }
#photoVideo .flexslider .slides img { position: relative; height: 100%; width: auto; margin-left: auto; margin-right: auto; max-width: 100%; } #video iframe{ width: 100%; } </style> <?php $canEdit = isset($photoVidId) && isset(Yii::app()->session["userId"]) && $photoVidId == Yii::app()->session["userId"] || isset($photoVidId) && isset(Yii::app()->session["userId"]) && strcmp($type, Organization::COLLECTION) == 0 && Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], $photoVidId) || isset($insee); ?> <div id="photoVideo"> <div class="panel panel-white"> <div class="panel-heading border-light"> <h4 class="panel-title podPhotoVideoTitle"> <i class='fa fa-cog fa-spin fa-2x icon-big text-center'></i> Loading Media</h4> </div> <div class="panel-tools"> <?php if ($canEdit) { ?> <a href="#" class="add-photoSlider btn btn-xs btn-light-blue tooltips" data-toggle="tooltip" data-placement="top" title="Add an image" alt="Add an image"><i class="fa fa-plus"></i></a> <?php } ?> <a href="<?php
<h4 class="panel-title"> <i class='fa fa-cog fa-spin fa-2x icon-big text-center'></i> Loading Media Section</h4> <div class="space5"></div> </div> </div> </div> <div class="col-sm-12 col-xs-12"> <?php $this->renderPartial('../pod/projectsList', array("projects" => $projects, "contextId" => (string) $organization["_id"], "contextType" => "organization", "authorised" => Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], (string) $organization["_id"]))); ?> </div> <div class="col-sm-12 col-xs-12"> <?php $this->renderPartial('../pod/eventsList', array("events" => $events, "contextId" => (string) $organization["_id"], "contextType" => "organization", "authorised" => Authorisation::isOrganizationAdmin(Yii::app()->session["userId"], (string) $organization["_id"]))); ?> </div> <div class="col-sm-12 col-xs-12 shareAgendaPod"> <div class="panel panel-white pulsate"> <div class="panel-heading border-light "> <h4 class="panel-title"> <i class='fa fa-cog fa-spin fa-2x icon-big text-center'></i> Loading Shared Agenda Section</h4> <div class="space5"></div> </div> </div> </div> <div class="col-sm-12 col-xs-12"> <?php //$this->renderPartial('../pod/news', array("events" => $events, "organizationId" => (isset($organization)) ? (String) $organization["_id"] : null )); ?>