Commit 933a4aa0 authored by Νίκος Κατσαούνος's avatar Νίκος Κατσαούνος

Merge branch 'develop' of https://git.minedu.gov.gr/itminedu/e-epal into component_updates

parents f83fda44 22dd4e6f
......@@ -20,21 +20,18 @@
<div class="header-wrapper">
<header id="navbar" role="banner" class="navbar navbar-default">
<div class="container">
<div *ngIf="(loginInfo$ | async).size > 0">
<div *ngFor="let loginInfoRow$ of loginInfo$ | async; let i=index;">
<ul class="navbar-nav">
<div *ngIf="(loginInfo$ | async).cu_name !== ''">
<div *ngIf="loginInfoRow$.cu_name !== ''">
<div class="row">
<div class="col-md-2">
<i class="fa fa-home isclickable" (click)="goHome()"></i>
<span class="signout isclickable" (click)="goHome()" style="color:#CC3300;">&nbsp;&nbsp;Αρχική</span>
</div>
<div class="col-md-2">
<span class="signout isclickable" (click)="gohelpDesk()" style="color:#CC3300;">&nbsp;&nbsp;Επικοινωνία</span>
<span *ngIf="loginInfoRow$.auth_role===studentRole" class="signout isclickable" (click)="gohelpDesk()" style="color:#CC3300;">Επικοινωνία</span>
</div>
<div class="col-md-4">&nbsp;</div>
<div class="col-md-4" style="text-align: right">
<span class="username" style="text-align: right">{{ cuName }}&nbsp;&nbsp;&nbsp;&nbsp;</span>
......
......@@ -23,6 +23,7 @@ import { StudentDataFieldsActions } from "../../actions/studentdatafields.action
})
export default class HeaderComponent implements OnInit, OnDestroy {
private authToken: string;
private studentRole = STUDENT_ROLE;
private authRole: string;
private cuName: string;
private loginInfo$: BehaviorSubject<ILoginInfo>;
......
......@@ -22,13 +22,12 @@
</div>
</div>
<div style="padding-top:10px;" class="left-choices">
<div style="margin-top:15px; margin-bottom: 10px;" class="left-choices">
<div class="row">
<div class="col-md-12">
<button type="button" class="btn-primary btn-lg pull-left isclickable" style="width: 10em;" >
<a style="font-size: 0.9em; font-family: arial, sans-serif!important; font-weight: bold; color: #ffffff;" href="../pdfs/files/odigies.pdf" target="_blank">Οδηγίες χρήσης</a>
</button>
<a href="/pdfs/files/odigies.pdf" target="_blank" class="btn btn-primary btn-lg pull-left isclickable active" style="width: 10em; " role="button" aria-pressed="true">
<span style="font-size: 0.9em; font-family: arial, sans-serif!important; font-weight: bold; color: #ffffff;">Οδηγίες χρήσης</span>
</a>
</div>
</div>
</div>
......
......@@ -21,12 +21,12 @@ import { StudentDataFieldsActions } from '../../actions/studentdatafields.action
<div class = "loading" *ngIf="(showLoader$ | async) === true"></div>
<div class="row" style="margin-top: 130px; margin-bottom: 200px;">
<div class="col-md-3 offset-md-3">
<button type="submit" class="btn-primary btn-lg btn-block isclickable" style="margin: 0px; font-size: 1em; padding: 5px; height: 6em;" (click)="submittedView()">
<button type="submit" class="btn-primary btn-lg btn-block isclickable" style="margin: 0px; font-size: 1em; padding: 5px; height: 8em;" (click)="submittedView()">
Εμφάνιση<br />Εκτύπωση<br />Δήλωσης<br />Προτίμησης
</button>
</div>
<div class="col-md-6">
<button type="submit" class="btn-primary btn-lg btn-block isclickable" style="margin: 0px; font-size: 1em; padding: 5px; height: 6em;" (click)="signOut()">
<button type="submit" class="btn-primary btn-lg btn-block isclickable" style="margin: 0px; font-size: 1em; padding: 5px; height: 8em;" (click)="signOut()">
Αποσύνδεση
</button>
</div>
......
......@@ -364,7 +364,7 @@ import { HelperDataService } from "../../services/helper-data-service";
this._csa.initSectorCourses();
this._sdfa.initStudentDataFields();
mTitle = "Υποβολή Δήλωσης Προτίμησης";
mText = "Η υποβολή της αίτησής σας πραγματοποιήθηκε. Μπορείτε να την εκτυπώσετε από την επιλογή 'Εμφάνιση - Εκτύπωση Δήλωσης Προτίμησης'. Θα ειδοποιηθείτε στο e-mail που δηλώσατε για την εξέλιξη της αίτησής σας.";
mText = "Η υποβολή της δήλωσής σας πραγματοποιήθηκε. Μπορείτε να τη δείτε και να την εκτυπώσετε από την επιλογή 'Εμφάνιση - Εκτύπωση Δήλωσης Προτίμησης'. Από την επιλογή 'Υποβληθείσες Δηλώσεις' θα μπορείτε να ενημερωθείτε όταν υπάρξει εξέλιξη σχετική με τη δήλωση σας. Επίσης, θα λάβετε και ενημερωτικό email.";
mHeader = "modal-header-success";
break;
case 1001:
......
......@@ -54,9 +54,33 @@ import {
<form novalidate [formGroup]="formGroup" #form>
<legal-info></legal-info>
<p align="left"><strong> Νομοθεσία </strong></p>
<ul class="list-group">
<li class="list-group-item isclickable evenout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/ypourgikh.pdf" target="_blank">Υπουργική Απόφαση - αριθμ. Φ1α/98933/Δ4</a>
</li>
<li class="list-group-item isclickable oddout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/egkyklios.pdf" target="_blank">Εγκύκλιος του Υ.Π.Π.Ε.Θ.- αρ.πρωτ. 89047/ΓΔ4/26-05-2017 </a>
</li>
</ul>
<br>
<br>
<p align="left"><strong> Χρήσιμες Πληροφορίες </strong></p>
<ul class="list-group">
<li class="list-group-item isclickable evenout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/infos.pdf" target="_blank">Ενημερωτικά Στοιχεία</a>
</li>
<li class="list-group-item isclickable oddout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/diptixo.pdf" target="_blank">Η Επαγγελματική Εκπαίδευση αναβαθμίζεται</a>
</li>
<li class="list-group-item isclickable evenout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="http://www.minedu.gov.gr/texniki-ekpaideusi-2/odigos-spoudon-gia-to-epal" target="_blank">Οδηγός Σπουδών για το ΕΠΑΛ </a>
</li>
</ul>
<br>
<br>
<div class="row">
<div class="col-md-1 ">
<input type="checkbox" [checked]="disclaimerChecked | async" formControlName="disclaimerChecked" >
......
import { Component, OnInit, OnDestroy } from "@angular/core";
import {Location} from '@angular/common';
import { Injectable } from "@angular/core";
import { VALID_EMAIL_PATTERN, VALID_NAMES_PATTERN } from '../../constants';
import {Router} from "@angular/router";
......@@ -33,8 +34,6 @@ import {
<form [formGroup]="formGroup">
<div class="form-group">
<div *ngFor="let loginInfoRow$ of loginInfo$ | async; let i=index;" style="margin-bottom: 20px;">
<label for="userEmail">Email Επικοινωνίας(<span style="color: #ff0000;">*</span>)</label>
<input #userEmail class="form-control" type="text" formControlName="userEmail" >
......@@ -45,6 +44,7 @@ import {
<div class="alert alert-danger" *ngIf="formGroup.get('userEmail').hasError('pattern')">
Πληκτρολογήστε ένα σωστό συντακτικά email!
</div>
</div>
<div class="form-group">
<label for="userName">Όνομα(<span style="color: #ff0000;">*</span>)</label>
......@@ -77,18 +77,22 @@ import {
Πληκτρολογήστε ενα μήνυμα!
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="row" style="margin-top: 30px; margin-bottom: 30px;">
<div class="col-md-6">
<button type="button" class="btn-primary btn-lg pull-left isclickable" style="width: 9em;" (click)="goBack()" >
<span style="font-size: 0.9em; font-weight: bold;">Επιστροφή</span>
</button>
</div>
<div class="col-md-6">
<button type="button" class="btn-primary btn-lg pull-right isclickable" style="width: 10em;" (click)="sendmail()" >
<span style="font-size: 0.9em; font-weight: bold;">Αποστολή email </span>
</button>
</div>
</div>
<br>
<br>
<p align="left">
<p style="text-align: left, font-size: 0.9em;">
<strong>Τηλ. Επικοινωνίας:</strong> 2103443014, 2103442231, 2103443359, 2103442034, 2103443309 (ώρες: 8:00 - 16:00)</p>
......@@ -97,16 +101,16 @@ import {
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header modal-header-success">
<h3 class="modal-title pull-left"><i class="fa fa-check-square-o"></i>&nbsp;&nbsp;To email έχει αποσταλλεί</h3>
<h3 class="modal-title pull-left"><i class="fa fa-check-square-o"></i>&nbsp;&nbsp;Επιτυχής αποστολή μηνύματος</h3>
<button type="button" class="close pull-right" aria-label="Close" (click)="hideModal('#mailsent')">
<span aria-hidden="true"><i class="fa fa-times"></i></span>
</button>
</div>
<div class="modal-body">
<p>Επιτυχής αποστόλη!</p>
<p>Το μήνυμά σας αποστάλθηκε. Θα μελετήσουμε το αίτημά σας και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό!</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Κλείσιμο</button>
<button type="button" class="btn btn-default pull-left" data-dismiss="modal" (click)="goBack()">Κλείσιμο</button>
</div>
</div>
</div>
......@@ -116,13 +120,13 @@ import {
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header modal-header-danger">
<h3 class="modal-title pull-left"><i class="fa fa-ban"></i>&nbsp;&nbsp;To email δεν έχει αποσταλλεί</h3>
<h3 class="modal-title pull-left"><i class="fa fa-ban"></i>&nbsp;&nbsp;Αποτυχία αποστολής μηνύματος</h3>
<button type="button" class="close pull-right" aria-label="Close" (click)="hideModal('#dangermodal')">
<span aria-hidden="true"><i class="fa fa-times"></i></span>
</button>
</div>
<div class="modal-body">
<p>Παρακαλώ προσπαθήστε ξανα!</p>
<p>Πρόβλημα επικοινωνίας! Παρακαλούμε προσπαθήστε πάλι αργότερα.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Κλείσιμο</button>
......@@ -136,13 +140,13 @@ import {
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header modal-header-danger">
<h3 class="modal-title pull-left"><i class="fa fa-ban"></i>&nbsp;&nbsp;To email δεν έχει αποσταλλεί</h3>
<h3 class="modal-title pull-left"><i class="fa fa-ban"></i>&nbsp;&nbsp;Αποτυχία αποστολής μηνύματος</h3>
<button type="button" class="close pull-right" aria-label="Close" (click)="hideModal('#fillfields')">
<span aria-hidden="true"><i class="fa fa-times"></i></span>
</button>
</div>
<div class="modal-body">
<p>Παρακαλώ συμπληρώστε όλα τα υποχρεωτικά πεδία!</p>
<p>Παρακαλούμε συμπληρώστε όλα τα υποχρεωτικά πεδία!</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Κλείσιμο</button>
......@@ -150,6 +154,7 @@ import {
</div>
</div>
</div>
</form>
`
......@@ -165,14 +170,14 @@ import {
constructor(private fb: FormBuilder,
private hds: HelperDataService,
private _ngRedux: NgRedux<IAppState>)
{
private _ngRedux: NgRedux<IAppState>,
private loc: Location) {
this.loginInfo$ = new BehaviorSubject(LOGININFO_INITIAL_STATE);
this.showLoader = new BehaviorSubject(false);
this.formGroup = fb.group({
userEmail: ['', [Validators.pattern(VALID_EMAIL_PATTERN),Validators.required]],
userName: ['', [Validators.pattern(VALID_NAMES_PATTERN),Validators.required]],
userSurname: ['', [Validators.pattern(VALID_NAMES_PATTERN),Validators.required]],
userEmail: ['', [Validators.pattern(VALID_EMAIL_PATTERN), Validators.required]],
userName: ['', [Validators.pattern(VALID_NAMES_PATTERN), Validators.required]],
userSurname: ['', [Validators.pattern(VALID_NAMES_PATTERN), Validators.required]],
userMessage: ['', [Validators.required]],
})
......@@ -215,16 +220,13 @@ import {
}).subscribe(this.loginInfo$);
}
sendmail() {
if (this.formGroup.invalid){
if (this.formGroup.invalid) {
this.showModal("#fillfields");
}
else
{
else {
this.showLoader.next(true);
this.hds.sendmail(this.formGroup.value.userEmail, this.formGroup.value.userName, this.formGroup.value.userSurname,this.formGroup.value.userMessage)
this.hds.sendmail(this.formGroup.value.userEmail, this.formGroup.value.userName, this.formGroup.value.userSurname, this.formGroup.value.userMessage)
.then(res => {
this.emailSent.next(true);
this.showLoader.next(false);
......@@ -237,4 +239,8 @@ import {
});
}
}
goBack(): void {
this.loc.back();
}
}
import { Component, OnInit, OnDestroy } from "@angular/core";
import { Injectable } from "@angular/core";
import { AppSettings } from '../../app.settings';
import { Http, Headers, RequestOptions} from '@angular/http';
import { NgRedux, select } from 'ng2-redux';
import { IAppState } from '../../store/store';
import { Router, ActivatedRoute, Params} from '@angular/router';
import { BehaviorSubject, Subscription } from 'rxjs/Rx';
import { ILoginInfo } from '../../store/logininfo/logininfo.types';
import { LOGININFO_INITIAL_STATE } from '../../store/logininfo/logininfo.initial-state';
import { LoginInfoActions } from '../../actions/logininfo.actions';
import {
FormBuilder,
FormGroup,
FormControl,
FormArray,
Validators,
} from '@angular/forms';
import { Component, Injectable } from "@angular/core";
import { Router } from '@angular/router';
import {Location} from '@angular/common';
@Component({
selector: 'legal-info',
template: `
<form #form>
<p align="left"><strong> Νομοθεσία </strong></p>
<ul class="list-group">
<li class="list-group-item isclickable evenout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/ypourgikh.pdf" target="_blank">Υπουργική Απόφαση - αριθμ. Φ1α/98933/Δ4</a>
</li>
<li class="list-group-item isclickable oddout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/egkyklios.pdf" target="_blank">Εγκύκλιος του Υ.Π.Π.Ε.Θ.- αρ.πρωτ. 89047/ΓΔ4/26-05-2017 </a>
</li>
</ul>
<br>
<br>
<p align="left"><strong> Χρήσιμες Πληροφορίες </strong></p>
<ul class="list-group">
<li class="list-group-item isclickable evenout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="../pdfs/files/infos.pdf" target="_blank">Ενημερωτικά Στοιχεία</a>
</li>
......@@ -44,29 +28,35 @@ import {
<li class="list-group-item isclickable evenout" >
<a class="col-md-12" style="font-size: 0.8em; font-weight: bold;" href="http://www.minedu.gov.gr/texniki-ekpaideusi-2/odigos-spoudon-gia-to-epal" target="_blank">Οδηγός Σπουδών για το ΕΠΑΛ </a>
</li>
<br>
<br>
</form>
</ul>
<div class="row" style="margin-top: 30px; margin-bottom: 30px;">
<div class="col-md-6">
<button type="button" class="btn-primary btn-lg pull-left isclickable" style="width: 9em;" (click)="goBack()" >
<span style="font-size: 0.9em; font-weight: bold;">Επιστροφή</span>
</button>
</div>
<div class="col-md-6">
<button type="button" class="btn-primary btn-lg pull-right isclickable" style="width: 9em;" (click)="goHome()" >
<span style="font-size: 0.9em; font-weight: bold;">Αρχική</span>
</button>
</div>
</div>
`
})
@Injectable() export default class LegalInfo implements OnInit, OnDestroy {
constructor() {
@Injectable() export default class LegalInfo {
constructor(private router: Router, private loc: Location) {
}
ngOnDestroy() {
public goBack(): void {
this.loc.back();
}
ngOnInit() {
public goHome(): void {
this.router.navigate(['']);
}
}
......@@ -8,7 +8,7 @@ import { IAppState } from '../../store/store';
import { ILoginInfo } from '../../store/logininfo/logininfo.types';
import {Router, ActivatedRoute, Params} from '@angular/router';
import { BehaviorSubject, Subscription } from 'rxjs/Rx';
import {Location} from '@angular/common';
@Component({
selector: 'submited-preview',
......@@ -42,11 +42,11 @@ import { BehaviorSubject, Subscription } from 'rxjs/Rx';
<p>Έχουν υποβληθεί οι παρακάτω δηλώσεις προτίμησης ΕΠΑΛ για το νέο σχολικό έτος.</p>
<p>Επιλέξτε το όνομα ή το επώνυμο του μαθητή για να δείτε αναλυτικά τη δήλωσή σας και να την εκτυπώσετε σε μορφή PDF.</p>
<p>Μπορείτε να διαγράψετε μία δήλωση επιλέγοντας το εικονίδιο δεξιά από το ονοματεπώνυμο.</p>
<p>Επιλέξτε "Αρχική" επάνω αριστερά αν θέλετε να ξεκινήσετε την υποβολή νέας δήλωσης προτίμησης.</p>
<p>Επιλέξτε "Αρχική" επάνω αριστερά ή κάτω αν θέλετε να ξεκινήσετε την υποβολή νέας δήλωσης προτίμησης.</p>
</div>
<div *ngIf="(SubmitedApplic$ | async).length === 0" class="row" style="margin: 10px 2px 10px 2px;">
<p>Δεν έχετε ακόμη υποβάλλει δήλωση προτίμησης ΕΠΑΛ για το νέο σχολικό έτος.</p>
<p>Επιλέξτε "Αρχική" επάνω αριστερά αν θέλετε να ξεκινήσετε την υποβολή νέας δήλωσης προτίμησης.</p>
<p>Επιλέξτε "Αρχική" επάνω αριστερά ή κάτω αν θέλετε να ξεκινήσετε την υποβολή νέας δήλωσης προτίμησης.</p>
</div>
......@@ -182,6 +182,20 @@ import { BehaviorSubject, Subscription } from 'rxjs/Rx';
</div>
</div>
<div class="row" style="margin-top: 20px; margin-bottom: 20px;">
<div class="col-md-6">
<button type="button" class="btn-primary btn-lg pull-left isclickable" style="width: 9em;" (click)="goBack()" >
<span style="font-size: 0.9em; font-weight: bold;">Επιστροφή</span>
</button>
</div>
<div class="col-md-6">
<button type="button" class="btn-primary btn-lg pull-right isclickable" style="width: 9em;" (click)="goHome()" >
<span style="font-size: 0.9em; font-weight: bold;">Αρχική</span>
</button>
</div>
</div>
</div>
`
......@@ -216,7 +230,7 @@ import { BehaviorSubject, Subscription } from 'rxjs/Rx';
private _hds: HelperDataService,
private activatedRoute: ActivatedRoute,
private router: Router,
/*private fb: FormBuilder,*/
private loc: Location
) {
this.SubmitedApplic$ = new BehaviorSubject([{}]);
this.SubmitedDetails$ = new BehaviorSubject([{}]);
......@@ -351,4 +365,13 @@ import { BehaviorSubject, Subscription } from 'rxjs/Rx';
this.isModalShown.next(false);
}
public goBack(): void {
this.loc.back();
}
public goHome(): void {
this.router.navigate(['']);
}
}
......@@ -85,7 +85,7 @@ export const MainRoutes: Routes = [
{ path: 'ministry/minister-settings', component: MinisterSettings, canActivate: [MinistryAuthGuard] },
{ path: 'school/perfecture-view', component: PerfectureView, canActivate: [RegionEduAuthGuard] },
{ path: 'school/eduadmin-view', component: EduadminView, canActivate: [EduAdminAuthGuard] },
{ path: 'help-desk', component: HelpDesk },
{ path: 'help-desk', component: HelpDesk, canActivate: [StudentAuthGuard] },
];
export const MainDeclarations = [
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment