Commit 962fc867 authored by Open Source Developer's avatar Open Source Developer

others

parent a7809423
......@@ -12,7 +12,7 @@
//position: absolute;
//bottom: 0;
width: 100%;
height: 100px;
height: 80px;
line-height: 20px;
background-color: #3a3a3a;
color: #909090;
......
......@@ -165,7 +165,7 @@ import {
class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header modal-header-warning">
<div class="modal-header modal-header-success">
<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('#checksaved')">
<span aria-hidden="true"><i class="fa fa-times"></i></span>
......@@ -187,7 +187,7 @@ 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-check-square-o"></i>&nbsp;&nbsp;Η επιλογή σας δεν έχει αποθηκευτεί</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>
......@@ -208,7 +208,7 @@ 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-check-square-o"></i>&nbsp;&nbsp;Δεν υπάρχουν μαθητές</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('#emptyselection')">
<span aria-hidden="true"><i class="fa fa-times"></i></span>
</button>
......
......@@ -4,22 +4,15 @@
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-8"><span class="ft-text align-middle">Η εφαρμογή σχεδιάστηκε και υλοποιήθηκε από την Ομάδα Ανοιχτού Λογισμικού του ΥΠΠΕΘ
<br></span>
<span class="ft-text align-middle"> Όροι Χρήσης και Δήλωση Απορρήτου | Άδεια χρήσης περιεχομένου: CC-BY-SA </span>
</div>
</div>
<br>
<div class="row">
<div class="col-xs-12 col-md-4"><span class="ft-text">Copyright (c) ΥΠ.Π.Ε.Θ. 2017</span></div>
<div class="col-xs-12 col-md-3"><span class="ft-text">Copyright (c) ΥΠ.Π.Ε.Θ. 2017</span></div>
<div class="cols-xs-12 col-md-6 text-center">
<!-- <span class="ft-text"><a href="#">ΟΡΟΙ ΧΡΗΣΗΣ – ΕΜΠΙΣΤΕΥΤΙΚΟΤΗΤΑ</a></span>
<span class="ft-text"><a href="#">ΠΡΟΣΩΠΙΚΑ ΔΕΔΟΜΕΝΑ</a></span> -->
</div>
<div class="cols-xs-12 col-md-7 text-center">
<span class="ft-text align-middle">Η εφαρμογή σχεδιάστηκε και υλοποιήθηκε από την Ομάδα Ανοιχτού Λογισμικού του ΥΠΠΕΘ
<br></span>
<span class="ft-text align-middle"> <a href="https://creativecommons.org/licenses/by-sa/4.0/deed.el" target="_blank" > Άδεια χρήσης περιεχομένου: CC-BY-SA</a> </span> </div>
<div class="col-xs-12 col-md-2"><span class="ft-text" style="text-align: right;">Version 1.0</span></div>
</div>
</div>
......
......@@ -31,7 +31,7 @@
</div>
<div class="col-md-2">
<span class="signout isclickable" (click)="gohelpDesk()" style="color:#CC3300;">&nbsp;&nbsp;Help Desk</span>
<span class="signout isclickable" (click)="gohelpDesk()" style="color:#CC3300;">&nbsp;&nbsp;Επικοινωνία</span>
</div>
......
......@@ -3,12 +3,24 @@
<div class="row">
&nbsp;&nbsp;&nbsp;
</div>
<div class="row">
<div class="col-sm-12 col-md-3 hidden-md-down">
<div class="left-sidebar">
<div class="navig-left-img">
<img src="../myschool/assets/images/default.png" alt="">
</div>
<br>
<br>
<div 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;" (click)="navigatelegal()" >
<span style="font-size: 0.9em; font-weight: bold;"> Νομοθεσία </span>
</button>
</div>
</div>
</div>
<div class="left-choices">
<application-preview-select></application-preview-select>
......
import {Component} from '@angular/core';
import { Router } from "@angular/router";
@Component({
selector: 'reg-main',
templateUrl: 'main.component.html'
})
export default class MainComponent { }
export default class MainComponent {
constructor(
private router: Router
) {}
navigatelegal() {
this.router.navigate(['/legal-info']);
}
}
......@@ -53,34 +53,7 @@ import {
<p>Επίσης πρέπει να γνωρίζετε ότι η Ηλεκτρονική Δήλωση Προτίμησης υπέχει θέση Υπ. Δήλωσης του ν. 1599/1986 (Α ́ 75) και οφείλετε τα στοιχεία που καταχωρίζετε σε αυτή να είναι αληθή.</p>
<form novalidate [formGroup]="formGroup" #form>
<p align="left"><strong> Νομοθεσία </strong></p>
<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">Υπουργική Απόφαση - </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>
<br>
<br>
<p align="left"><strong> Χρήσιμες Πληροφορίες </strong></p>
<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>
<br>
<br>
<div class="row">
<div class="col-md-1 ">
<input type="checkbox" [checked]="disclaimerChecked | async" formControlName="disclaimerChecked" >
</div>
<div class="col-md-9">
<label for="disclaimerChecked">Συμφωνώ με τα παραπάνω</label>
</div>
</div>
</form>
<legal-info></legal-info>
<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" (click)="navigateBack()">
......
......@@ -4,6 +4,10 @@ import { VALID_EMAIL_PATTERN, VALID_NAMES_PATTERN } from '../../constants';
import {Router} from "@angular/router";
import { BehaviorSubject, Subscription, Observable } from 'rxjs/Rx';
import { HelperDataService } from '../../services/helper-data-service';
import { ILoginInfo, ILoginInfoToken } from "../../store/logininfo/logininfo.types";
import { LOGININFO_INITIAL_STATE } from "../../store/logininfo/logininfo.initial-state";
import { NgRedux, select } from "ng2-redux";
import { IAppState } from "../../store/store";
import {
FormBuilder,
FormGroup,
......@@ -17,7 +21,7 @@ import {
@Component({
selector: 'helpdesk',
template: `
<div class = "loading" *ngIf="(showLoader | async) === true"></div>
<p align="left"><strong>Ηλεκτρονικές δηλώσεις προτίμησης ΕΠΑΛ για το νέο σχολικό έτος</strong></p>
<p align="left">
Σε περίπτωση που αντιμετωπίζετε οποιοδήποτε πρόβλημα με την καταχώριση της αίτησής σας, παρακαλούμε να
......@@ -29,8 +33,11 @@ import {
<form [formGroup]="formGroup">
<div class="form-group">
<label for="userEmail">Email Επικοινωνίας(<span style="color: #ff0000;">*</span>)</label>
<input #userEmail class="form-control" type="text" formControlName="userEmail">
<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" >
</div>
<div class="alert alert-danger" *ngIf="formGroup.get('userEmail').touched && formGroup.get('userEmail').hasError('required') ">
Το πεδίο δεν μπορεί να αφεθεί κενό!
......@@ -41,7 +48,7 @@ import {
<div class="form-group">
<label for="userName">Όνομα(<span style="color: #ff0000;">*</span>)</label>
<input class="form-control" type="text" formControlName="userName">
<input class="form-control" type="text" formControlName="userName" >
<div class="alert alert-danger" *ngIf="formGroup.get('userName').touched && formGroup.get('userName').hasError('required') ">
Το πεδίο δεν μπορεί να αφεθεί κενό!
</div>
......@@ -50,7 +57,8 @@ import {
</div>
</div>
<div class="form-group">
<label for="userSurname">Επώνυμο(<span style="color: #ff0000;">*</span>)</label><input class="form-control" type="text" formControlName="userSurname">
<label for="userSurname">Επώνυμο(<span style="color: #ff0000;">*</span>)</label>
<input class="form-control" type="text" formControlName="userSurname" >
<div class="alert alert-danger" *ngIf="formGroup.get('userSurname').touched && formGroup.get('userSurname').hasError('required') ">
Το πεδίο δεν μπορεί να αφεθεί κενό!
</div>
......@@ -69,17 +77,80 @@ import {
Πληκτρολογήστε ενα μήνυμα!
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<button type="button" class="btn-primary btn-lg isclickable" style="width: 9em;" (click)="sendmail()" >
<span style="font-size: 0.9em; font-weight: bold;">Αποστολή email &nbsp;&nbsp;&nbsp;</span>
<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>
Τηλ. Επικοινωνίας: 2103443014, 2103442231, 2103443359, 2103442034, 2103443309 (ώρες: 8:00 - 16:00)
<p align="left">
<strong>Τηλ. Επικοινωνίας:</strong> 2103443014, 2103442231, 2103443359, 2103442034, 2103443309 (ώρες: 8:00 - 16:00)</p>
<div id="mailsent" (onHidden)="onHidden('#mailsent')"
class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<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>
<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>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Κλείσιμο</button>
</div>
</div>
</div>
</div>
<div id="dangermodal" (onHidden)="onHidden('#dangermodal')"
class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<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>
<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>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Κλείσιμο</button>
</div>
</div>
</div>
</div>
<div id="fillfields" (onHidden)="onHidden('#fillfields')"
class="modal fade" tabindex="-1" role="dialog" aria-hidden="true">
<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>
<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>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default pull-left" data-dismiss="modal">Κλείσιμο</button>
</div>
</div>
</div>
</div>
`
})
......@@ -88,11 +159,16 @@ import {
public formGroup: FormGroup;
private emailSent: BehaviorSubject<boolean>;
private emailSent: BehaviorSubject<boolean>;
private loginInfo$: BehaviorSubject<ILoginInfo>;
private showLoader: BehaviorSubject<boolean>;
constructor(private fb: FormBuilder,
private hds: HelperDataService,)
private hds: HelperDataService,
private _ngRedux: NgRedux<IAppState>)
{
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]],
......@@ -103,22 +179,62 @@ import {
this.emailSent = new BehaviorSubject(false);
}
ngOnDestroy() {
public showModal(popupMsgId): void {
(<any>$(popupMsgId)).modal('show');
}
public hideModal(popupMsgId): void {
(<any>$(popupMsgId)).modal('hide');
}
public onHidden(popupMsgId): void {
}
ngOnDestroy() {
if (this.loginInfo$) this.loginInfo$.unsubscribe();
}
ngOnInit() {
(<any>$('#mailsent')).appendTo("body");
(<any>$('#dangermodal')).appendTo("body");
(<any>$('#fillfields')).appendTo("body");
this._ngRedux.select(state => {
if (state.loginInfo.size > 0) {
state.loginInfo.reduce(({}, loginInfoToken) => {
this.formGroup.controls['userEmail'].setValue(loginInfoToken.cu_email);
this.formGroup.controls['userName'].setValue(loginInfoToken.cu_name);
this.formGroup.controls['userSurname'].setValue(loginInfoToken.cu_surname);
return loginInfoToken;
}, {});
}
return state.loginInfo;
}).subscribe(this.loginInfo$);
}
sendmail() {
if (this.formGroup.invalid){
this.showModal("#fillfields");
}
else
{
this.showLoader.next(true);
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);
this.showModal("#mailsent");
})
.catch(err => {
console.log(err);
this.showLoader.next(false);
this.showModal("#dangermodal");
});
}
}
}
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';
@Component({
selector: 'legal-info',
template: `
<form #form>
<p align="left"><strong> Νομοθεσία </strong></p>
<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>
<br>
<br>
<p align="left"><strong> Χρήσιμες Πληροφορίες </strong></p>
<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>
<br>
<br>
</form>
`
})
@Injectable() export default class LegalInfo implements OnInit, OnDestroy {
constructor() {
}
ngOnDestroy() {
}
ngOnInit() {
}
}
......@@ -44,6 +44,7 @@ import StudentLockGuard from '../guards/student.lock.guard';
import RegionEduAuthGuard from '../guards/regionedu.auth.guard';
import EduAdminAuthGuard from '../guards/eduadmin.auth.guard';
import HelpDesk from '../components/student-application-form/help-desk';
import LegalInfo from '../components/student-application-form/legalinfos';
import MinistryAuthGuard from '../guards/ministry.auth.guard';
import ReportsAuthGuard from '../guards/reports.auth.guard';
import Breadcrumbs from '../components/main/breadcrumbs';
......@@ -56,11 +57,11 @@ export const MainRoutes: Routes = [
{ path: 'school/logout', component: SchoolHome },
{ path: 'ministry', component: MinistryHome },
{ path: 'ministry/logout', component: MinistryHome },
// { path: 'breadcrumbs', component: Breadcrumbs },
{ path: 'parent-form', component: ParentForm, canActivate: [StudentAuthGuard, StudentLockGuard] },
{ path: 'student-application-form-main', component: StudentApplicationMain, canActivate: [StudentAuthGuard, StudentLockGuard] },
{ path: 'course-fields-select', component: CourseFieldsSelect, canActivate: [StudentAuthGuard, StudentLockGuard] },
{ path: 'intro-statement', component: Disclaimer, canActivate: [StudentAuthGuard, StudentLockGuard] },
{ path: 'legal-info', component: LegalInfo},
{ path: 'epal-class-select', component: EpalClassesSelect, canActivate: [StudentAuthGuard, StudentLockGuard] },
{ path: 'sector-fields-select', component: SectorFieldsSelect, canActivate: [StudentAuthGuard, StudentLockGuard] },
{ path: 'region-schools-select', component: RegionSchoolsSelect, canActivate: [StudentAuthGuard, StudentLockGuard] },
......@@ -123,4 +124,5 @@ export const MainDeclarations = [
DirectorButtons,
EduadminView,
HelpDesk,
LegalInfo
];
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