Merge branch 'director_view' into 'develop'

Submit Controller / Component

See merge request !28
parents 0e8caf80 6456d772
......@@ -28,3 +28,12 @@ current_user:
_controller: '\Drupal\epal\Controller\CurrentUser::content'
requirements:
_access: 'TRUE'
epal.application_submit:
path: '/epal/appsubmit'
options:
_auth: [ 'basic_auth' ]
defaults:
_controller: '\Drupal\epal\Controller\ApplicationSubmit::appSubmit'
requirements:
_user_is_logged_in: 'TRUE'
<?php
/**
* @file
* Contains \Drupal\query_example\Controller\QueryExampleController.
*/
namespace Drupal\epal\Controller;
use Drupal\Core\Entity\Query\QueryFactory;
use Drupal\Core\Entity\EntityTypeManagerInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\HttpFoundation\JsonResponse;
use Drupal\Core\Controller\ControllerBase;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Drupal\Core\Database\Connection;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Drupal\Core\Logger\LoggerChannelFactoryInterface;
class ApplicationSubmit extends ControllerBase {
protected $entity_query;
protected $entityTypeManager;
protected $logger;
protected $connection;
public function __construct(
EntityTypeManagerInterface $entityTypeManager,
QueryFactory $entity_query,
Connection $connection,
LoggerChannelFactoryInterface $loggerChannel)
{
$this->entityTypeManager = $entityTypeManager;
$this->entity_query = $entity_query;
$this->connection = $connection;
$this->logger = $loggerChannel->get('oauthost');
}
public static function create(ContainerInterface $container)
{
return new static(
$container->get('entity.manager'),
$container->get('entity.query'),
$container->get('database'),
$container->get('logger.factory')
);
}
public function appSubmitWORK() {
$db = \Drupal\Core\Database\Database::getConnection();
$transaction = $db->startTransaction();
try {
$student = array('epaluser_id'=> 1, 'name'=> 'ΝΙΚΟΣ', 'studentsurname'=>'ΚΑΤΣΑ', 'status'=> 1);
$entity_manager = \Drupal::entityManager();
$entity_storage_student = $entity_manager->getStorage('epal_student');
$entity_storage_eidikotita = $entity_manager->getStorage('epal_student_course_field');
$entity_object = $entity_storage_student->create($student);
$entity_storage_student->save($entity_object);
$created_student_id = $entity_object->id();
$eidikotita = array('name'=>'record1', 'student_id' => 1, 'coursefield_id' => 4, 'status'=> 1 );
$entity_object = $entity_storage_eidikotita->create($eidikotita);
$entity_storage_eidikotita->save($entity_object);
$created_eidikotites_id = $entity_object->id();
}
catch (\Exception $e) {
$transaction->rollback();
}
}
public function appSubmit2() {
$db = \Drupal\Core\Database\Database::getConnection();
$transaction = $db->startTransaction();
try {
$student = array('epaluser_id'=> 1, 'name'=> 'ΝΙΚΟΣ', 'studentsurname'=>'ΚΑΤΣΑ', 'status'=> 1);
$entity_manager = \Drupal::entityManager();
$entity_storage_student = $entity_manager->getStorage('epal_student');
$entity_storage_course = $entity_manager->getStorage('epal_student_course_field');
$entity_object = $entity_storage_student->create($student);
$entity_storage_student->save($entity_object);
$created_student_id = $entity_object->id();
$course = array('name'=>'record1', 'student_id' => 1, 'coursefield_id' => 4, 'status'=> 1 );
$entity_object = $entity_storage_course->create($course);
$entity_storage_course->save($entity_object);
}
catch (\Exception $e) {
$transaction->rollback();
}
}
public function appSubmit() {
$aitisi = array();
$content = \Drupal::request()->getContent();
if (!empty($content)) {
$aitisi = json_decode($content, TRUE);
//$aitisi[0] --> student data, $aitisi[1][] --> epals chosen, $aitisi[2][] --> criteria, $aitisi[3] --> sector or course chosen
}
$db = \Drupal\Core\Database\Database::getConnection();
$transaction = $db->startTransaction();
try {
//insert records in entity: epal_student
$entity_manager = \Drupal::entityTypeManager();
$epaluserid = \Drupal::currentUser()->id();
$student = array(
//'epaluser_id' => $aitisi[0][epaluser_id],
'epaluser_id' => $epaluserid,
'name' => $aitisi[0][name],
'studentsurname' => $aitisi[0][studentsurname],
//'birthdate' => $aitisi[0][birthdate],
//'fatherfirstname' => $aitisi[0][fatherfirstname],
//'fathersurname' => $aitisi[0][fathersurname],
//'motherfirstname' => $aitisi[0][motherfirstname],
//'mothersurname' => $aitisi[0][mothersurname],
'studentamka' => $aitisi[0][studentamka],
'regionaddress' => $aitisi[0][regionaddress],
'regionarea' => $aitisi[0][regionarea],
'regiontk' => $aitisi[0][regiontk],
'certificatetype' => $aitisi[0][certificatetype],
//'lastam' => $aitisi[0][lastam],
'currentclass' => $aitisi[0][currentclass],
//'currentepal' => $aitisi[0][currentepal],
//'currentsector' => $aitisi[0][currentsector],
'relationtostudent' => $aitisi[0][relationtostudent],
'telnum' => $aitisi[0][telnum]
);
$entity_storage_student = $entity_manager->getStorage('epal_student');
$entity_object = $entity_storage_student->create($student);
$entity_storage_student->save($entity_object);
$created_student_id = $entity_object->id();
//insert records in entity: epal_student_epal_chosen
for ($i = 0; $i < sizeof($aitisi[1]); $i++) {
$epalchosen = array(
//'name' => $aitisi[1][$i][name],
'student_id' => $created_student_id,
'epal_id' => $aitisi[1][$i][epal_id],
'choice_no' => $aitisi[1][$i][choice_no]
//'points_for_order' => $aitisi[1][$i][points_for_order],
//'distance_from_epal' => $aitisi[1][$i][distance_from_epal],
//'points_for_distance' => $aitisi[1][$i][points_for_distance],
);
$entity_storage_epalchosen = $entity_manager->getStorage('epal_student_epal_chosen');
$entity_object = $entity_storage_epalchosen->create($epalchosen);
$entity_storage_epalchosen->save($entity_object);
}
//insert records in entity: epal_student_moria
for ($i = 0; $i < sizeof($aitisi[2]); $i++) {
$criteria = array(
//'name' => $aitisi[2][$i][name],
'student_id' => $created_student_id,
'income' => $aitisi[2][$i][income],
'criterio_id' => $aitisi[2][$i][criterio_id],
//'moria' => $aitisi[2][$i][moria],
);
$entity_storage_criteria = $entity_manager->getStorage('epal_student_moria');
$entity_object = $entity_storage_criteria->create($criteria);
$entity_storage_criteria->save($entity_object);
}
//insert records in entity: epal_student_course_field (αφορά μαθητές Γ' Λυκείου)
// or: epal_student_sector_field (αφορά μαθητές Β' Λυκείου)
if ($aitisi[0][currentclass] === "Γ' Λυκείου") {
//$course = array('name'=>'record1', 'student_id' => 1, 'coursefield_id' => 4, 'status'=> 1 );
$course = array(
//'name' => $aitisi[3][name],
//'student_id' => $aitis[3][student_i],
'student_id' => $created_student_id,
'coursefield_id' => $aitisi[3][coursefield_id]
);
$entity_storage_course = $entity_manager->getStorage('epal_student_course_field');
$entity_object = $entity_storage_course->create($course);
$entity_storage_course->save($entity_object);
}
else if ($aitisi[0][currentclass] === "Β' Λυκείου") {
$sector = array(
//'name' => $aitisi[3][name],
'student_id' => $created_student_id,
//'student_id' => $aitis[3][student_i],
'sectorfield_id' => $aitisi[3][sectorfield_id]
);
$entity_storage_sector = $entity_manager->getStorage('epal_student_sector_field');
$entity_object = $entity_storage_sector->create($sector);
$entity_storage_sector->save($entity_object);
}
$returnmsg = "Επιτυχής καταχώρηση στοιχείων αίτησης!";
$response = new JsonResponse([$returnmsg]);
return $response;
}
catch (\Exception $e) {
$this->logger->warning($e->getMessage());
$transaction->rollback();
$returnmsg = "Αποτυχία καταχώρησης στοιχείων αίτησης!";
$response = new JsonResponse([$returnmsg]);
return $response;
}
}
}
......@@ -180,7 +180,7 @@ class EpalCriteria extends ContentEntityBase implements EpalCriteriaInterface {
'max_length' => 100,
'text_processing' => 0,
))
->setDefaultValue('')
->setRequired(true)
->setDisplayOptions('view', array(
'label' => 'above',
'type' => 'string',
......
......@@ -43,8 +43,8 @@ use Drupal\user\UserInterface;
* "uid" = "user_id",
* "langcode" = "langcode",
* "status" = "status",
* "minno" = "minno",
* "maxno" = "maxno",
* "student_id" = "student_id",
* "epal_id" = "epal_id",
* },
* links = {
* "canonical" = "/admin/epal/epal_student_class/{epal_student_class}",
......
......@@ -43,7 +43,7 @@ use Drupal\user\UserInterface;
* "langcode" = "langcode",
* "status" = "status",
* "student_id" = "student_id",
* "courseField_id" = "courseField_id",
* "coursefield_id" = "coursefield_id",
* },
* links = {
* "canonical" = "/admin/structure/epal_student_course_field/{epal_student_course_field}",
......
......@@ -42,6 +42,8 @@ use Drupal\user\UserInterface;
* "uid" = "user_id",
* "langcode" = "langcode",
* "status" = "status",
* "student_id" = "student_id",
* "criterio_id" = "criterio_id",
* },
* links = {
* "canonical" = "/admin/structure/epal_student_moria/{epal_student_moria}",
......
......@@ -42,6 +42,8 @@ use Drupal\user\UserInterface;
* "uid" = "user_id",
* "langcode" = "langcode",
* "status" = "status",
* "student_id" = "student_id",
* "sectorfield_id" = "sectorfield_id",
* },
* links = {
* "canonical" = "/admin/structure/epal_student_sector_field/{epal_student_sector_field}",
......
langcode: el
status: true
dependencies:
module:
- basic_auth
- epal
- hal
- serialization
- user
id: entity.epal_class_limits
plugin_id: 'entity:epal_class_limits'
granularity: method
configuration:
GET:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
POST:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
DELETE:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
PATCH:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
langcode: el
status: true
dependencies:
module:
- basic_auth
- epal
- hal
- serialization
- user
id: entity.epal_criteria
plugin_id: 'entity:epal_criteria'
granularity: method
configuration:
GET:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
POST:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
DELETE:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
PATCH:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
langcode: el
status: true
dependencies:
module:
- basic_auth
- epal
- hal
- serialization
- user
id: entity.epal_student_moria
plugin_id: 'entity:epal_student_moria'
granularity: method
configuration:
GET:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
POST:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
DELETE:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
PATCH:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
langcode: el
status: true
dependencies:
module:
- basic_auth
- epal
- hal
- serialization
- user
id: entity.epal_student_sector_field
plugin_id: 'entity:epal_student_sector_field'
granularity: method
configuration:
GET:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
POST:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
DELETE:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
PATCH:
supported_formats:
- hal_json
- json
- xml
supported_auth:
- basic_auth
- cookie
langcode: el
status: true
dependencies: { }
id: applicant
label: applicant
weight: 3
is_admin: null
permissions:
- 'add epal student class entities'
- 'add epal student entities'
- '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 class entities'
- 'delete epal student 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 student class entities'
- 'edit epal student 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 class entities'
- 'view published epal student 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 class entities'
- 'view unpublished epal student 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'
- 'access content'
export const API_ENDPOINT = 'http://eepal.dev/drupal';
export const API_ENDPOINT = 'http://localhost/drupal-8.2.5';
export class AppSettings {
public static get API_ENDPOINT(): string {
// return 'http://localhost/drupal-8.2.5';
return 'http://localhost/drupal-8.2.5';
// return 'http://localhost/angular/eepal-front/drupal';
// return 'http://localhost/drupal';
// return 'http://localhost/angular/eepal-front/drupal';
// return 'http://localhost/drupal';
return 'http://eepal.dev/drupal';
// return 'http://eepal.dev/drupal';
// return 'http://eduslim2.minedu.gov.gr/drupal';
}
}
......@@ -48,7 +48,7 @@ export default class Form3 {
constructor(private http: Http) {
this.student = new Student(1, '', '', '', '', '','','','');
this.student = new Student(1, '', '', '', '', '','','','','');
//this.student = new Student(1, 1, '', '');
}
......
<div class="row equal">
<div class="col-md-12">
<form novalidate (ngSubmit)="onSubmit(studentDataGroup)" [formGroup]="studentDataGroup">
<form novalidate [formGroup]="studentDataGroup" #form>
<form [formGroup]="applicantDataGroup">
<table>
<tr><td>
......@@ -80,23 +79,23 @@
<div class="form-group">
<label for="certificatetype">Τύπος απολυτηρίου</label><br/>
<select class="form-control" formControlName="certificatetype">
<option value="">Παρακαλώ επιλέξτε..</option>
<option value="noincomecriterio">Παρακαλώ επιλέξτε..</option>
<option value="Απολυτήριο Γυμνασίου">Απολυτήριο Γυμνασίου</option>
<option value="Απολυτήριο Λυκείου">Απολυτήριο Λυκείου</option>
</select>
</div>
<div class="alert alert-danger" *ngIf="studentDataGroup.get('certificatetype').dirty && studentDataGroup.get('certificatetype').hasError('required')">
<div class="alert alert-danger" *ngIf="studentDataGroup.get('certificatetype').dirty && studentDataGroup.get('certificatetype').hasError('status')">
Η επιλογή από αυτή τη λίστα είναι απαραίτητη!
</div>