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
955e6df3
Commit
955e6df3
authored
Mar 01, 2017
by
Open Source Developer
Browse files
interface changes
parent
1203a4fb
Changes
20
Hide whitespace changes
Inline
Side-by-side
drupal/modules/epal/epal.routing.yml
View file @
955e6df3
...
...
@@ -14,3 +14,9 @@ epal_auth_test:
requirements
:
_permission
:
'
access
content'
_user_is_logged_in
:
'
TRUE'
current_user
:
path
:
'
/epal/curuser'
defaults
:
_controller
:
'
\Drupal\epal\Controller\CurrentUser::content'
requirements
:
_access
:
'
TRUE'
drupal/modules/epal/src/Controller/CurrentUser.php
0 → 100644
View file @
955e6df3
<?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
;
class
CurrentUser
extends
ControllerBase
{
public
function
content
()
{
// $name = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
$name
=
"LALALA"
;
$authToken
=
"no authToken"
;
$accessKey
=
"no accessKey"
;
if
(
\
Drupal
::
request
()
->
headers
->
has
(
'X-AUTH-TOKEN'
))
{
$authToken
=
\
Drupal
::
request
()
->
headers
->
get
(
'X-AUTH-TOKEN'
);
}
if
(
\
Drupal
::
request
()
->
headers
->
has
(
'X-ACCESS-KEY'
))
{
$accessKey
=
\
Drupal
::
request
()
->
headers
->
get
(
'X-ACCESS-KEY'
);
}
$response
=
new
JsonResponse
([
$name
]);
$response
->
headers
->
set
(
'X-AUTH-TOKEN'
,
'HELLOTOKEN'
);
return
$response
;
}
}
drupal/modules/epal/src/Controller/Login.php
View file @
955e6df3
...
...
@@ -16,7 +16,7 @@ use Drupal\Core\Controller\ControllerBase;
* Controller routines for page example routes.
*/
class
Login
extends
ControllerBase
{
protected
$query_factory
;
public
function
__construct
(
EntityTypeManagerInterface
$entityTypeManager
,
QueryFactory
$query_factory
)
{
...
...
@@ -130,3 +130,6 @@ public function helloWorld() {
}
}
source/actions/regionschools.actions.ts
View file @
955e6df3
...
...
@@ -13,6 +13,7 @@ export class RegionSchoolsActions {
getRegionSchools
=
(
classActive
,
courseActive
,
reload
)
=>
{
const
{
regions
}
=
this
.
_ngRedux
.
getState
();
if
(
reload
===
true
||
(
reload
===
false
&&
regions
.
size
===
0
))
{
console
.
log
(
"
test1
"
,
classActive
,
courseActive
,
reload
);
return
this
.
_hds
.
getRegionsWithSchools
(
classActive
,
courseActive
).
then
(
regions
=>
{
return
this
.
_ngRedux
.
dispatch
({
type
:
REGIONSCHOOLS_RECEIVED
,
...
...
source/app.ts
View file @
955e6df3
...
...
@@ -29,6 +29,7 @@ import {HelperDataService} from './services/helper-data-service';
//import {UserDataService} from './services/user-data-service';
import
{
AmkaCheckService
}
from
'
./services/amkacheck-service
'
;
import
{
LoaderService
}
from
'
./services/Spinner.service
'
;
//import {UserDataService} from './services/user-data-service';
...
...
@@ -82,6 +83,7 @@ class MyLocalization extends NgLocalization {
HelperDataService
,
AmkaCheckService
,
LoaderService
,
]
})
...
...
source/components/main/main.component.html
View file @
955e6df3
...
...
@@ -19,9 +19,6 @@
<div
class=
"col-sm-12 col-md-9"
>
<div
class=
"main-content"
>
<div
class=
"panel panel-primary"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
{{path || 'home' | camelcase }}
</h3>
</div>
<div
class=
"panel-body"
>
<router-outlet></router-outlet>
</div>
...
...
source/components/navbar/navbar.component.html
View file @
955e6df3
...
...
@@ -9,6 +9,9 @@
</a>
<div
class=
"collapse navbar-collapse flex-row-reverse"
id=
"navbarNav"
>
<ul
class=
"navbar-nav"
>
<b>
Όνομα Χρήστη:
</b>
{{this.cuser}}
<!--
<li class="nav-item" [ngClass]="{active: path=='application-preview'}">
<a class="nav-link" [routerLink]="['/application-preview']" [routerLinkActive]="['active']">Προεπισκόπηση</a>
</li>
...
...
@@ -30,6 +33,8 @@
<li class="nav-item" [ngClass]="{active: path=='student-application-form-main'}">
<a class="nav-link" [routerLink]="['/student-application-form-main']" [routerLinkActive]="['active']">Αιτηση</a>
</li>
-->
<!--
<li class="nav-item" [ngClass]="{active: path=='schools-order-select'}">
<a class="nav-link" [routerLink]="['/schools-order-select']" [routerLinkActive]="['active']">Σειρά επιλογής</a>
...
...
source/components/navbar/navbar.component.ts
View file @
955e6df3
import
{
Component
}
from
'
@angular/core
'
;
import
{
Component
,
OnInit
}
from
'
@angular/core
'
;
import
{
Injectable
}
from
"
@angular/core
"
;
import
{
HelperDataService
}
from
'
../../services/helper-data-service
'
;
@
Component
({
selector
:
'
reg-navbar
'
,
templateUrl
:
'
navbar.component.html
'
,
})
export
default
class
NavbarComponent
{
@
Injectable
()
export
default
class
NavbarComponent
implements
OnInit
{
public
cuser
:
any
;
constructor
(
private
_hds
:
HelperDataService
)
{
};
ngOnInit
()
{
this
.
_hds
.
getCurrentUser
().
then
(
cuser
=>
this
.
cuser
=
cuser
);
}
}
source/components/student-application-form/amka-fill.ts
View file @
955e6df3
...
...
@@ -38,7 +38,7 @@ import {AppSettings} from '../../app.settings';
<div class="row">
<div class="col-md-12 col-md-offset-5">
<button type="button" class="btn-primary btn-lg pull-right" (click)="saveSelected()">
Συνέχεια
</button>
<i class="fa fa-forward"></i>
</button>
</div>
<div *ngIf="emptyselection==true">
Παρακαλώ συμπληρώστε το ΑΜΚΑ του μαθητή
...
...
source/components/student-application-form/application.form.main.html
View file @
955e6df3
...
...
@@ -132,12 +132,12 @@
<div
class=
"row"
>
<div
class=
"col-md-2 col-md-offset-4"
>
<button
type=
"button"
class=
"btn-primary btn-lg pull-center"
(click)=
"saveSelected()"
>
<
span
class=
"
glyphicon glyphicon-menu-left"
></span>
Πίσω
<
i
class=
"
fa fa-backward"
></i>
</button>
</div>
<div
class=
"col-md-8"
>
<button
type=
"button"
class=
"btn-primary btn-lg pull-right"
(click)=
"submitSelected()"
[disabled]=
"studentDataGroup.invalid"
>
Συνέχεια
<span
class=
"glyphicon glyphicon-menu-right"
></span
>
<i
class=
"fa fa-forward"
></i
>
</button>
</div>
</div>
...
...
source/components/student-application-form/course.fields.select.ts
View file @
955e6df3
...
...
@@ -34,7 +34,7 @@ import {AppSettings} from '../../app.settings';
<div class="row">
<div class="col-md-12 col-md-offset-5">
<button type="button" class="btn-primary btn-lg pull-right" (click)="saveSelected()">
Συνέχεια<span class="glyphicon glyphicon-menu-right"></span
>
<i class="fa fa-forward"></i
>
</button>
</div>
</div>
...
...
source/components/student-application-form/epal.class.select.ts
View file @
955e6df3
import
{
Component
,
OnInit
}
from
'
@angular/core
'
;
import
{
Component
,
OnInit
}
from
'
@angular/core
'
;
import
{
Router
}
from
'
@angular/router
'
;
import
{
Observable
}
from
'
rxjs/Rx
'
;
import
{
Injectable
}
from
"
@angular/core
"
;
import
{
EpalClassesActions
}
from
'
../../actions/epalclass.actions
'
;
import
{
NgRedux
,
select
}
from
'
ng2-redux
'
;
import
{
IEpalClasses
}
from
'
../../store/epalclasses/epalclasses.types
'
;
import
{
SectorFieldsActions
}
from
'
../../actions/sectorfields.actions
'
;
import
{
RegionSchoolsActions
}
from
'
../../actions/regionschools.actions
'
;
import
{
SectorCoursesActions
}
from
'
../../actions/sectorcourses.actions
'
;
import
{
IAppState
}
from
'
../../store/store
'
;
import
{
FormBuilder
,
...
...
@@ -17,12 +20,12 @@ import {AppSettings} from '../../app.settings';
@
Component
({
selector
:
'
epal-class-select
'
,
template
:
`
<form [formGroup]="formGroup">
<form [formGroup]="formGroup">
<div *ngFor="let epalclass$ of epalclasses$ | async;"> </div>
<div class="form-group">
<label for="name">Παρακαλώ επιλέξτε την τάξη εισαγωγής του μαθητή στην Επαγγελματική Εκπαίδευση</label><br/>
<select class="form-control" formControlName="name">
<select class="form-control" formControlName="name"
(change)="initializestore()"
>
<option value="Α' Λυκείου">Α' Λυκείου</option>
<option value="Β' Λυκείου">Β' Λυκείου</option>
<option value="Γ' Λυκείου">Γ' Λυκείου</option>
...
...
@@ -32,7 +35,7 @@ import {AppSettings} from '../../app.settings';
<div class="row">
<div class="col-md-12 col-md-offset-5">
<button type="button" class="btn-primary btn-lg pull-right" (click)="saveSelected()">
Συνέχεια<span class="glyphicon glyphicon-menu-right"></span
>
<i class="fa fa-forward"></i
>
</button>
</div>
</div>
...
...
@@ -54,6 +57,9 @@ import {AppSettings} from '../../app.settings';
constructor
(
private
fb
:
FormBuilder
,
private
_cfa
:
EpalClassesActions
,
private
_ngRedux
:
NgRedux
<
IAppState
>
,
private
_csa
:
SectorCoursesActions
,
private
_sfa
:
SectorFieldsActions
,
private
_rsa
:
RegionSchoolsActions
,
private
router
:
Router
)
{
this
.
formGroup
=
this
.
fb
.
group
({
name
:
[]
...
...
@@ -92,4 +98,15 @@ import {AppSettings} from '../../app.settings';
}
}
initializestore
()
{
this
.
_cfa
.
saveEpalClassesSelected
(
this
.
formGroup
.
value
);
this
.
_sfa
.
getSectorFields
(
true
);
this
.
_rsa
.
getRegionSchools
(
1
,
"
-1
"
,
true
);
this
.
_csa
.
getSectorCourses
(
true
);
}
}
source/components/student-application-form/region.schools.select.ts
View file @
955e6df3
...
...
@@ -5,11 +5,11 @@ import { Injectable } from "@angular/core";
import
{
RegionSchoolsActions
}
from
'
../../actions/regionschools.actions
'
;
import
{
NgRedux
,
select
}
from
'
ng2-redux
'
;
import
{
IRegions
}
from
'
../../store/regionschools/regionschools.types
'
;
import
{
SectorCoursesActions
}
from
'
../../actions/sectorcourses.actions
'
;
import
{
ISectors
}
from
'
../../store/sectorcourses/sectorcourses.types
'
;
import
{
IAppState
}
from
'
../../store/store
'
;
import
{
LoaderService
}
from
'
../../services/Spinner.service
'
;
import
{
RemoveSpaces
}
from
'
../../pipes/removespaces
'
;
import
{
...
...
@@ -23,6 +23,8 @@ import {AppSettings} from '../../app.settings';
@
Component
({
selector
:
'
course-fields-select
'
,
template
:
`
<div class = "loading" *ngIf="objLoaderStatus">
</div>
<div class="row equal">
<div class="col-md-12">
<form [formGroup]="formGroup">
...
...
@@ -32,29 +34,30 @@ import {AppSettings} from '../../app.settings';
<li class="list-group-item" (click)="setActiveRegion(i)" [style.background-color]="toggleBackgroundColor(i)">
<h5>{{region$.region_name}}</h5>
</li>
<div *ngFor="let epal$ of region$.epals; let j=index;" [hidden]="i !== regionActive">
<li class="list-group-item" >
<div class="row">
<div class="col-md-2
">
<div class="col-md-2
col-md-offset-1">
<input #cb type="checkbox" formControlName="{{ epal$.globalIndex }}"
(change)="saveSelected(cb,j)"
[hidden] = "numSelected === 3 && cb.checked === false"
>
</div>
<div class="col-md-1
0
">
{{epal$.epal_name}}
</div>
<div class="col-md-
8 col-md-offset-
1">
{{epal$.epal_name
| removeSpaces
}}
</div>
</div>
</li>
</div>
</div>
</ul>
</div>
<div class="row">
<div class="col-md-12 col-md-offset-5">
<button type="button" class="btn-primary btn-lg pull-right" (click)="navigateToApplication()" [disabled] = "numSelected === 0" >
Συνέχεια<span class="glyphicon glyphicon-menu-right"></span
>
<button
[hidden] = "objLoaderStatus == true"
type="button" class="btn-primary btn-lg pull-right" (click)="navigateToApplication()" [disabled] = "numSelected === 0"
>
<i class="fa fa-forward"></i
>
</button>
</div>
</div>
...
...
@@ -74,6 +77,8 @@ import {AppSettings} from '../../app.settings';
private
regionActive
=
<
number
>-
1
;
private
courseActive
=
-
1
;
private
numSelected
=
<
number
>
0
;
objLoaderStatus
:
boolean
;
//private schoolArray: Array<boolean> = new Array();
...
...
@@ -81,14 +86,30 @@ import {AppSettings} from '../../app.settings';
private
_rsa
:
RegionSchoolsActions
,
private
_rsb
:
SectorCoursesActions
,
private
_ngRedux
:
NgRedux
<
IAppState
>
,
private
router
:
Router
private
router
:
Router
,
private
loaderService
:
LoaderService
)
{
this
.
formGroup
=
this
.
fb
.
group
({
formArray
:
this
.
rss
});
this
.
objLoaderStatus
=
false
;
console
.
log
(
this
.
objLoaderStatus
);
};
ngOnInit
()
{
this
.
loaderService
.
loaderStatus
.
subscribe
((
val
:
boolean
)
=>
{
this
.
objLoaderStatus
=
val
;
});
this
.
loaderService
.
displayLoader
(
true
);
// enable spinner
// this.objLoaderStatus = true;
console
.
log
(
this
.
objLoaderStatus
,
"
AAAAAAAAAAAAA
"
);
this
.
classActive
=
this
.
classActive
=
this
.
getClassActive
();
let
class_id
=
-
1
;
...
...
@@ -106,7 +127,7 @@ import {AppSettings} from '../../app.settings';
}
this
.
_rsa
.
getRegionSchools
(
class_id
,
this
.
courseActive
,
false
);
console
.
log
(
this
.
courseActive
,
"
aaaaaaaaaaaaaa
"
);
this
.
regions$
=
this
.
_ngRedux
.
select
(
state
=>
{
let
numsel
=
0
;
state
.
regions
.
reduce
((
prevRegion
,
region
)
=>
{
...
...
@@ -122,6 +143,9 @@ import {AppSettings} from '../../app.settings';
this
.
numSelected
=
numsel
;
return
state
.
regions
;
});
//this.objLoaderStatus = false;
this
.
loaderService
.
displayLoader
(
false
);
// enable spinner
console
.
log
(
this
.
objLoaderStatus
,
"
BBBBBBBBBBBBB
"
);
}
...
...
source/components/student-application-form/schools-order-select.ts
View file @
955e6df3
...
...
@@ -41,7 +41,7 @@ import {AppSettings} from '../../app.settings';
</li>
</div>
<div class="col-md-12">
<button type="button" class="btn btn-primary btn-lg pull-right" (click)="navigateToStudentForm()" >
Συνέχεια
</button>
<button type="button" class="btn btn-primary btn-lg pull-right" (click)="navigateToStudentForm()" >
<i class="fa fa-forward"></i>
</button>
</div>
</form>
</div>
...
...
source/components/student-application-form/sector.courses.select.ts
View file @
955e6df3
...
...
@@ -31,20 +31,18 @@ import {AppSettings} from '../../app.settings';
<h5>{{sector$.sector_name}}</h5>
</li>
<div *ngFor="let course$ of sector$.courses; let j=index;" [hidden]="i !== sectorActive">
<li class="list-group-item" >
<div class="row">
<div class="col-md-2">
<div class="row">
<div class="col-md-2 col-md-offset-1">
<input #cb type="checkbox" formControlName="{{ course$.globalIndex }}"
(change)="updateCheckedOptions(course$.globalIndex, cb)"
[checked] = " course$.globalIndex === idx "
>
</div>
<div class="col-md-1
0
">
<div class="col-md-
8 col-md-offset-
1">
{{course$.course_name | removeSpaces}}
</div>
</div>
</li>
</div>
</div>
</div>
</div>
</ul>
</div>
...
...
@@ -52,7 +50,7 @@ import {AppSettings} from '../../app.settings';
<div class="row">
<div class="col-md-12 col-md-offset-5">
<button type="button" class="btn-primary btn-lg pull-right" (click)="navigateToSchools()" [disabled]="idx === -1" >
Συνέχεια<span class="glyphicon glyphicon-menu-right"></span
>
<i class="fa fa-forward"></i
>
</button>
</div>
</div>
...
...
source/components/student-application-form/sector.fields.select.ts
View file @
955e6df3
...
...
@@ -22,7 +22,7 @@ import {AppSettings} from '../../app.settings';
template
:
`
<div class="row equal">
<div class="col-md-12">
<form [formGroup]="formGroup">
<div formArrayName="formArray">
...
...
@@ -54,7 +54,7 @@ import {AppSettings} from '../../app.settings';
<div class="row">
<div class="col-md-12 col-md-offset-5">
<button type="button" class="btn-primary btn-lg pull-right" (click)="navigateToSchools()" [disabled]="sectorActive === -1" >
Συνέχεια<span class="glyphicon glyphicon-menu-right"></span
>
<i class="fa fa-forward"></i
>
</button>
</div>
</div>
...
...
source/pipes/removespaces.ts
View file @
955e6df3
...
...
@@ -6,7 +6,7 @@ import {Pipe, PipeTransform} from '@angular/core';
export
class
RemoveSpaces
implements
PipeTransform
{
transform
(
value
:
string
)
:
any
{
return
value
.
replace
(
/
[\s]
/g
,
''
);
return
value
.
replace
(
/
^
[
]
+|
[
]
+$
/g
,
''
);
}
}
...
...
source/services/Spinner.service.ts
0 → 100644
View file @
955e6df3
import
{
Injectable
}
from
'
@angular/core
'
;
import
{
BehaviorSubject
}
from
'
rxjs/BehaviorSubject
'
;
@
Injectable
()
export
class
LoaderService
{
public
loaderStatus
:
BehaviorSubject
<
boolean
>
=
new
BehaviorSubject
<
boolean
>
(
false
);
displayLoader
(
value
:
boolean
)
{
this
.
loaderStatus
.
next
(
value
);
}
}
\ No newline at end of file
source/services/helper-data-service.ts
View file @
955e6df3
...
...
@@ -57,7 +57,7 @@ export class HelperDataService {
});
};
getRegionsWithSchools
(
classActive
,
courseActive
)
{
getRegionsWithSchools
(
classActive
,
courseActive
)
{
let
headers
=
new
Headers
({
//"Authorization": "Basic cmVzdHVzZXI6czNjckV0MFAwdWwwJA==", // encoded user:pass
// "Authorization": "Basic bmthdHNhb3Vub3M6emVtcmFpbWU=",
...
...
@@ -82,7 +82,7 @@ export class HelperDataService {
getConnectionString
=
`
${
AppSettings
.
API_ENDPOINT
}
/coursesperschool/list?course_id=
${
courseActive
}
`
;
//getConnectionString = `${AppSettings.API_ENDPOINT}/coursesperschool/list?${courseActive}`;
console
.
log
(
getConnectionString
);
//
console.log(getConnectionString
,class
);
//this.http.get(`${AppSettings.API_ENDPOINT}/regions/list`)
//this.http.get(`${AppSettings.API_ENDPOINT}/`.concat(`coursesperschool/list?course_id=${courseActive}`))
...
...
@@ -157,4 +157,25 @@ export class HelperDataService {
return
rsa
;
}
getCurrentUser
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
http
.
get
(
`
${
AppSettings
.
API_ENDPOINT
}
/epal/curuser`
)
.
map
(
response
=>
response
.
json
())
.
subscribe
(
data
=>
{
resolve
(
data
);
},
error
=>
{
console
.
log
(
"
Error HTTP GET Service
"
);
reject
(
"
Error HTTP GET Service
"
);
},
()
=>
console
.
log
(
"
Course Fields Received
"
));
});
};
}
source/store/store.ts
View file @
955e6df3
...
...
@@ -46,3 +46,5 @@ export function deimmutify(state: IAppState): Object {
loginInfo
:
loginInfo
.
deimmutifyLoginInfo
(
state
.
loginInfo
),
};
}
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