...
 
Commits (5)
......@@ -38,27 +38,27 @@ function epal_theme() {
function epal_mail($key, &$message, $params) {
$options = array(
'langcode' => $message['langcode'],
);
);
switch ($key) {
case 'send_verification_code':
$message['from'] = \Drupal::config('system.site')->get('mail');
$message['subject'] = t('Σύστημα υποβολής ηλεκτρονικών δηλώσεων προτίμησης ΕΠΑΛ για το νέο σχολικό έτος: Επιβεβαίωση e-mail', $options);
$message['subject'] = t('Σύστημα υποβολής ηλεκτρονικών δηλώσεων προτίμησης για το νέο σχολικό έτος: Επιβεβαίωση e-mail', $options);
$message['body'][] = $params['message'];
break;
case 'massive_mail_unallocated':
$message['from'] = \Drupal::config('system.site')->get('mail');
$message['subject'] = t('Μη ικανοποίηση ηλεκτρονικής δήλωσης προτίμησης ΕΠΑΛ', $options);
$message['subject'] = t('Μη ικανοποίηση ηλεκτρονικής δήλωσης προτίμησης ', $options);
$message['body'][] = $params['message'];
break;
case 'massive_mail_located':
$message['from'] = \Drupal::config('system.site')->get('mail');
$message['subject'] = t('Ικανοποίηση ηλεκτρονικής δήλωσης προτίμησης ΕΠΑΛ', $options);
$message['subject'] = t('Ικανοποίηση ηλεκτρονικής δήλωσης προτίμησης', $options);
$message['body'][] = $params['message'];
break;
case 'help_desk':
$message['from'] = \Drupal::config('system.site')->get('mail');
$message['subject'] = t('Σύστημα υποβολής ηλεκτρονικών δηλώσεων προτίμησης ΕΠΑΛ για το νέο σχολικό έτος: Αίτημα Υποστήριξης', $options);
$message['subject'] = t('Σύστημα υποβολής ηλεκτρονικών δηλώσεων προτίμησης για το νέο σχολικό έτος: Αίτημα Υποστήριξης', $options);
$message['body'][] = $params['message'];
break;
}
......
......@@ -197,7 +197,7 @@ epal.findcapacityperschool:
requirements:
_user_is_logged_in: 'TRUE'
epal.applicant.creationpdf:
path: '/epal/pdf-application/{studentId}/{status}'
path: '/epal/pdf-application/{studentId}/{status}/{schname}/{schaddress}/{schtel}'
options:
_auth: [ 'basic_auth' ]
defaults:
......@@ -444,6 +444,14 @@ epal.schoolgel.report-gel-applications:
_controller: '\Drupal\epal\Controller\ReportsCreator::makeReportGelApplications'
requirements:
_user_is_logged_in: 'TRUE'
epal.schoolgel.report-gel-choices:
path: '/school/report-gel-choices'
options:
_auth: [ 'basic_auth' ]
defaults:
_controller: '\Drupal\epal\Controller\ReportsCreator::makeReportGelChoices'
requirements:
_user_is_logged_in: 'TRUE'
epal.dide.report-gel-distrib:
path: '/dide/didegel-distrib-report'
options:
......
......@@ -612,7 +612,8 @@ class ApplicationSubmit extends ControllerBase
//if ($applicationForm[0]['level_name'] != null)
$epalStudent->set('myschool_currentlevelname', $applicationForm[0]['level_name']);
//if ($applicationForm[0]['unittype_name'] != null)
$epalStudent->set('myschool_currentunittype', $applicationForm[0]['unittype_name']);
$epalStudent->set('myschool_currentunittype', $applicationForm[0]['unittype_name']);
//$epalStudent->set('second_period', $eggrafesConfig->activate_second_period->value);
$epalStudent->save();
}
......
......@@ -64,7 +64,7 @@ class PDFCreator extends ControllerBase {
);
}
public function createApplicantPDF(Request $request, $studentId, $status) {
public function createApplicantPDF(Request $request, $studentId, $status, $schname, $schaddress, $schtel) {
try {
if (!$request->isMethod('GET')) {
......@@ -163,6 +163,9 @@ class PDFCreator extends ControllerBase {
$this->initPdfHandler();
$this->createHeader($epalStudent,$status);
$this->createResult($epalStudent, $status, $schname, $schaddress, $schtel);
$ret = $this->createGuardianInfo($epalStudent);
if ($ret === ERROR_DECODING)
return $this->respondWithStatus([
......@@ -212,18 +215,86 @@ class PDFCreator extends ControllerBase {
$this->pdf->SetFont($this->fontBold, '', 16);
$this->pdf->MultiCell(0, 8, $this->prepareString('Ηλεκτρονική Δήλωση Προτίμησης ΕΠΑΛ'), 0, 'C');
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->MultiCell(0, 8, $this->prepareString('με αριθμό δήλωσης: ' . $student->id->value . ' / ' . date('d-m-y (ώρα: H:i:s)', $student->changed->value)), 0, 'C');
//αλλαγή τιμής Β περιόδου..
if ($student->changed->value != 1529867143)
$this->pdf->MultiCell(0, 8, $this->prepareString('με αριθμό δήλωσης: ' . $student->id->value . ' / ' . date('d-m-y (ώρα: H:i:s)', $student->changed->value)), 0, 'C');
else
$this->pdf->MultiCell(0, 8, $this->prepareString('με αριθμό δήλωσης: ' . $student->id->value . ' / ' . date('d-m-y (ώρα: H:i:s)', $student->created->value)), 0, 'C');
$this->pdf->SetFont($this->fontLight, '', 11);
//if ($this->applicantsResultsDisabled === "1")
if ($status === "0" || $status === "3" || $status === "4" || $status === "5" || $status === "6" || $status === "7")
$this->pdf->MultiCell(0, 8, $this->prepareString('(Αρχική)'), 0, 'R');
else
else if ($status === "1" || $status === "2")
$this->pdf->MultiCell(0, 8, $this->prepareString('(Οριστική)'), 0, 'R');
$this->pdf->Ln();
}
private function createResult($student, $status, $schname, $schaddress, $schtel) {
$width = 45;
$height = 8;
if ($status == "1") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Η αίτησή σας ικανοποιήθηκε. Έχετε επιλεγεί για να εγγραφείτε στο " . $schname .
". Παρακαλείστε να προσέλθετε ΑΜΕΣΑ στο σχολείο για να προχωρήσει η διαδικασία εγγραφής σας σε αυτό, προσκομίζοντας τα απαραίτητα δικαιολογητικά. " .
"Διεύθυνση σχολείου: " . $schaddress . ", Τηλέφωνο σχολείου: " . $schtel . ".";
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "3") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Η αίτησή σας δεν ικανοποιήθηκε. Μπορείτε να κάνετε νέα αίτηση στην επόμενη περίοδο δηλώσεων προτίμησης.";
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "5") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Δεν ήταν δυνατή η τοποθέτησή σας σε σχολείο λόγω του αποτελέσματος φοίτησης. " .
"Μπορείτε να προχωρήσετε σε τροποποίηση της αίτησης στη Β’ περίοδο αιτήσεων.";
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "6") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Δεν ήταν δυνατή η τοποθέτησή σας σε σχολείο λόγω του τρέχοντος αποτελέσματος προαγωγής. " .
"Σε περίπτωση προαγωγής σας τις αμέσως επόμενες ημέρες θα τοποθετηθείτε σε σχολείο χωρίς καμία δική σας περαιτέρω ενέργεια." ;
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "7") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Το αποτέλεσμα της προαγωγής σας δεν έχει καταχωρισθεί στo πληροφοριακό σύστημα του σχολείου (myschool). " .
"Παρακαλώ επικοινωνήστε με τον διευθυντή του σχολείου σας." ;
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
}
private function createGuardianInfo($student) {
$width = 45;
......
......@@ -578,7 +578,8 @@ class SubmitedApplications extends ControllerBase
if ($epalStudent->finalized === "1")
$status = "1";
else if ($epalStudent->finalized === "0")
$status = "2";
//$status = "2"; Τροποποίηση για να βγαίνει μήνυμα ότι τοποθετήθηκε "κανονικά" και ας είναι ολιγομελές
$status = "1";
else if ( ($epalStudent->second_period === "0" && /*$studInDistr === false*/ $epalStudent->finalized === null) ||
($epalStudent->second_period === "1" && $epalStudent->changed < $dateStartInt) )
$status = "3";
......@@ -599,6 +600,11 @@ class SubmitedApplications extends ControllerBase
else
$status = "0";
if ($epalStudent->changed != 1529867143)
$appchanged = $epalStudent->changed;
else
$appchanged = $epalStudent->created;
$list[] = array(
'applicationId' => $epalStudent->id,
'am' => $am_decoded,
......@@ -626,7 +632,8 @@ class SubmitedApplications extends ControllerBase
'telnum' => $telnum_decoded,
'relationtostudent' => $epalStudent->relationtostudent,
'birthdate' => substr($epalStudent->birthdate, 8, 2).'/'.substr($epalStudent->birthdate, 5, 2).'/'.substr($epalStudent->birthdate, 0, 4),
'changed' => date('d/m/Y H:i', $epalStudent->changed),
//'changed' => date('d/m/Y H:i', $epalStudent->changed),
'changed' => date('d/m/Y H:i', $appchanged),
'epalSchoolsChosen' => $epalSchoolsChosen,
'applicantsResultsDisabled' => $applicantsResultsDisabled,
'applicantsAppModifyDisabled' => $applicantsAppModifyDisabled,
......
......@@ -47,7 +47,7 @@ gel.applicationdetails:
requirements:
_user_is_logged_in: 'TRUE'
gel.applicant.creationpdf:
path: '/gel/pdf-application/{studentId}/{status}'
path: '/gel/pdf-application/{studentId}/{status}/{schname}/{schaddress}/{schtel}'
options:
_auth: [ 'basic_auth' ]
defaults:
......@@ -174,3 +174,11 @@ gel.deleteFromDirector:
_controller: '\Drupal\gel\Controller\GelDistribution::deleteApplicationFromDirector'
requirements:
_user_is_logged_in: 'TRUE'
gel.initializationBperiod:
path: '/gel/initializationBperiod'
options:
_auth: [ 'basic_auth' ]
defaults:
_controller: '\Drupal\gel\Controller\GelDistribution::Initializationbperiod'
requirements:
_user_is_logged_in: 'TRUE'
......@@ -732,6 +732,7 @@ class GelApplicationSubmit extends ControllerBase
//$this->logger->error($student["lastschool_class"]);
$isNight = $this->isNightSchool($student["lastschool_registrynumber"]);
//από ΓΕΛ
/*
if ( $student["lastschool_unittypeid"] == "4" ) {
if ($isNight && $student["lastschool_class"] == "1" && $student["nextclass"] != 1 && $student["nextclass"] != 5) {
//$this->logger->error("ΠΕΡΙΠΤΩΣΗ 1 Ή 8");
......@@ -758,6 +759,7 @@ class GelApplicationSubmit extends ControllerBase
return 1026;
}
}
*/
//από Γυμνάσιο
//Προσοχή! Δεν αντιμετωπίζουμε τα Γυμνάσια με Λυκειακες Τάξεις
......
......@@ -510,12 +510,12 @@ class GelSubmittedApplications extends ControllerBase
else if ($gelStudent->school_id)
//υπάρχει σχολείο στον πίνακα gelstudenthighschool
$status = "1";
else if ($gelStudent->student_id != null && $gelStudent->school_id == null)
//υπάρχει ο μαθητής αλλά όχι το σχολείο στον πίνακα gelstudenthighschool
$status = "3";
else if ($gelStudent->lastschool_unittypeid == 40)
//ειδικές περιπτώσεις: μαθητές από ΣΔΕ / σχολεία εξωτερικού
$status = "3";
else if ($gelStudent->student_id != null && $gelStudent->school_id == null)
//υπάρχει ο μαθητής αλλά όχι το σχολείο στον πίνακα gelstudenthighschool
$status = "8";
else if ($gelStudent->student_id == null) {
//ο μαθητής δεν υπάρχει στον πίνακα gelstudenthighschool, άρα πάει αυτοδίκαια στο σχολείο τρέχουσας φοίτησης
$status = "4";
......@@ -552,6 +552,10 @@ class GelSubmittedApplications extends ControllerBase
else
$status = "0";
if ($gelStudent->changed != 1529867143)
$appchanged = $gelStudent->changed;
else
$appchanged = $gelStudent->created;
$list[] = array(
'applicationId' => $gelStudent->id,
......@@ -576,7 +580,8 @@ class GelSubmittedApplications extends ControllerBase
'telnum' => $telnum_decoded,
'relationtostudent' => $gelStudent->relationtostudent,
'birthdate' => substr($gelStudent->birthdate, 8, 2).'/'.substr($gelStudent->birthdate, 5, 2).'/'.substr($gelStudent->birthdate, 0, 4),
'changed' => date('d/m/Y H:i', $gelStudent->changed),
//'changed' => date('d/m/Y H:i', $gelStudent->changed),
'changed' => date('d/m/Y H:i', $appchanged),
'gelStudentChoices' => $gelStudentChoices,
//'schoolName' => $gelStudent->eeschfin_name,
//'schoolAddress' => $gelStudent->street_address,
......
......@@ -58,7 +58,7 @@ class PDFCreator extends ControllerBase {
);
}
public function createApplicantPDF(Request $request, $studentId, $status) {
public function createApplicantPDF(Request $request, $studentId, $status, $schname, $schaddress, $schtel) {
try {
if (!$request->isMethod('GET')) {
......@@ -140,6 +140,9 @@ class PDFCreator extends ControllerBase {
$this->initPdfHandler();
$this->createHeader($gelStudent,$status);
$this->createResult($gelStudent,$status, $schname, $schaddress, $schtel);
$ret = $this->createGuardianInfo($gelStudent);
if ($ret === ERROR_DECODΕ)
return $this->respondWithStatus([
......@@ -186,19 +189,98 @@ class PDFCreator extends ControllerBase {
$this->pdf->SetFont($this->fontBold, '', 16);
$this->pdf->MultiCell(0, 8, $this->prepareString('Ηλεκτρονική Δήλωση Προτίμησης ΓΕΛ'), 0, 'C');
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->MultiCell(0, 8, $this->prepareString('με αριθμό δήλωσης: ' . $student->id->value . ' / ' . date('d-m-y (ώρα: H:i:s)', $student->changed->value)), 0, 'C');
if ($student->changed->value != 1529867143)
$this->pdf->MultiCell(0, 8, $this->prepareString('με αριθμό δήλωσης: ' . $student->id->value . ' / ' . date('d-m-y (ώρα: H:i:s)', $student->changed->value)), 0, 'C');
else
$this->pdf->MultiCell(0, 8, $this->prepareString('με αριθμό δήλωσης: ' . $student->id->value . ' / ' . date('d-m-y (ώρα: H:i:s)', $student->created->value)), 0, 'C');
$this->pdf->SetFont($this->fontLight, '', 11);
//if ($this->applicantsResultsDisabled === "1")
if ($status === "0" || $status === "2" || $status === "3" || $status === "5" || $status === "6" || $status === "7")
if ($status === "0" || $status === "2" || $status === "3" || $status === "5" || $status === "6" || $status === "7" || $status === "8")
$this->pdf->MultiCell(0, 8, $this->prepareString('(Αρχική)'), 0, 'R');
else
else if ($status === "1" || $status === "4" )
$this->pdf->MultiCell(0, 8, $this->prepareString('(Οριστική)'), 0, 'R');
$this->pdf->Ln();
}
private function createResult($student,$status, $schname, $schaddress, $schtel) {
$width = 45;
$height = 8;
if ($status == "1" || $status == "4") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Η αίτησή σας ικανοποιήθηκε. Έχετε επιλεγεί για να εγγραφείτε στο " . $schname .
". Μπορείτε να προσέλθετε στο σχολείο για να ολοκληρωθεί η διαδικασία εγγραφής σας σε αυτό, " .
"προσκομίζοντας τα απαραίτητα δικαιολογητικά μέχρι την αρχή της σχολικής χρονιάς. " .
"Διεύθυνση σχολείου: " . $schaddress . ", Τηλέφωνο σχολείου: " . $schtel . ".";
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "3") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Η αίτησή σας είναι σε κατάσταση διεκπεραίωσης από την οικεία Διεύθυνση Δευτεροβάθμιας Εκπαίδευσης.";
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "5") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Δεν ήταν δυνατή η τοποθέτησή σας σε σχολείο λόγω του αποτελέσματος φοίτησης. " .
"Μπορείτε να προχωρήσετε σε τροποποίηση της αίτησης στη Β’ περίοδο αιτήσεων.";
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "6") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Δεν ήταν δυνατή η τοποθέτησή σας σε σχολείο λόγω του τρέχοντος αποτελέσματος προαγωγής. " .
"Σε περίπτωση προαγωγής σας τις αμέσως επόμενες ημέρες θα τοποθετηθείτε σε σχολείο χωρίς καμία δική σας περαιτέρω ενέργεια." ;
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "7") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Το αποτέλεσμα της προαγωγής σας δεν έχει καταχωρισθεί στo πληροφοριακό σύστημα του σχολείου (myschool). " .
"Παρακαλώ επικοινωνήστε με τον διευθυντή του σχολείου σας." ;
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
else if ($status == "8") {
$this->pdf->SetFont($this->fontBold, '', $this->fontSizeHeader);
$this->pdf->SetFillColor(255,178,102);
$this->pdf->MultiCell(0, $height, $this->prepareString('Αποτέλεσμα Τοποθέτησης'), 0, 'C',true);
$this->pdf->Ln(4);
$this->pdf->SetFont($this->fontLight, '', /*$this->fontSizeRegular*/ 12);
$msg = "Η δήλωσή σας φαίνεται να έχει λάθος στοιχεία. Μπορείτε να προχωρήσετε σε τροποποίηση ή διαγραφή και νέα αίτηση " .
"κατά τη Β’ περίοδο αιτήσεων. Δώστε ιδιαίτερη προσοχή στα πεδία: Σχολείο τελευταίας φοίτησης " .
"(για τους ενεργούς μαθητές είναι το σχολείο που φοιτούν αυτή τη στιγμή), Τάξη τελευταίας φοίτησης, Τάξη φοίτησης στο ερχόμενο σχολικό έτος." ;
$this->pdf->MultiCell(0, $height, $this->prepareString($msg), 0, 'J');
$this->pdf->Ln();
}
}
private function createGuardianInfo($student) {
$width = 45;
......
......@@ -162,7 +162,7 @@ class CurrentUser extends ControllerBase
public function getApplicantUserData(Request $request)
{
//test
//for ($k=0;$k<14;$k++)
//for ($k=0;$k<1;$k++)
// $this->logger->warning(\Drupal::service('uuid')->generate() );
$authToken = $request->headers->get('PHP_AUTH_USER');
......
......@@ -22,6 +22,10 @@ import { IAppState } from "../../store/store";
<button type="button" class="btn btn-block" (click)="nav_to_reportpath(0)"><i class="fa fa-file-text"></i> Δηλώσεις Μαθητών</button>
</div>
<div *ngIf = "userRole == 'director_gel' ">
<button type="button" class="btn btn-block" (click)="nav_to_reportpath(1)"><i class="fa fa-file-text"></i> Επιλογές μαθητών</button>
</div>
</div>
`
......@@ -70,6 +74,9 @@ import { IAppState } from "../../store/store";
if (repId === 0) {
this.router.navigate(["/school/report-gel-applications"]);
}
else if (repId === 1) {
this.router.navigate(["/school/report-gel-choices"]);
}
}
}
import { NgRedux } from "@angular-redux/store";
import { Injectable } from "@angular/core";
import { Component, ElementRef, Input, OnDestroy, OnInit, ViewChild } from "@angular/core";
import { ActivatedRoute, Router } from "@angular/router";
import { LocalDataSource } from "ng2-smart-table";
import { BehaviorSubject, Subscription } from "rxjs/Rx";
import { API_ENDPOINT } from "../../app.settings";
import { HelperDataService } from "../../services/helper-data-service";
//import { IAppState } from "../../store/store";
import { CsvCreator } from "../minister/csv-creator";
import { ReportsSchema, TableColumn } from "../minister/reports-schema";
@Component({
selector: "report-gel-choices",
template: `
<div class="reports-container">
<div class = "loading" *ngIf="validCreator == 0" ></div>
<h5>Επιλογές μαθητών</h5>
<button type="submit" class="btn btn-alert pull-right" (click)="navigateBack()" > Επιστροφή</button>
<div *ngIf="validCreator == 1 ">
<!--<input #search class="search" type="text" placeholder="Αναζήτηση..." (keydown.enter)="onSearch(search.value)">-->
<div class="smart-table-container table table-hover table-striped" reportScroll>
<ng2-smart-table [settings]="settings" [source]="source"></ng2-smart-table>
</div>
</div>
<button type="button" class="alert alert-info pull-right" (click)="export2Csv()" [hidden]="validCreator != 1"><i class="fa fa-download"></i> Εξαγωγή σε csv</button>
</div>
`
})
@Injectable() export default class ReportGelChoices implements OnInit, OnDestroy {
private generalReport$: BehaviorSubject<any>;
private generalReportSub: Subscription;
private apiEndPoint = API_ENDPOINT;
private data;
private validCreator: number;
//private reportId: number;
private routerSub: any;
private source: LocalDataSource;
columnMap: Map<string, TableColumn> = new Map<string, TableColumn>();
@Input() settings: any;
private reportSchema = new ReportsSchema();
private csvObj = new CsvCreator();
constructor(
//private _ngRedux: NgRedux<IAppState>,
private _hds: HelperDataService,
private activatedRoute: ActivatedRoute,
private router: Router) {
this.generalReport$ = new BehaviorSubject([{}]);
this.validCreator = -1;
}
ngOnInit() {
this.createReport();
}
ngOnDestroy() {
if (this.generalReportSub)
this.generalReportSub.unsubscribe();
}
createReport() {
this.validCreator = 0;
let route = "/school/report-gel-choices/";
this.settings = this.reportSchema.reportGelChoices;
this.generalReportSub = this._hds.makeGelReports(route).subscribe(data => {
this.generalReport$.next(data);
this.data = data;
this.validCreator = 1;
this.source = new LocalDataSource(this.data);
this.columnMap = new Map<string, TableColumn>();
// pass parametes to csv class object
this.csvObj.columnMap = this.columnMap;
this.csvObj.source = this.source;
this.csvObj.settings = this.settings;
this.csvObj.prepareColumnMap();
},
error => {
this.generalReport$.next([{}]);
this.validCreator = -1;
console.log("Error Getting ReportGelChoices");
});
}
navigateBack() {
this.router.navigate(["/school/directorgel-reports"]);
}
//onSearch(query: string = "") {
// this.csvObj.onSearch(query);
//}
export2Csv() {
this.csvObj.export2Csv();
}
}
......@@ -79,6 +79,14 @@ import { IAppState } from "../../store/store";
</div>
<br>
<div class="col-md-6">
<button type="submit" class="btn btn-lg btn-block"
*ngIf="(loginInfo$ | async).size !== 0" (click)="InitializeBPeriod()" >
Initialization Β Περιόδου <span class="glyphicon glyphicon-menu-right"></span>
</button>
</div>
<br>
</div>
</div>
......@@ -95,6 +103,7 @@ import { IAppState } from "../../store/store";
private showLoader: BehaviorSubject<boolean>;
private loginInfoSub: Subscription;
private ServiceStudentCertifSub: Subscription;
private InitializedSub: Subscription;
//private wsIdentSub: Subscription;
private minedu_userName: string;
private minedu_userPassword: string;
......@@ -136,6 +145,8 @@ import { IAppState } from "../../store/store";
this.loginInfoSub.unsubscribe();
if (this.ServiceStudentCertifSub)
this.ServiceStudentCertifSub.unsubscribe();
if (this.InitializedSub)
this.InitializedSub.unsubscribe();
//if (this.wsIdentSub)
// this.wsIdentSub.unsubscribe();
}
......@@ -239,7 +250,52 @@ import { IAppState } from "../../store/store";
}
InitializeBPeriod()
{
console.log("ua mas trelanei");
this.showLoader.next(true);
this.InitializedSub = this._hds.InitialazationBPeriod(this.minedu_userName, this.minedu_userPassword)
.subscribe(data => {
let mTitle = "ok";
let mText = "H αρχικοποιηση για τη Β' περίοδο έγινε με επιτυχία.";
let mHeader = "modal-header-success";
this.modalTitle.next(mTitle);
this.modalText.next(mText);
this.modalHeader.next(mHeader);
this.showModal("#promotionNotice");
(<any>$(".loading")).remove();
this.showLoader.next(false);
},
error => {
console.log("Error Getting goToSecondPeriod from Web Service");
let mTitle = "Αποτυχία Αρχικοποιησης.";
let mText = "Αποτυχία Αρχικοποιησης. " +
"Προσπαθήστε ξανά. Σε περίπτωση που το πρόβλημα επιμείνει, παρακαλώ επικοινωνήστε με την ομάδα υποστήριξης.";
let mHeader = "modal-header-danger";
this.modalTitle.next(mTitle);
this.modalText.next(mText);
this.modalHeader.next(mHeader);
this.showModal("#promotionNotice");
(<any>$(".loading")).remove();
this.showLoader.next(false);
return;
});
}
}
//}
}
......@@ -524,11 +524,63 @@ export class ReportsSchema {
}
},
};
reportGelChoices = {
actions: false,
fileName: "Επιλογές μαθητων ΓΕΛ",
pager: {
display: true,
perPage: 15
},
noDataMessage: "Δεν υπάρχουν δεδομένα που περιέχουν το κείμενο αναζήτησης",
columns: {
id: {
title: "Id αίτησης",
width: "10%",
filter: true
},
name: {
title: "Όνομα",
width: "15%",
filter: true
},
surname: {
title: "Επώνυμο",
width: "15%",
filter: true
},
section: {
title: "Τάξη",
width: "15%",
filter: true
},
choice: {
title: "Επιλογή",
width: "15%",
filter: true
},
orderid: {
title: "Σειρά Προτίμησης",
width: "10%",
filter: true
},
category: {
title: "Τύπος μαθήματος",
width: "10%",
filter: true
},
},
};
reportGelApplications = {
actions: false,
fileName: "e-ΓΕΛ Δηλώσεις μαθητών Σχολικής Μονάδας",
......
......@@ -122,7 +122,9 @@ import { IAppState } from "../../store/store";
<div *ngIf = "GelStudentDetails$.status == '1'|| GelStudentDetails$.status == '4' " >
<div class="col-md-12" style="font-size: 1.0em; color: #21610B; font-weight: bold;">
Η αίτησή σας ικανοποιήθηκε. Έχετε επιλεγεί για να εγγραφείτε στο {{GelStudentDetails$.schoolName}}.
Παρακαλείστε να προσέλθετε στο σχολείο για να προχωρήσει η διαδικασία εγγραφής σας σε αυτό, προσκομίζοντας τα απαραίτητα δικαιολογητικά. Διεύθυνση σχολείου: {{GelStudentDetails$.schoolAddress}}, Τηλέφωνο σχολείου: {{GelStudentDetails$.schoolTel}}.<br><br>
Μπορείτε να προσέλθετε στο σχολείο για να ολοκληρωθεί η διαδικασία εγγραφής σας σε αυτό,
προσκομίζοντας τα απαραίτητα δικαιολογητικά μέχρι την αρχή της σχολικής χρονιάς.
Διεύθυνση σχολείου: {{GelStudentDetails$.schoolAddress}}, Τηλέφωνο σχολείου: {{GelStudentDetails$.schoolTel}}.<br><br>
</div>
</div>
<div *ngIf = "GelStudentDetails$.status == '3' " >
......@@ -739,11 +741,13 @@ import { IAppState } from "../../store/store";
}
createPdfServerSide() {
this._hds.createPdfServerSide(this.applicationEpalIdActive, this.EpalSubmittedDetails$.getValue()[0].status);
this._hds.createPdfServerSide(this.applicationEpalIdActive, this.EpalSubmittedDetails$.getValue()[0].status,
this.EpalSubmittedDetails$.getValue()[0].schoolName, this.EpalSubmittedDetails$.getValue()[0].schoolAddress, this.EpalSubmittedDetails$.getValue()[0].schoolTel);
}
createGelPdfServerSide() {
this._hds.createGelPdfServerSide(this.applicationGelIdActive, this.GelSubmittedDetails$.getValue()[0].status);
this._hds.createGelPdfServerSide(this.applicationGelIdActive, this.GelSubmittedDetails$.getValue()[0].status,
this.GelSubmittedDetails$.getValue()[0].schoolName, this.GelSubmittedDetails$.getValue()[0].schoolAddress, this.GelSubmittedDetails$.getValue()[0].schoolTel);
}
deleteApplication(appId: number): void {
......
......@@ -83,6 +83,7 @@ import SchoolGymAuthGuard from "../guards/schoolgym.auth.guard";
import ReportCapacity from "../components/director/report-capacity";
import ReportEpalApplications from "../components/director/report-epal-applications";
import ReportGelApplications from "../components/director/report-gel-applications";
import ReportGelChoices from "../components/director/report-gel-choices";
export const MainRoutes: Routes = [
......@@ -112,6 +113,7 @@ export const MainRoutes: Routes = [
{ path: "school/directorgel-reports", component: DirectorGelReports, canActivate: [SchoolGelAuthGuard, SchoolGelStudentsLockedGuard] },
{ path: "school/report-gel-applications", component: ReportGelApplications, canActivate: [SchoolGelAuthGuard, SchoolGelStudentsLockedGuard] },
{ path: "school/report-gel-choices", component: ReportGelChoices, canActivate: [SchoolGelAuthGuard, SchoolGelStudentsLockedGuard] },
{ path: "school/director-buttons", component: DirectorButtons, canActivate: [SchoolAuthGuard] },
{ path: "school/director-classcapacity", component: DirectorClassCapacity, canActivate: [SchoolAuthGuard, SchoolCapacityLockedGuard] },
......@@ -189,6 +191,7 @@ export const MainDeclarations = [
ReportCapacity,
ReportEpalApplications,
ReportGelApplications,
ReportGelChoices,
InformStudents,
UpdatePromotion,
MinisterSettings,
......
......@@ -745,6 +745,10 @@ export class HelperDataService implements OnInit, OnDestroy {
return this.http.get(`${AppSettings.API_ENDPOINT}` + routepath , options)
.map(response => response.json());
}
else if (routepath === "/school/report-capacity/" || routepath === "/school/report-gel-choices/") {
return this.http.get(`${AppSettings.API_ENDPOINT}` + routepath , options)
.map(response => response.json());
}
}
makeDideReports(routepath)
......@@ -1123,25 +1127,7 @@ export class HelperDataService implements OnInit, OnDestroy {
}
*/
createPdfServerSide(headerid, status) {
let headers = new Headers({
"Content-Type": "application/json",
});
this.createAuthorizationHeader(headers);
let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });
let headerIdStr = headerid.toString();
return this.http.get(`${AppSettings.API_ENDPOINT}/epal/pdf-application/` + headerIdStr + "/" + status, options)
.map((res) => {
return new Blob([res["_body"]], { type: "application/octet-stream" });
})
.subscribe(
data => {
FileSaver.saveAs(data, "appConfirmation.pdf");
},
err => console.error(err));
}
sendmail(email, name, surname, message, school_type) {
......@@ -1528,7 +1514,7 @@ getGelStudentDetails(headerid) {
.map(response => response.json());
}
createGelPdfServerSide(headerid, status) {
createPdfServerSide(headerid, status, schname, schaddress, schtel) {
let headers = new Headers({
"Content-Type": "application/json",
......@@ -1537,7 +1523,28 @@ createGelPdfServerSide(headerid, status) {
let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });
let headerIdStr = headerid.toString();
return this.http.get(`${AppSettings.API_ENDPOINT}/gel/pdf-application/` + headerIdStr + "/" + status, options)
return this.http.get(`${AppSettings.API_ENDPOINT}/epal/pdf-application/` + headerIdStr + "/" + status + "/" + schname + "/" + schaddress + "/" + schtel, options)
.map((res) => {
return new Blob([res["_body"]], { type: "application/octet-stream" });
})
.subscribe(
data => {
FileSaver.saveAs(data, "appConfirmation.pdf");
},
err => console.error(err));
}
createGelPdfServerSide(headerid, status, schname, schaddress, schtel) {
let headers = new Headers({
"Content-Type": "application/json",
});
this.createAuthorizationHeader(headers);
let options = new RequestOptions({ headers: headers, responseType: ResponseContentType.Blob });
let headerIdStr = headerid.toString();
return this.http.get(`${AppSettings.API_ENDPOINT}/gel/pdf-application/` + headerIdStr + "/" + status + "/" + schname + "/" + schaddress + "/" + schtel, options)
.map((res) => {
return new Blob([res["_body"]], { type: "application/octet-stream" });
})
......@@ -1829,6 +1836,25 @@ Initialazation() {
}
InitialazationBPeriod(username, userpassword) {
let headers = new Headers({
"Content-Type": "application/json",
});
this.createMinistryAuthorizationHeader(headers, username, userpassword);
let options = new RequestOptions({ headers: headers });
console.log("tralalala");
return this.http.get(`${AppSettings.API_ENDPOINT}/gel/initializationBperiod` , options)
.map(response => response.json());
}
findIfInitialized()
{
this.loginInfo$.getValue().forEach(loginInfoToken => {
......