diff --git a/drupal/modules/casost/src/Controller/CASLogin.php b/drupal/modules/casost/src/Controller/CASLogin.php index ff6fd7c16f26227e689e690aa0977bf2978a747f..d62f256c33b2d0a2985fc7afb3f10a1b8a9af930 100644 --- a/drupal/modules/casost/src/Controller/CASLogin.php +++ b/drupal/modules/casost/src/Controller/CASLogin.php @@ -5,8 +5,6 @@ use Drupal\Core\Entity\Query\QueryFactory; use Drupal\Core\Entity\EntityTypeManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\Controller\ControllerBase; -// require_once '/home/haris/devel/eepal/drupal/modules/casost/src/CAS/phpCAS.php'; - use phpCAS; use Drupal\user\Entity\User; use Drupal\Core\Database\Connection; diff --git a/drupal/modules/epal/src/Controller/DirectorView.php b/drupal/modules/epal/src/Controller/DirectorView.php index afec8c9244dadcd10188c13717c54bb8c61978eb..01785814c434221cd1b86b0d3c0cf552ff77d414 100644 --- a/drupal/modules/epal/src/Controller/DirectorView.php +++ b/drupal/modules/epal/src/Controller/DirectorView.php @@ -14,30 +14,48 @@ use Drupal\Core\Logger\LoggerChannelFactoryInterface; class DirectorView extends ControllerBase { protected $entityTypeManager; + protected $logger; + protected $testSchoolId='0640050'; - public function __construct(EntityTypeManagerInterface $entityTypeManager) + public function __construct(EntityTypeManagerInterface $entityTypeManager, + LoggerChannelFactoryInterface $loggerChannel) { $this->entityTypeManager = $entityTypeManager; + $this->logger = $loggerChannel->get('epal-school'); } public static function create(ContainerInterface $container) { return new static( - $container->get('entity_type.manager') + $container->get('entity_type.manager'), + $container->get('logger.factory') ); - } + } public function getSectorsPerSchool(Request $request, $epalId) { - + $authToken = $request->headers->get('PHP_AUTH_USER'); - - $epalUsers = $this->entityTypeManager->getStorage('epal_users')->loadByProperties(array('authtoken' => $authToken)); - $epalUser = reset($epalUsers); - if ($epalUser) { - $userid = $epalUser -> user_id -> entity -> id(); + + $users = $this->entityTypeManager->getStorage('user')->loadByProperties(array('name' => $authToken)); + $user = reset($users); + if ($user) { +// $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $user->mail->value, 'id' => intval($epalId))); + $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $this->testSchoolId, 'id' => intval($epalId))); + $school = reset($schools); + if (!$school) { + $this->logger->warning("no access to this school=" . $user->id()); + $response = new Response(); + $response->setContent('No access to this school'); + $response->setStatusCode(Response::HTTP_FORBIDDEN); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + + + $userid = $user -> id(); $epalIdNew = intval($epalId); $sectorPerSchool = $this->entityTypeManager->getStorage('eepal_sectors_in_epal')->loadByProperties(array('epal_id'=> $epalIdNew)); $i = 0; @@ -52,7 +70,7 @@ public function getSectorsPerSchool(Request $request, $epalId) $i++; } - + return $this->respondWithStatus( $list , Response::HTTP_OK); @@ -60,9 +78,9 @@ public function getSectorsPerSchool(Request $request, $epalId) else { return $this->respondWithStatus([ 'message' => t("School not found!!!"), - ], Response::HTTP_FORBIDDEN); + ], Response::HTTP_OK); } - + } else { @@ -71,18 +89,29 @@ public function getSectorsPerSchool(Request $request, $epalId) 'message' => t("User not found!"), ], Response::HTTP_FORBIDDEN); } - + } public function getSpecialPerSchool(Request $request, $epalId , $sectorId) { - + $authToken = $request->headers->get('PHP_AUTH_USER'); - - $epalUsers = $this->entityTypeManager->getStorage('epal_users')->loadByProperties(array('authtoken' => $authToken)); - $epalUser = reset($epalUsers); - if ($epalUser) { - $userid = $epalUser -> user_id -> entity -> id(); + + $users = $this->entityTypeManager->getStorage('user')->loadByProperties(array('name' => $authToken)); + $user = reset($users); + if ($user) { +// $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $user->mail->value, 'id' => intval($epalId))); + $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $this->testSchoolId, 'id' => intval($epalId))); + $school = reset($schools); + if (!$school) { + $this->logger->warning("no access to this school=" . $user->id()); + $response = new Response(); + $response->setContent('No access to this school'); + $response->setStatusCode(Response::HTTP_FORBIDDEN); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + $userid = $user -> id(); $epalIdNew = intval($epalId); $specialityPerSchool = $this->entityTypeManager->getStorage('eepal_specialties_in_epal')->loadByProperties(array('epal_id'=> $epalIdNew)); $i = 0; @@ -95,15 +124,15 @@ public function getSpecialPerSchool(Request $request, $epalId , $sectorId) $specialityPerSector = $this->entityTypeManager->getStorage('eepal_specialty')->loadByProperties(array('id'=> $idSpecial,'sector_id' => $SectorIdNew )); $specialPerSec = reset($specialityPerSector); - if ($specialPerSec) + if ($specialPerSec) { $list[] = array( 'specialty_id' => $object -> specialty_id ->entity->get('name')->value , 'id' => $object -> specialty_id -> entity -> id() ); $i++; } - + } - + return $this->respondWithStatus( $list , Response::HTTP_OK); @@ -111,9 +140,9 @@ public function getSpecialPerSchool(Request $request, $epalId , $sectorId) else { return $this->respondWithStatus([ 'message' => t("School not found!!!"), - ], Response::HTTP_FORBIDDEN); + ], Response::HTTP_OK); } - + } else { @@ -122,43 +151,55 @@ public function getSpecialPerSchool(Request $request, $epalId , $sectorId) 'message' => t("User not found!"), ], Response::HTTP_FORBIDDEN); } - + } public function getStudentPerSchool(Request $request, $epalId , $selectId, $classId) { - + $authToken = $request->headers->get('PHP_AUTH_USER'); - - $epalUsers = $this->entityTypeManager->getStorage('epal_users')->loadByProperties(array('authtoken' => $authToken)); - $epalUser = reset($epalUsers); - if ($epalUser) { - $userid = $epalUser -> user_id -> entity -> id(); + + $users = $this->entityTypeManager->getStorage('user')->loadByProperties(array('name' => $authToken)); + $user = reset($users); + if ($user) { +// $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $user->mail->value, 'id' => intval($epalId))); + $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $this->testSchoolId, 'id' => intval($epalId))); + $school = reset($schools); + if (!$school) { + $this->logger->warning("no access to this school=" . $user->id()); + $response = new Response(); + $response->setContent('No access to this school'); + $response->setStatusCode(Response::HTTP_FORBIDDEN); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + + $userid = $user -> id(); $epalIdNew = intval($epalId); $selectIdNew = intval($selectId); if ($classId == 1) { $selectIdNew = -1; $studentPerSchool = $this->entityTypeManager->getStorage('epal_student_class')->loadByProperties(array('epal_id'=> $epalIdNew, 'specialization_id' => $selectIdNew, 'currentclass' => $classId )); - + } else - { + { $studentPerSchool = $this->entityTypeManager->getStorage('epal_student_class')->loadByProperties(array('epal_id'=> $epalIdNew, 'specialization_id' => $selectIdNew, 'currentclass' => $classId )); - } + } $i = 0; if ($studentPerSchool) { $list = array(); - foreach ($studentPerSchool as $object) - { + foreach ($studentPerSchool as $object) + { $studentId = $object -> id() ; $epalStudents = $this->entityTypeManager->getStorage('epal_student')->loadByProperties(array('id'=> $studentId)); $epalStudent = reset($epalStudents); $i = 0; if ($epalStudents) { - + $list[] = array( 'id' => $epalStudent -> id(), 'name' => $epalStudent -> name ->value, @@ -180,19 +221,19 @@ public function getStudentPerSchool(Request $request, $epalId , $selectId, $clas else { return $this->respondWithStatus([ 'message' => t("No students found!!!"), - ], Response::HTTP_FORBIDDEN); + ], Response::HTTP_OK); } - - } + + } else { return $this->respondWithStatus([ 'message' => t("User not found!"), ], Response::HTTP_FORBIDDEN); } - + } @@ -201,15 +242,27 @@ public function getStudentPerSchool(Request $request, $epalId , $selectId, $clas { if (!$request->isMethod('POST')) { - return $this->respondWithStatus([ + return $this->respondWithStatus([ "message" => t("Method Not Allowed") ], Response::HTTP_METHOD_NOT_ALLOWED); } $authToken = $request->headers->get('PHP_AUTH_USER'); - $epalUsers = $this->entityTypeManager->getStorage('epal_users')->loadByProperties(array('authtoken' => $authToken)); - $epalUser = reset($epalUsers); - if ($epalUser) { + $users = $this->entityTypeManager->getStorage('user')->loadByProperties(array('name' => $authToken)); + $user = reset($users); + if ($user) { +// $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $user->mail->value, 'id' => intval($epalId))); + $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $this->testSchoolId)); + $school = reset($schools); + if (!$school) { + $this->logger->warning("no access to this school=" . $user->id()); + $response = new Response(); + $response->setContent('No access to this school'); + $response->setStatusCode(Response::HTTP_FORBIDDEN); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } + $postData = null; if ($content = $request->getContent()) @@ -218,14 +271,14 @@ public function getStudentPerSchool(Request $request, $epalId , $selectId, $clas $arr = $postData->students; foreach ($arr as $value) { - $valnew = intval($value); + $valnew = intval($value); $studentForConfirm = $this->entityTypeManager->getStorage('epal_student_class')->loadByProperties(array('id' => $valnew )); $studentConfirm = reset($studentForConfirm); if ($studentConfirm) { $studentConfirm->set('directorconfirm', true); $studentConfirm->save(); - } - } + } + } return $this->respondWithStatus([ 'message' => t("saved"), ], Response::HTTP_OK); @@ -253,15 +306,26 @@ public function SaveCapacity(Request $request,$taxi,$tomeas,$specialit,$schoolid { if (!$request->isMethod('POST')) { - return $this->respondWithStatus([ + return $this->respondWithStatus([ "message" => t("Method Not Allowed") ], Response::HTTP_METHOD_NOT_ALLOWED); } $authToken = $request->headers->get('PHP_AUTH_USER'); - $epalUsers = $this->entityTypeManager->getStorage('epal_users')->loadByProperties(array('authtoken' => $authToken)); - $epalUser = reset($epalUsers); - if ($epalUser) { + $users = $this->entityTypeManager->getStorage('user')->loadByProperties(array('name' => $authToken)); + $user = reset($users); + if ($user) { +// $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $user->mail->value, 'id' => intval($epalId))); + $schools = $this->entityTypeManager->getStorage('eepal_school')->loadByProperties(array('registry_no' => $this->testSchoolId)); + $school = reset($schools); + if (!$school) { + $this->logger->warning("no access to this school=" . $user->id()); + $response = new Response(); + $response->setContent('No access to this school'); + $response->setStatusCode(Response::HTTP_FORBIDDEN); + $response->headers->set('Content-Type', 'application/json'); + return $response; + } $postData = null; if ($content = $request->getContent()) @@ -275,7 +339,7 @@ public function SaveCapacity(Request $request,$taxi,$tomeas,$specialit,$schoolid if ($classcapacity) { $classcapacity->set('capacity_class_a', $cap); $classcapacity->save(); - } + } } @@ -286,7 +350,7 @@ public function SaveCapacity(Request $request,$taxi,$tomeas,$specialit,$schoolid if ($classcapacity) { $classcapacity->set('capacity_class_sector', $cap); $classcapacity->save(); - } + } } @@ -297,7 +361,7 @@ public function SaveCapacity(Request $request,$taxi,$tomeas,$specialit,$schoolid if ($classcapacity) { $classcapacity->set('capacity_class_specialty', $cap); $classcapacity->save(); - } + } } @@ -325,12 +389,6 @@ public function SaveCapacity(Request $request,$taxi,$tomeas,$specialit,$schoolid - - - - - - private function respondWithStatus($arr, $s) { $res = new JsonResponse($arr); $res->setStatusCode($s); @@ -342,8 +400,3 @@ public function SaveCapacity(Request $request,$taxi,$tomeas,$specialit,$schoolid } - - - - - diff --git a/drupal/modules/epal/src/Entity/EpalCriteria.php b/drupal/modules/epal/src/Entity/EpalCriteria.php index 0d56dfe5fb6b199a27276693df52b5cdde682b88..f96c7197dc801e26f384336554a58a424e0a87e3 100644 --- a/drupal/modules/epal/src/Entity/EpalCriteria.php +++ b/drupal/modules/epal/src/Entity/EpalCriteria.php @@ -192,7 +192,27 @@ class EpalCriteria extends ContentEntityBase implements EpalCriteriaInterface { )) ->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('view', TRUE); - + + $fields['category'] = BaseFieldDefinition::create('string') + ->setLabel(t('Κατηγορα')) + ->setDescription(t('Κατηγορία κριτηρίου.')) + ->setSettings(array( + 'max_length' => 100, + 'text_processing' => 0, + )) + ->setRequired(true) + ->setDisplayOptions('view', array( + 'label' => 'above', + 'type' => 'string', + 'weight' => -4, + )) + ->setDisplayOptions('form', array( + 'type' => 'string_textfield', + 'weight' => -4, + )) + ->setDisplayConfigurable('form', TRUE) + ->setDisplayConfigurable('view', TRUE); + $fields['value_limit'] = BaseFieldDefinition::create('float') ->setLabel(t('Αριθμητικό όριο')) ->setDescription(t('Αριθμητικό όριο.')) @@ -210,7 +230,7 @@ class EpalCriteria extends ContentEntityBase implements EpalCriteriaInterface { )) ->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('view', TRUE); - + $fields['moria'] = BaseFieldDefinition::create('float') ->setLabel(t('Μόρια')) ->setDescription(t('Μόρια.')) @@ -228,7 +248,7 @@ class EpalCriteria extends ContentEntityBase implements EpalCriteriaInterface { )) ->setDisplayConfigurable('form', TRUE) ->setDisplayConfigurable('view', TRUE); - + $fields['mutual_disabled_id'] = BaseFieldDefinition::create('integer') ->setLabel(t('Id αμοιβαία αποκλειόμενου κριτηρίου')) ->setDescription(t('Id αμοιβαία αποκλειόμενου κριτηρίου.')) diff --git a/drupal/modules/epaldeploysystem/config/optional/user.role.epal.yml b/drupal/modules/epaldeploysystem/config/optional/user.role.epal.yml new file mode 100644 index 0000000000000000000000000000000000000000..8c12087591a1fe0c67bd054ec64b6fdbbdc40e06 --- /dev/null +++ b/drupal/modules/epaldeploysystem/config/optional/user.role.epal.yml @@ -0,0 +1,45 @@ +langcode: el +status: true +dependencies: { } +id: epal +label: epal +weight: 4 +is_admin: null +permissions: + - 'add epal student course field entities' + - 'add epal student epal chosen entities' + - 'add epal student sector field entities' + - 'add epal users entities' + - 'delete epal student course field entities' + - 'delete epal student epal chosen entities' + - 'delete epal student sector field entities' + - 'delete epal users entities' + - 'edit epal class limits entities' + - 'edit epal student course field entities' + - 'edit epal student epal chosen entities' + - 'edit epal student sector field entities' + - 'edit epal users entities' + - 'view published epal student course field entities' + - 'view published epal student epal chosen entities' + - 'view published epal student sector field entities' + - 'view published epal users entities' + - 'view unpublished epal student course field entities' + - 'view unpublished epal student epal chosen entities' + - 'view unpublished epal student sector field entities' + - 'view unpublished epal users entities' + - 'view published eepal admin area entities' + - 'view published eepal prefecture entities' + - 'view published eepal region entities' + - 'view published eepal school entities' + - 'view published eepal sectors entities' + - 'view published eepal sectors in epal entities' + - 'view published eepal specialties in epal entities' + - 'view published eepal specialty entities' + - 'view unpublished eepal admin area entities' + - 'view unpublished eepal prefecture entities' + - 'view unpublished eepal region entities' + - 'view unpublished eepal school entities' + - 'view unpublished eepal sectors entities' + - 'view unpublished eepal sectors in epal entities' + - 'view unpublished eepal specialties in epal entities' + - 'view unpublished eepal specialty entities' diff --git a/source/app.ts b/source/app.ts index 691d4bb02e6e048167b0aec1e8e396759d6210b0..27e8e8e958bcdbe8275dde4d629758534c738e3e 100644 --- a/source/app.ts +++ b/source/app.ts @@ -80,5 +80,5 @@ class MyLocalization extends NgLocalization { }) class AppModule {} - enableProdMode(); +// enableProdMode(); platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/source/components/director/director-view.ts b/source/components/director/director-view.ts index 67e6fcdab02b01fce43e43a87b8dac5c4e3d1bc9..4c6f446106a879f61ce5257aa88dc516035fcfe7 100644 --- a/source/components/director/director-view.ts +++ b/source/components/director/director-view.ts @@ -28,7 +28,7 @@ import { - +