Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
open-source
OSE
Commits
3ee94a76
Commit
3ee94a76
authored
Jun 20, 2018
by
Laurent Lécluse
Browse files
Améliorations dans l'affichage du formulaire de saisie de services
parent
1b7ec3a3
Changes
9
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
3ee94a76
...
...
@@ -29,6 +29,12 @@ author: Laurent Lécluse - DSI - Unicaen
* Le pays "France" peut maintenant être sélectionné dans la configuration globale de l'application
* Formulaire de saisie de services amélioré :
* Le choix de l'intervenant n'apparait plus lorsque l'on se trouve déjà dans la fiche de l'intervenant
* La saisie des volumes horaires n'est affichée que lorsque c'est nécessaire (plus de liste de tous les types d'intervention affichés par défaut).
* Il est désormais possible de limiter les types d'intervention disponibles pour saisir des services à l'extérieur
(paramétrage possible depuis Administration/Types d'intervention)
## Notes de mise à jour
* Modifiez la structure de votre base de données en exécutant dans SQL developer le script de mise à jour suivant :
...
...
data/Déploiement/Changements.pdf
View file @
3ee94a76
No preview for this file type
data/Déploiement/Procédure d'installation.pdf
View file @
3ee94a76
No preview for this file type
data/Déploiement/Procédure de mise à jour.pdf
View file @
3ee94a76
No preview for this file type
data/Mises à jour/07.0.sql
View file @
3ee94a76
...
...
@@ -205,4 +205,10 @@ SELECT
FROM
(
SELECT
'enseignement'
c
,
'import-intervenant-previsionnel-agenda'
p
,
'Import service prévisionnel depuis agenda'
l
FROM
dual
UNION
ALL
SELECT
'enseignement'
c
,
'import-intervenant-realise-agenda'
p
,
'Import service réalisé depuis agenda'
l
FROM
dual
)
t1
;
\ No newline at end of file
)
t1
;
ALTER
TABLE
type_intervention
ADD
(
visible_exterieur
NUMBER
(
1
)
DEFAULT
1
NOT
NULL
);
UPDATE
type_intervention
SET
visible_exterieur
=
0
WHERE
code
NOT
IN
(
'CM'
,
'TD'
,
'TP'
,
'Stage'
,
'Projet'
,
'Mémoire'
);
\ No newline at end of file
module/Application/src/Application/Entity/Db/Mapping/Application.Entity.Db.TypeIntervention.dcm.xml
View file @
3ee94a76
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping
xmlns=
"http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
>
<entity
name=
"Application\Entity\Db\TypeIntervention"
table=
"TYPE_INTERVENTION"
>
<id
name=
"id"
type=
"integer"
column=
"ID"
>
<generator
strategy=
"SEQUENCE"
/>
</id>
<field
name=
"code"
type=
"string"
column=
"CODE"
length=
"2"
nullable=
"false"
/>
<field
name=
"histoCreation"
type=
"datetime"
column=
"HISTO_CREATION"
nullable=
"false"
/>
<field
name=
"histoDestruction"
type=
"datetime"
column=
"HISTO_DESTRUCTION"
nullable=
"true"
/>
<field
name=
"histoModification"
type=
"datetime"
column=
"HISTO_MODIFICATION"
nullable=
"false"
/>
<field
name=
"libelle"
type=
"string"
column=
"LIBELLE"
length=
"30"
nullable=
"false"
/>
<field
name=
"ordre"
type=
"integer"
column=
"ORDRE"
nullable=
"false"
/>
<field
name=
"tauxHetdService"
type=
"float"
column=
"TAUX_HETD_SERVICE"
nullable=
"false"
/>
<field
name=
"tauxHetdComplementaire"
type=
"float"
column=
"TAUX_HETD_Complementaire"
nullable=
"false"
/>
<field
name=
"visible"
type=
"boolean"
column=
"VISIBLE"
nullable=
"false"
/>
<many-to-one
field=
"anneeDebut"
target-entity=
"Application\Entity\Db\Annee"
>
<join-column
name=
"ANNEE_DEBUT_ID"
referenced-column-name=
"ID"
/>
</many-to-one>
<many-to-one
field=
"anneeFin"
target-entity=
"Application\Entity\Db\Annee"
>
<join-column
name=
"ANNEE_FIN_ID"
referenced-column-name=
"ID"
/>
</many-to-one>
<field
name=
"regleFOAD"
type=
"boolean"
column=
"REGLE_FOAD"
nullable=
"false"
/>
<field
name=
"regleFC"
type=
"boolean"
column=
"REGLE_FC"
nullable=
"false"
/>
<many-to-one
field=
"histoModificateur"
target-entity=
"Application\Entity\Db\Utilisateur"
>
<join-columns>
<join-column
name=
"HISTO_MODIFICATEUR_ID"
referenced-column-name=
"ID"
/>
</join-columns>
</many-to-one>
<many-to-one
field=
"histoDestructeur"
target-entity=
"Application\Entity\Db\Utilisateur"
>
<join-columns>
<join-column
name=
"HISTO_DESTRUCTEUR_ID"
referenced-column-name=
"ID"
/>
</join-columns>
</many-to-one>
<many-to-one
field=
"histoCreateur"
target-entity=
"Application\Entity\Db\Utilisateur"
>
<join-columns>
<join-column
name=
"HISTO_CREATEUR_ID"
referenced-column-name=
"ID"
/>
</join-columns>
</many-to-one>
</entity>
<doctrine-mapping
xmlns=
"http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation=
"http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
>
<entity
name=
"Application\Entity\Db\TypeIntervention"
table=
"TYPE_INTERVENTION"
>
<id
name=
"id"
type=
"integer"
column=
"ID"
>
<generator
strategy=
"SEQUENCE"
/>
</id>
<field
name=
"code"
type=
"string"
column=
"CODE"
length=
"2"
nullable=
"false"
/>
<field
name=
"histoCreation"
type=
"datetime"
column=
"HISTO_CREATION"
nullable=
"false"
/>
<field
name=
"histoDestruction"
type=
"datetime"
column=
"HISTO_DESTRUCTION"
nullable=
"true"
/>
<field
name=
"histoModification"
type=
"datetime"
column=
"HISTO_MODIFICATION"
nullable=
"false"
/>
<field
name=
"libelle"
type=
"string"
column=
"LIBELLE"
length=
"30"
nullable=
"false"
/>
<field
name=
"ordre"
type=
"integer"
column=
"ORDRE"
nullable=
"false"
/>
<field
name=
"tauxHetdService"
type=
"float"
column=
"TAUX_HETD_SERVICE"
nullable=
"false"
/>
<field
name=
"tauxHetdComplementaire"
type=
"float"
column=
"TAUX_HETD_Complementaire"
nullable=
"false"
/>
<field
name=
"visible"
type=
"boolean"
column=
"VISIBLE"
nullable=
"false"
/>
<field
name=
"visibleExterieur"
type=
"boolean"
column=
"VISIBLE_EXTERIEUR"
nullable=
"false"
/>
<many-to-one
field=
"anneeDebut"
target-entity=
"Application\Entity\Db\Annee"
>
<join-column
name=
"ANNEE_DEBUT_ID"
referenced-column-name=
"ID"
/>
</many-to-one>
<many-to-one
field=
"anneeFin"
target-entity=
"Application\Entity\Db\Annee"
>
<join-column
name=
"ANNEE_FIN_ID"
referenced-column-name=
"ID"
/>
</many-to-one>
<field
name=
"regleFOAD"
type=
"boolean"
column=
"REGLE_FOAD"
nullable=
"false"
/>
<field
name=
"regleFC"
type=
"boolean"
column=
"REGLE_FC"
nullable=
"false"
/>
<many-to-one
field=
"histoModificateur"
target-entity=
"Application\Entity\Db\Utilisateur"
>
<join-columns>
<join-column
name=
"HISTO_MODIFICATEUR_ID"
referenced-column-name=
"ID"
/>
</join-columns>
</many-to-one>
<many-to-one
field=
"histoDestructeur"
target-entity=
"Application\Entity\Db\Utilisateur"
>
<join-columns>
<join-column
name=
"HISTO_DESTRUCTEUR_ID"
referenced-column-name=
"ID"
/>
</join-columns>
</many-to-one>
<many-to-one
field=
"histoCreateur"
target-entity=
"Application\Entity\Db\Utilisateur"
>
<join-columns>
<join-column
name=
"HISTO_CREATEUR_ID"
referenced-column-name=
"ID"
/>
</join-columns>
</many-to-one>
</entity>
</doctrine-mapping>
module/Application/src/Application/Entity/Db/TypeIntervention.php
View file @
3ee94a76
...
...
@@ -52,6 +52,13 @@ class TypeIntervention implements HistoriqueAwareInterface, ResourceInterface
*/
private
$visible
;
/**
* visible extérieur
*
* @var boolean
*/
private
$visibleExterieur
;
/**
* anneeDebut
*
...
...
@@ -154,6 +161,32 @@ class TypeIntervention implements HistoriqueAwareInterface, ResourceInterface
return
$this
;
}
/**
* @return bool
*/
public
function
isVisibleExterieur
():
bool
{
return
$this
->
visibleExterieur
;
}
/**
* @param bool $visibleExterieur
*
* @return TypeIntervention
*/
public
function
setVisibleExterieur
(
bool
$visibleExterieur
):
TypeIntervention
{
$this
->
visibleExterieur
=
$visibleExterieur
;
return
$this
;
}
/**
* @return Annee
*/
...
...
module/Application/src/Application/View/Helper/Service/SaisieForm.php
View file @
3ee94a76
...
...
@@ -34,16 +34,62 @@ class SaisieForm extends AbstractViewHelper
/**
* @return \Application\Entity\Db\ElementPedagogique|null
*/
protected
function
getElementPedagogique
()
{
$service
=
$this
->
form
->
get
(
'service'
)
->
getObject
();
/* @var $service Service */
return
$service
->
getElementPedagogique
();
}
/**
* @return \Application\Entity\Db\Etablissement|null
*/
protected
function
getEtablissement
()
{
$service
=
$this
->
form
->
get
(
'service'
)
->
getObject
();
/* @var $service Service */
return
$service
->
getEtablissement
();
}
/**
* @return bool
*/
protected
function
isEnseignementChoisi
():
bool
{
$etablissement
=
$this
->
getEtablissement
();
$elementPedagogique
=
$this
->
getElementPedagogique
();
if
(
$elementPedagogique
){
return
true
;
}
if
(
!
$etablissement
){
return
false
;
}
if
(
$etablissement
!=
$this
->
getServiceContext
()
->
getEtablissement
()){
return
true
;
}
return
false
;
}
/**
*
* @return Periode[]
*/
public
function
getPeriodes
()
{
$service
=
$this
->
form
->
get
(
'service'
)
->
getObject
();
/* @var $service Service */
if
(
$service
->
getElementPedagogique
()
&&
$service
->
getElementPedagogique
()
->
getPeriode
())
{
return
[
$service
->
getElementPedagogique
()
->
getPeriode
()];
$ep
=
$this
->
getElementPedagogique
();
if
(
$ep
&&
$ep
->
getPeriode
())
{
return
[
$ep
->
getPeriode
()];
}
return
$this
->
getServicePeriode
()
->
getEnseignement
();
...
...
@@ -135,12 +181,15 @@ class SaisieForm extends AbstractViewHelper
if
(
!
$this
->
getServiceContext
()
->
isModaliteServicesSemestriel
(
$this
->
form
->
getTypeVolumeHoraire
())){
return
null
;
}
$res
=
''
;
foreach
(
$this
->
getPeriodes
()
as
$periode
)
{
$res
.
=
'<div class="periode" id="'
.
$periode
->
getCode
()
.
'">'
;
$res
.
=
'<h3>'
.
$periode
.
'</h3>'
;
$res
.
=
$this
->
renderVolumeHoraire
(
$this
->
form
->
get
(
$periode
->
getCode
()));
$res
.
=
'</div>'
;
if
(
$this
->
isEnseignementChoisi
()){
foreach
(
$this
->
getPeriodes
()
as
$periode
)
{
$res
.
=
'<div class="periode" id="'
.
$periode
->
getCode
()
.
'">'
;
$res
.
=
'<h3>'
.
$periode
.
'</h3>'
;
$res
.
=
$this
->
renderVolumeHoraire
(
$this
->
form
->
get
(
$periode
->
getCode
()));
$res
.
=
'</div>'
;
}
}
return
$res
;
...
...
@@ -167,6 +216,7 @@ class SaisieForm extends AbstractViewHelper
}
else
{
$qb
=
$this
->
getServiceTypeIntervention
()
->
finderByHistorique
();
$this
->
getServiceTypeIntervention
()
->
finderByContext
(
$qb
);
$this
->
getServiceTypeIntervention
()
->
finderByVisibleExterieur
(
true
,
$qb
);
$typesIntervention
=
$this
->
getServiceTypeIntervention
()
->
getList
(
$qb
);
}
...
...
public/js/service.js
View file @
3ee94a76
...
...
@@ -318,6 +318,7 @@ $.widget("ose.serviceForm", {
this
.
element
.
find
(
'
#element-interne
'
).
hide
();
this
.
getElementElementPedagogiqueId
().
val
(
''
);
this
.
getElementElementPedagogiqueLabel
().
val
(
''
);
this
.
getElementElementPedagogiqueListe
().
selectpicker
(
'
val
'
,
''
);
this
.
element
.
find
(
'
#element-externe
'
).
show
();
}
this
.
updateVolumesHoraires
();
...
...
@@ -347,11 +348,6 @@ $.widget("ose.serviceForm", {
if
(
'
service-interne
'
==
this
.
getInterneExterne
()
&&
''
==
this
.
getElementElementPedagogiqueId
().
val
())
{
readOnly
=
true
;
}
/* text = 'UPDATING = ' + (this.updating ? 'true' : 'false');
text += "\nINTERNE = " + (this.getInterneExterne());
text += "\nEP VIDE = " + ('' == this.getElementElementPedagogiqueId().val() ? 'true' : 'false');
text += "\nrésultat RO = " + (readOnly ? 'true' : 'false');
alert(text);*/
this
.
getElementVolumesHoraires
().
find
(
'
input.form-control
'
).
prop
(
'
disabled
'
,
readOnly
);
this
.
getElementVolumesHoraires
().
find
(
'
button.prevu-to-realise
'
).
prop
(
'
disabled
'
,
readOnly
);
...
...
@@ -384,6 +380,10 @@ $.widget("ose.serviceForm", {
that
.
updateVolumesHoraires
();
});
this
.
getElementEtablissementId
().
on
(
"
change
"
,
function
()
{
that
.
updateVolumesHoraires
();
});
this
.
initVolumesHoraires
();
},
...
...
Write
Preview
Supports
Markdown
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