test dessin_edit

This commit is contained in:
2021-08-20 15:40:00 +02:00
parent 52b30b5660
commit 049f06604a
7 changed files with 157 additions and 123 deletions

View File

@@ -129,9 +129,7 @@ def dossier_view(request):
status = get_status_by_id(request, '')
motifs = get_motifs(request)
# lire les notes du dossier
dem_notes = get_dem_notes(request, nodossier, '0', 'NOTE')
# lire les croquis du dossier
dem_croquis = get_dem_notes(request, nodossier, '0', 'CROQUIS')
dem_notes = get_dem_notes(request, nodossier, '0')
if 'form.close' in request.params:
status = request.params["status"]
@@ -167,7 +165,6 @@ def dossier_view(request):
'motifs': motifs,
'motif': '',
'dem_notes': dem_notes,
'dem_croquis': dem_croquis,
}
@view_config(route_name='dossier_selected', permission='view')
@@ -1623,28 +1620,29 @@ def dem_devis(request):
'order_option': order_option,
}
@view_config(route_name='note_add', permission='view')
def note_add(request):
logged_in = request.authenticated_userid.upper()
nodossier = request.matchdict['nodossier']
insert_dem_note(request, nodossier, 'NOTE', logged_in)
return HTTPFound(request.route_url('dossier_view', nodossier=nodossier))
@view_config(route_name='note_edit', renderer='../templates/dossier/note_edit.pt', permission='view')
def note_edit(request):
logged_in = request.authenticated_userid.upper()
nodossier = request.matchdict['nodossier']
noligne = request.matchdict['noligne']
url = request.route_url('note_edit', nodossier=nodossier, noligne=noligne)
message = ""
note = get_dem_notes(request, nodossier, noligne, 'NOTE')
if noligne == '0':
page_title = nodossier + ' : Nouvelle note'
note = {}
note['notes'] = ''
note['usermaj'] = logged_in
note['modif_le'] = date.today()
else:
note = get_dem_notes(request, nodossier, noligne)
page_title = nodossier + " : " + note.libelle
if 'form.submitted' in request.params:
notes = request.params["notes"]
update_dem_note(request, nodossier, noligne, notes)
request.session.flash("'%s' a été modifiée avec succès." % note.libelle, 'success')
update_dem_note(request, nodossier, noligne, notes, logged_in)
request.session.flash("La note a été modifiée avec succès.", 'success')
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
if 'form.deleted' in request.params:
@@ -1653,18 +1651,61 @@ def note_edit(request):
return HTTPFound(location=request.route_url('dossier_view', nodossier=nodossier))
return {
'page_title': note.libelle,
'page_title': page_title,
'url': url,
'message': message,
'nodossier': nodossier,
'note': note,
}
@view_config(route_name='croquis_edit', renderer='../templates/dossier/croquis_edit.pt', permission='view')
def croquis_edit(request):
@view_config(route_name='dessin_edit', renderer='../templates/dossier/dessin_edit.pt', permission='view')
def dessin_edit(request):
logged_in = request.authenticated_userid.upper()
nodossier = request.matchdict['nodossier']
noligne = request.matchdict['noligne']
url = request.route_url('dessin_edit', nodossier=nodossier, noligne=noligne)
societe = nodossier[0:2]
nochantier = nodossier[3:]
message = ""
if noligne == '0':
page_title = nodossier + ' : Nouveau dessin'
else:
page_title = nodossier + " : "
if 'form.submitted' in request.params:
# get the base64-encoded-canvas image
img_data = request.params["image"]
img_data = img_data.replace('data:image/png;base64', '')
img_data = img_data.replace(' ', '+')
# convertir image de string en bytes
img_bytes = img_data.encode('utf-8')
decoded_image = base64.decodebytes(img_bytes)
# lire le nombre de dessins déjà créés
nb_dessins = get_nb_dessins(request, nodossier)
# fabriquer le nom du dessin
filename = '%s-DD%s-%s' % (societe, nochantier, 'DESSIN No ' + str(nb_dessins + 1) + ".png")
path = '%s/%s/%s' % (request.registry.settings['mondumas.devfac_dir'], societe, nochantier)
# créer le répertoire du chantier
os.makedirs(path, exist_ok=True)
filepath = os.path.join('%s/%s' % (path, filename))
# ecrire l'image dans un fichier PNG
f = open(filepath, "wb")
f.write(decoded_image)
f.close
filesize = round(os.path.getsize(filepath) / 1024)
insert_dossier_attaches(request, '%s-%s' % (societe, nochantier), 0, 'FRN', filename, '%s Ko' % str(filesize), logged_in)
request.session.flash('%s est enregistré dans les DOC. TECHNIQUES.' % filename, 'success')
return {
'page_title': 'NOUVEAU CROQUIS',
'page_title': page_title,
'url': url,
'message': message,
'nodossier': nodossier,
}
@view_config(route_name='dern_suivis', renderer='../templates/dossier/dern_suivis.pt', permission='view')