Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
P
PGPI-entrega
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
sergest
PGPI-entrega
Commits
3386ae7d
Commit
3386ae7d
authored
Jan 4, 2019
by
Álvaro Berruezo
Browse files
Options
Downloads
Patches
Plain Diff
Formulario completar incidencia done
parent
f8ff742c
No related branches found
No related tags found
1 merge request
!28
Formulario completar incidencia done
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
src/app.py
+27
-7
27 additions, 7 deletions
src/app.py
src/templates/completar_incidencia.html
+104
-0
104 additions, 0 deletions
src/templates/completar_incidencia.html
src/templates/info_incidencia.html
+2
-8
2 additions, 8 deletions
src/templates/info_incidencia.html
with
133 additions
and
15 deletions
src/app.py
+
27
−
7
View file @
3386ae7d
...
...
@@ -41,9 +41,8 @@ def logout():
def
incidencia
(
idIncidencia
):
incidencia
=
get_incidencia
(
idIncidencia
)
if
request
.
method
==
'
POST
'
:
if
request
.
form
[
'
action
'
]
==
"
tecnico
"
:
tecnico
=
request
.
form
[
'
tecnicoAsignado
'
]
cambio_estado_incidencia
(
idIncidencia
,
1
,
current_user
.
nick
,
tecnicoAsignado
=
tecnico
)
if
request
.
form
[
'
action
'
]
==
"
completar
"
:
return
redirect
(
url_for
(
'
completar_incidencia
'
,
idIncidencia
=
idIncidencia
))
elif
request
.
form
[
'
action
'
]
==
"
cierre_cliente
"
:
cambio_estado_incidencia
(
idIncidencia
,
2
,
current_user
.
nick
)
elif
request
.
form
[
'
action
'
]
==
"
cierre_tecnico
"
:
...
...
@@ -55,8 +54,6 @@ def incidencia(idIncidencia):
elif
request
.
form
[
'
action
'
]
==
"
add_comentario
"
:
return
render_template
(
'
add_comentario.html
'
,
incidencia
=
incidencia
)
listaTecnicos
=
get_tecnicos
()
cambioApertura
=
get_cambio_by_estado
(
idIncidencia
,
0
)
cambioAsignada
=
get_cambio_by_estado
(
idIncidencia
,
1
)
...
...
@@ -116,6 +113,21 @@ def registrar_incidencia():
return
render_template
(
'
registrar_incidencia.html
'
)
@app.route
(
'
/completar_incidencia/<idIncidencia>
'
,
methods
=
[
'
GET
'
,
'
POST
'
])
@login_required
def
completar_incidencia
(
idIncidencia
):
if
request
.
method
==
'
POST
'
:
comentario
=
request
.
form
.
get
(
'
comentario
'
)
prioridad
=
request
.
form
.
get
(
'
prioridad
'
)
tecnico
=
request
.
form
.
get
(
'
tecnico
'
)
asignar_incidencia
(
idIncidencia
,
comentario
,
prioridad
,
tecnico
)
return
redirect
(
url_for
(
'
incidencia
'
,
idIncidencia
=
idIncidencia
))
listaTecnicos
=
get_tecnicos
()
incidencia
=
get_incidencia
(
idIncidencia
)
return
render_template
(
'
completar_incidencia.html
'
,
incidencia
=
incidencia
,
listaTecnicos
=
listaTecnicos
)
@app.route
(
'
/add_comentario/<idIncidencia>
'
,
methods
=
[
'
GET
'
,
'
POST
'
])
@login_required
def
add_comentario
(
idIncidencia
):
...
...
@@ -206,14 +218,22 @@ def insert_incidencia(titulo, descripcion, fecha, estado, reportadaPor, categori
def
get_incidencia
(
id
):
return
Incidencia
.
query
.
get
(
id
)
def
cambio_estado_incidencia
(
id
,
estado
,
usuario
,
tecnicoAsignado
=
None
):
def
cambio_estado_incidencia
(
id
,
estado
,
usuario
):
incidencia
=
get_incidencia
(
id
)
incidencia
.
estado
=
estado
if
tecnicoAsignado
:
incidencia
.
tecnicoAsignado
=
tecnicoAsignado
db
.
session
.
commit
()
insert_cambio
(
estado
,
usuario
,
id
)
def
asignar_incidencia
(
id
,
comentario
,
prioridad
,
tecnico
):
incidencia
=
get_incidencia
(
id
)
incidencia
.
comentario
=
comentario
incidencia
.
prioridad
=
prioridad
incidencia
.
tecnicoAsignado
=
tecnico
db
.
session
.
commit
()
cambio_estado_incidencia
(
id
,
1
,
current_user
.
nick
)
def
comentar_incidencia
(
id
,
comentario
):
incidencia
=
get_incidencia
(
id
)
incidencia
.
comentario
=
comentario
...
...
This diff is collapsed.
Click to expand it.
src/templates/completar_incidencia.html
0 → 100644
+
104
−
0
View file @
3386ae7d
<!doctype html>
<html
lang=
"en"
>
<head>
<meta
charset=
"utf-8"
>
<title>
PGPIncidents
</title>
<!-- Establecer el ancho al ancho del sistema y el zoom al 1 -->
<meta
name=
"viewport"
content=
"width = device-width, initial-scale = 1, shrink-to-fit=no"
>
<link
href=
"https://fonts.googleapis.com/icon?family=Material+Icons"
rel=
"stylesheet"
>
<link
rel=
"stylesheet"
href=
"{{ url_for('static', filename='css/clientView.css') }}"
>
<!-- Link al css de Bootstrap -->
<link
rel=
"stylesheet"
href=
"https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
integrity=
"sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
crossorigin=
"anonymous"
>
<link
rel=
"stylesheet"
href=
"https://use.fontawesome.com/releases/v5.6.1/css/all.css"
integrity=
"sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP"
crossorigin=
"anonymous"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../static/css/formulario.css"
>
<script
src=
"{{ url_for('static', filename='scripts/includeHTML.js') }}"
></script>
</head>
<body
class=
"d-flex"
style=
"min-height: 100%;min-width: 100%;"
>
<!-- barra principal del menú -->
<nav
class=
"navbar navbar-expand-md navbar-dark bg-dark fixed-top pt-0"
onmouseover=
"closeSide('side-nav')"
>
<div
class=
"d-inline-flex justify-content-center w-100 align-items-center"
>
<span
class=
"navbar-brand title"
style=
"font-size: 25px;"
>
PGPIncidents
</span>
</div>
</nav>
<div
id=
"side-nav"
class=
"side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light"
onmouseover=
"openSide('side-nav')"
>
<div
class=
"side-title side-content d-flex "
>
<img
id=
"user-img"
class=
"user-icon"
src=
"../static/img/default-gravatar.png"
alt=
"user icon"
>
<span
class=
"collapse width align-self-center"
style=
"min-width: 70%;padding-left: 5%;max-height: 10%"
>
{{ current_user.nick }}
</span>
</div>
{% if current_user.tipo == 0 %}
<div
w3-include-html=
"{{ url_for('static', filename='menus/menu_supervisor.html') }}"
></div>
{% elif current_user.tipo == 1 %}
<div
w3-include-html=
"{{ url_for('static', filename='menus/menu_tecnico.html') }}"
></div>
{% elif current_user.tipo == 2 %}
<div
w3-include-html=
"{{ url_for('static', filename='menus/menu_cliente.html') }}"
></div>
{% endif %}
</div>
<div
id=
"data-body"
class=
"container-fluid flex-grow-1"
onmouseover=
"closeSide('side-nav')"
>
<!-- Body -->
<!DOCTYPE html>
<div
class=
"inciCli"
>
<div
class=
"formCli"
>
<form
class=
"incidentCli"
method=
'POST'
action=
'/completar_incidencia/{{ incidencia.id }}'
>
<p>
Incidencia {{ incidencia.id }}
</p>
<textarea
placeholder=
"Comentario"
name=
"comentario"
required
></textarea>
<input
type=
"text"
placeholder=
"prioridad"
name=
"prioridad"
required
/>
<select
name=
"tecnico"
required
>
{% for i in range(listaTecnicos|length) %}
<option
value=
"{{ listaTecnicos[i].nick }}"
>
{{ listaTecnicos[i].nick }}
</option>
{% endfor %}
</select>
<button
type=
"submit"
>
Enviar
</button>
</form>
</div>
</div>
</div>
<script>
function
openSide
(
id
)
{
let
el
=
document
.
getElementById
(
id
);
if
(
!
el
.
classList
.
contains
(
'
open
'
))
{
$
(
'
.collapse
'
).
collapse
(
'
show
'
);
el
.
classList
.
add
(
'
open
'
);
document
.
getElementById
(
'
side-nav
'
).
style
.
width
=
"
200px
"
;
}
};
function
closeSide
(
id
)
{
let
el
=
document
.
getElementById
(
id
);
if
(
el
.
classList
.
contains
(
'
open
'
))
{
el
.
classList
.
remove
(
'
open
'
);
$
(
'
.collapse
'
).
collapse
(
'
hide
'
)
document
.
getElementById
(
'
side-nav
'
).
style
.
width
=
"
64px
"
;
}
};
</script>
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script
src=
"https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity=
"sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin=
"anonymous"
></script>
<script
src=
"https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"
integrity=
"sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49"
crossorigin=
"anonymous"
></script>
<script
src=
"https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"
integrity=
"sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
crossorigin=
"anonymous"
></script>
<script>
includeHTML
();
</script>
</body>
</html>
This diff is collapsed.
Click to expand it.
src/templates/info_incidencia.html
+
2
−
8
View file @
3386ae7d
...
...
@@ -166,13 +166,7 @@
<div
id=
"botonesPiePagina"
>
<form
method=
"POST"
action=
'/incidencia/{{ incidencia.id }}'
>
{% if (current_user.tipo == 0) and (incidencia.estado == 0) %}
<button
type=
"button"
class=
"btn btn-outline-primary"
>
Añadir comentario
</button>
<button
type=
"submit"
class=
"btn btn-outline-primary"
name=
"action"
value=
"tecnico"
>
Asignar tecnico
</button>
<select
name=
"tecnicoAsignado"
>
{% for i in range(listaTecnicos|length) %}
<option
value=
"{{ listaTecnicos[i].nick }}"
>
{{ listaTecnicos[i].nick }}
</option>
{% endfor %}
</select>
<button
type=
"submit"
class=
"btn btn-outline-primary"
name=
"action"
value=
"completar"
>
Completar incidencia
</button>
{% endif %}}
{% if (current_user.tipo == 0) and (incidencia.estado == 1) %}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment