Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Χάρης Παπαδόπουλος
e-epal
Commits
deb5245f
Commit
deb5245f
authored
Jun 02, 2017
by
Χάρης Παπαδόπουλος
Browse files
fixed spacing in epal.routing Restructuring submited.aplication.preview(WIP)
parent
94574500
Changes
4
Hide whitespace changes
Inline
Side-by-side
drupal/modules/epal/epal.routing.yml
View file @
deb5245f
...
...
@@ -268,8 +268,8 @@ epal.findcapacityperschool:
_auth
:
[
'
basic_auth'
]
defaults
:
_controller
:
'
\Drupal\epal\Controller\DirectorView::FindCapacityPerSchool'
requirements
:
_user_is_logged_in
:
'
TRUE'
requirements
:
_user_is_logged_in
:
'
TRUE'
epal.applicant.creationpdf
:
path
:
'
/epal/pdf-application'
options
:
...
...
drupal/modules/epal/src/Controller/SubmitedApplications.php
View file @
deb5245f
...
...
@@ -95,12 +95,18 @@ class SubmitedApplications extends ControllerBase
'fathersurname'
=>
$object
->
fathersurname
->
value
,
'motherfirstname'
=>
$object
->
motherfirstname
->
value
,
'mothersurname'
=>
$object
->
mothersurname
->
value
,
'guardianfirstname'
=>
$epalUser
->
name
->
value
,
'guardiansurname'
=>
$epalUser
->
surname
->
value
,
'guardian_name'
=>
$object
->
guardian_name
->
value
,
'guardian_surname'
=>
$object
->
guardian_surname
->
value
,
'guardian_fathername'
=>
$object
->
guardian_fathername
->
value
,
'guardian_mothername'
=>
$object
->
guardian_mothername
->
value
,
'lastschool_schoolname'
=>
$object
->
lastschool_schoolname
->
value
,
'lastschool_schoolyear'
=>
$object
->
lastschool_schoolyear
->
value
,
'lastschool_class'
=>
$object
->
currentclass
->
value
,
'regionaddress'
=>
$object
->
regionaddress
->
value
,
'regiontk'
=>
$object
->
regiontk
->
value
,
'regionarea'
=>
$object
->
regionarea
->
value
,
'certificatetype'
=>
$object
->
certificatetype
->
value
,
'graduation_year'
=>
$object
->
graduation_year
->
value
,
'telnum'
=>
$object
->
telnum
->
value
,
'relationtostudent'
=>
$object
->
relationtostudent
->
value
,
'birthdate'
=>
$object
->
birthdate
->
value
,
...
...
@@ -191,7 +197,7 @@ public function getEpalChosen(Request $request, $studentId)
foreach
(
$critiriaChosen
as
$object
)
{
$critirio_id
=
$object
->
criterio_id
->
entity
->
id
();
$critiriatype
=
$this
->
entityTypeManager
->
getStorage
(
'epal_criteria'
)
->
loadByProperties
(
array
(
'id'
=>
$critirio_id
));
$typeofcritiria
=
reset
(
$critiriatype
);
$typeofcritiria
=
reset
(
$critiriatype
);
$typecrit
=
$typeofcritiria
->
category
->
value
;
if
(
$typecrit
==
"Κοινωνικό"
&&
$type
==
1
){
$list
[]
=
array
(
...
...
source/components/student-application-form/application.submit.ts
View file @
deb5245f
...
...
@@ -98,8 +98,9 @@ import { HelperDataService } from '../../services/helper-data-service';
<div *ngIf="studentDataField$.lastschool_class === 3"><label for="lastschool_class">Τάξη τελευταίας φοίτησης</label> <p class="form-control" style="border:1px solid #eceeef;">Γ'</p></div>
<div *ngIf="studentDataField$.lastschool_class === 4"><label for="lastschool_class">Τάξη τελευταίας φοίτησης</label> <p class="form-control" style="border:1px solid #eceeef;">Δ'</p></div>
<div><label for="telnum">Τηλέφωνο επικοινωνίας</label> <p class="form-control" style="border:1px solid #eceeef;"> {{studentDataField$.telnum}} </p></div>
<div><label for="relationtostudent">Η αίτηση γίνεται από</label> <p class="form-control" style="border:1px solid #eceeef;"> {{studentDataField$.relationtostudent}} </p></div>
<div><label for="telnum">Τηλέφωνο επικοινωνίας</label> <p class="form-control" style="border:1px solid #eceeef;"> {{studentDataField$.telnum}} </p></div>
</div>
<div class="row" style="margin-top: 20px; margin-bottom: 20px;">
...
...
@@ -401,7 +402,7 @@ import { HelperDataService } from '../../services/helper-data-service';
if
(
this
.
modalHeader
.
getValue
()
===
"
modal-header-success
"
)
{
this
.
router
.
navigate
([
'
/post-submit
'
]);
}
}
public
onHidden
():
void
{
...
...
source/components/student-application-form/submited.aplication.preview.ts
View file @
deb5245f
...
...
@@ -3,16 +3,12 @@ let jsPDF = require('jspdf');
import
{
Injectable
}
from
"
@angular/core
"
;
import
{
AppSettings
}
from
'
../../app.settings
'
;
import
{
HelperDataService
}
from
'
../../services/helper-data-service
'
;
import
{
Observable
}
from
"
rxjs/Observable
"
;
import
{
IStudentDataFields
,
IStudentDataField
}
from
'
../../store/studentdatafields
'
;
import
{
Http
,
Headers
,
RequestOptions
}
from
'
@angular/http
'
;
import
{
Removetags
}
from
'
../../pipes/removehtmltags
'
;
import
{
NgRedux
,
select
}
from
'
ng2-redux
'
;
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
*
as
html2canvas
from
"
html2canvas
"
import
{
API_ENDPOINT
,
API_ENDPOINT_PARAMS
}
from
'
../../app.settings
'
;
import
{
LOGININFO_INITIAL_STATE
}
from
'
../../store/logininfo/logininfo.initial-state
'
;
...
...
@@ -36,91 +32,116 @@ import {
</div>
Έχει υποβληθεί αίτηση για εγγραφή στην Επαγγελματική Εκπαίδευση των παρακάτω ατόμων:
<ul class="list-group main-view">
<div *ngFor="let UserData$ of SubmitedApplic$ | async; let i=index; let isOdd=odd; let isEven=even" >
<!-- <ul class="list-group main-view"> -->
<li class="list-group-item isclickable" [class.oddout]="isOdd"
<div class="row" style="margin: 0px 2px 0px 2px; line-height: 2em; background-color: #ccc;">
<div class="col-md-6" style="font-size: 1em; font-weight: bold;">Επώνυμο</div>
<div class="col-md-6" style="font-size: 1em; font-weight: bold; text-align: center;">Όνομα</div>
</div>
<div class="row isclickable" style="margin: 0px 2px 0px 2px; line-height: 2em;"
[class.oddout]="isOdd"
[class.evenout]="isEven"
(click)="setActiveUser(UserData$.id)"
[class.selectedout]="userActive === UserData$.id"
*ngFor="let UserData$ of SubmitedApplic$ | async; let i=index; let isOdd=odd; let isEven=even" >
<div class="col-md-6" style="font-size: 0.8em; font-weight: bold;">{{UserData$.studentsurname}}</div>
<div class="col-md-6" style="font-size: 0.8em; font-weight: bold; text-align: center;">{{UserData$.name}}</div>
<!-- <li class="list-group-item isclickable" [class.oddout]="isOdd"
[class.evenout]="isEven" (click)="setActiveUser(UserData$.id)" [class.selectedout]="userActive === UserData$.id" >
<h5> {{UserData$.name}} {{UserData$.studentsurname}} </h5>
</li>
<div #target class = "target "id = "target">
<div *ngFor="let StudentDetails$ of SubmitedDetails$ | async" [hidden]="UserData$.id !== userActive" >
<table>
<tr><td>
<div class="form-group" *ngIf="StudentDetails$.relationtostudent === 'Μαθητής' ">
<label for="guardianfirstname">Όνομα κηδεμόνα</label><p class="form-control" id="guardianfirstname" style="border:1px solid #eceeef;">{{StudentDetails$.guardianfirstname}} </p>
</div>
</td>
<td>
<div class="form-group" *ngIf="StudentDetails$.relationtostudent === 'Μαθητής' ">
<label for="guardiansurname">Επώνυμο κηδεμόνα</label><p class="form-control" id="guardiansurname" style="border:1px solid #eceeef;">{{StudentDetails$.guardiansurname}} </p>
</div>
</td></tr>
</table>
<div class="form-group"><label for="name">Όνομα μαθητή</label> <p class="form-control" id="name" style="border:1px solid #eceeef;"> {{StudentDetails$.name}} </p> </div>
<div><label for="studentsurname">Επώνυμο μαθητή</label> <p class="form-control" id = "studentsurname" style="border:1px solid #eceeef;"> {{StudentDetails$.studentsurname}} </p></div>
<div><label for="fatherfirstname">Όνομα Πατέρα</label> <p class="form-control" id = "fatherfirstname" style="border:1px solid #eceeef;"> {{StudentDetails$.fatherfirstname}} </p></div>
<div><label for="fathersurname">Επώνυμο Πατέρα</label> <p class="form-control" id = "fathersurname" style="border:1px solid #eceeef;"> {{StudentDetails$.fathersurname}} </p></div>
<div><label for="motherfirstname">Όνομα Μητέρας</label> <p class="form-control" id = "motherfirstname" style="border:1px solid #eceeef;"> {{StudentDetails$.motherfirstname}} </p></div>
<div><label for="mothersurname">Επώνυμο Μητέρας</label> <p class="form-control" id = "mothersurname" style="border:1px solid #eceeef;"> {{StudentDetails$.mothersurname}} </p></div>
<div><label for="birthdate">Ημερομηνία Γέννησης</label> <p class="form-control" id = "birthdate" style="border:1px solid #eceeef;"> {{StudentDetails$.birthdate}} </p></div>
<table>
<tr>
<td>
<div class="form-group">
<label for="regionaddress">Διεύθυνση κατοικίας</label><p class="form-control" id = "regionaddress" style="border:1px solid #eceeef;"> {{StudentDetails$.regionaddress}} </p>
</div>
</td>
<td>
<div class="form-group">
<label for="regiontk">TK </label><p class="form-control" id = "regiontk" style="border:1px solid #eceeef;"> {{StudentDetails$.regiontk}} </p>
</div>
</td>
<td>
<div class="form-group">
<label for="regionarea">Πόλη/Περιοχή</label><p class="form-control" id = "regionarea" style="border:1px solid #eceeef;"> {{StudentDetails$.regionarea}} </p>
</div>
</td>
</tr>
</table>
<div><label for="certificatetype">Τύπος απολυτηρίου</label> <p class="form-control" id = "certificatetype" style="border:1px solid #eceeef;"> {{StudentDetails$.certificatetype}} </p></div>
<div><label for="telnum">Τηλέφωνο επικοινωνίας</label> <p class="form-control" id = "telnum" style="border:1px solid #eceeef;"> {{StudentDetails$.telnum}} </p></div>
<div><label for="relationtostudent">Η αίτηση γίνεται από</label> <p class="form-control" id = "relationtostudent" style="border:1px solid #eceeef;"> {{StudentDetails$.relationtostudent}} </p></div>
<h5>Επιλογές ΕΠΑΛ</h5>
<div *ngFor="let epalChoices$ of EpalChosen$ | async" [hidden]="UserData$.id !== userActive">
Σχολείο: {{epalChoices$.epal_id}}
Σειρά Προτίμισης:{{epalChoices$.choice_no}}
</li> -->
<div *ngFor="let StudentDetails$ of SubmitedDetails$ | async" [hidden]="UserData$.id !== userActive" style="margin: 10px 5px 10px 5px;">
<div class="row evenin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-12" style="font-size: 1em; font-weight: bold; text-align: center;">Στοιχεία αιτούμενου</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Όνομα</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.guardian_name}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Επώνυμο</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.guardian_surname}}</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Όνομα πατέρα</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{ StudentDetails$.guardian_fathername }}</div>
<div class="col-md-3" style="font-size: 0.8em;">Όνομα μητέρας</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{ StudentDetails$.guardian_mothername }}</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Διεύθυνση</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.regionaddress}}</div>
<div class="col-md-3" style="font-size: 0.8em;">ΤΚ - Πόλη</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.regiontk}} - {{StudentDetails$.regionarea}}</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Όνομα μαθητή</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.name}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Επώνυμο μαθητή</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.studentsurname}}</div>
</div>
<div class="row evenin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-12" style="font-size: 1em; font-weight: bold; text-align: center;">Στοιχεία μαθητή</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Όνομα Πατέρα</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.fatherfirstname}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Όνομα Μητέρας</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.motherfirstname}}</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Ημερομηνία Γέννησης</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.birthdate}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Τύπος απολυτηρίου</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.certificatetype}}</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Έτος κτήσης απολυτηρίου</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.graduation_year}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Σχολείο τελευταίας φοίτησης</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.lastschool_schoolname}}</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Σχολικό έτος τελευταίας φοίτησης</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.lastschool_schoolyear}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Τάξη τελευταίας φοίτησης</div>
<div *ngIf="StudentDetails$.lastschool_class === 1" class="col-md-3" style="font-size: 0.8em; font-weight: bold">Α'</div>
<div *ngIf="StudentDetails$.lastschool_class === 2" class="col-md-3" style="font-size: 0.8em; font-weight: bold">Β'</div>
<div *ngIf="StudentDetails$.lastschool_class === 3" class="col-md-3" style="font-size: 0.8em; font-weight: bold">Γ'</div>
<div *ngIf="StudentDetails$.lastschool_class === 4" class="col-md-3" style="font-size: 0.8em; font-weight: bold">Δ'</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-3" style="font-size: 0.8em;">Τηλέφωνο επικοινωνίας</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.telnum}}</div>
<div class="col-md-3" style="font-size: 0.8em;">Η αίτηση γίνεται από</div>
<div class="col-md-3" style="font-size: 0.8em; font-weight: bold">{{StudentDetails$.relationtostudent}}</div>
</div>
<div class="row evenin" style="margin: 0px 2px 0px 2px; line-height: 2em;">
<div class="col-md-6" style="font-size: 1em; font-weight: bold;">Επιλογή ΕΠΑΛ</div>
<div class="col-md-6" style="font-size: 1em; font-weight: bold; text-align: center;">Σειρά Προτίμησης</div>
</div>
<div class="row oddin" style="margin: 0px 2px 0px 2px; line-height: 2em;" *ngFor="let epalChoices$ of EpalChosen$ | async; let i=index; let isOdd=odd; let isEven=even" [hidden]="UserData$.id !== userActive">
<div class="col-md-6" style="font-size: 0.8em; font-weight: bold;">{{epalChoices$.epal_id}}</div>
<div class="col-md-6" style="font-size: 0.8em; font-weight: bold; text-align: center;">{{epalChoices$.choice_no}}</div>
</div>
</div>
</div>
</div>
</div>
</ul>
<!-- </ul> -->
<br>
<button type="button" (click)="createPdfServerSide()">Εξαγωγή σε PDF</button>
<!--
<form [formGroup]="formGroup" method = "POST" action="{{apiEndPoint}}/drupal-8.2.6/epal/pdf-application" #form>
<button type="submit" (click)="form.submit()">Εξαγωγή σε PDF - ΝΕΟ!</button>
</form>
-->
<!--<a href="{{apiEndPoint}}/drupal-8.2.6/epal/pdf-application">Download</a>-->
`
})
@
Injectable
()
export
default
class
SubmitedPreview
implements
OnInit
,
OnDestroy
{
private
apiEndPointParams
=
API_ENDPOINT_PARAMS
;
public
formGroup
:
FormGroup
;
loginInfo$
:
BehaviorSubject
<
ILoginInfo
>
;
loginInfoSub
:
Subscription
;
private
SubmitedApplic$
:
BehaviorSubject
<
any
>
;
private
SubmitedUsersSub
:
Subscription
;
private
SubmitedDetails$
:
BehaviorSubject
<
any
>
;
...
...
@@ -159,10 +180,6 @@ import {
this
.
incomeChosen$
=
new
BehaviorSubject
([{}]);
this
.
showLoader$
=
new
BehaviorSubject
(
false
);
this
.
formGroup
=
this
.
fb
.
group
({
});
this
.
loginInfo$
=
new
BehaviorSubject
(
LOGININFO_INITIAL_STATE
);
}
ngOnDestroy
()
...
...
@@ -178,11 +195,6 @@ import {
if
(
this
.
incomeChosenSub
)
this
.
incomeChosenSub
.
unsubscribe
();
if
(
this
.
loginInfoSub
)
this
.
loginInfoSub
.
unsubscribe
();
if
(
this
.
loginInfo$
)
this
.
loginInfo$
.
unsubscribe
();
this
.
SubmitedDetails$
.
unsubscribe
();
this
.
EpalChosen$
.
unsubscribe
();
this
.
SubmitedApplic$
.
unsubscribe
();
...
...
@@ -191,19 +203,6 @@ import {
ngOnInit
()
{
this
.
loginInfoSub
=
this
.
_ngRedux
.
select
(
state
=>
{
if
(
state
.
loginInfo
.
size
>
0
)
{
state
.
loginInfo
.
reduce
(({},
loginInfoToken
)
=>
{
this
.
authToken
=
loginInfoToken
.
auth_token
;
this
.
role
=
loginInfoToken
.
auth_role
;
console
.
log
(
"
....
"
);
console
.
log
(
this
.
authToken
);
return
loginInfoToken
;
},
{});
}
return
state
.
loginInfo
;
}).
subscribe
(
this
.
loginInfo$
);
this
.
showLoader$
.
next
(
true
);
...
...
@@ -225,14 +224,12 @@ import {
}
setActiveUser
(
ind
,
i
)
setActiveUser
(
ind
:
number
):
void
{
ind
=
+
ind
;
console
.
log
(
this
.
userActive
,
"
RA
"
,
ind
);
if
(
ind
===
this
.
userActive
){
ind
=
-
1
;
return
;
}
ind
--
;
this
.
userActive
=
ind
+
1
;
...
...
@@ -257,63 +254,8 @@ import {
console
.
log
(
"
Error Getting Schools
"
);
},
()
=>
console
.
log
(
"
Getting Schools
"
));
}
createPdf1
()
{
html2canvas
(
document
.
getElementById
(
"
target
"
)).
then
(
function
(
canvas
)
{
var
img
=
new
Image
();
img
.
src
=
canvas
.
toDataURL
();
img
.
onload
=
function
(){
console
.
log
(
img
,
"
img
"
);
var
doc
=
new
jsPDF
();
console
.
log
(
img
,
doc
,
"
ok
"
);
doc
.
addImage
(
img
,
'
PNG
'
,
0
,
0
,
210
,
297
);
console
.
log
(
img
,
doc
,
"
ok2
"
);
doc
.
save
(
'
applications.pdf
'
);
}
},
function
(
error
){
console
.
log
(
"
i fail
"
);
});
}
createPdf
()
{
html2canvas
(
document
.
getElementById
(
"
target
"
),
<
Html2Canvas
.
Html2CanvasOptions
>
{
onrendered
:
function
(
canvas
:
HTMLCanvasElement
)
{
var
img
=
canvas
.
toDataURL
();
var
doc
=
new
jsPDF
();
console
.
log
(
"
mphkaneo
"
);
setTimeout
(
function
(){
},
100000
);
doc
.
addImage
(
img
,
'
PNG
'
,
0
,
0
,
1000
,
1000
);
console
.
log
(
"
mphkaneoneo
"
);
doc
.
save
(
'
applications.pdf
'
);
}
});
}
createPdfServerSide
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment