def dettaglio_bando_peo(request, bando_id): """""" #bando_peo = get_object_or_404(Bando, pk=bando_id) bando = _get_bando_queryset(bando_id).first() dipendente = Dipendente.objects.filter( matricola=request.user.matricola).first() #categorie_titoli = CategoriaTitolo.objects.filter(Bando=Bando_id).order_by('ordinamento') # Se non c'è un bando pubblicato e l'utente non ha privilegi di staff # la risorsa non è accessibile #if not (bando.pubblicato or dipendente.utente.is_staff): # url = reverse('risorse_umane:dashboard') # return HttpResponseRedirect(url) page_title = 'Descrizione parametri di Partecipazione al Bando {}'.format( bando.nome) url_bandi_peo = reverse('gestione_peo:bandi_peo') page_url = reverse('gestione_peo:dettaglio_bando_peo', args=[bando.slug]) breadcrumbs = BreadCrumbs() breadcrumbs.add_url((url_bandi_peo, 'Bandi PEO')) breadcrumbs.add_url((page_url, page_title)) d = { "page_title": page_title, "breadcrumbs": breadcrumbs, "bando": bando, "dipendente": dipendente #"categorie_titoli": categorie_titoli, } return render(request, "dettaglio_bando_peo.html", context=d)
def bandi_peo(request): """""" dipendente = request.user.dipendente_set.filter( matricola=request.user.matricola).first() if dipendente.utente.is_staff: bandi_lista = Bando.objects.filter( Q(pubblicato=True) | Q(collaudo=True)) bandi_attivi = dipendente.idoneita_peo_staff() else: bandi_lista = Bando.objects.filter(pubblicato=True) bandi_attivi = dipendente.idoneita_peo_attivata() if bandi_lista: bandi_lista = bandi_lista.order_by('-data_inizio') excluded_pk = [] for bando in bandi_attivi: if not bando.is_in_corso(): excluded_pk.append(bando.pk) bandi_attivi = bandi_lista.exclude(pk__in=excluded_pk) page_title = 'Bandi PEO' page_url = reverse('gestione_peo:bandi_peo') breadcrumbs = BreadCrumbs() breadcrumbs.add_url((page_url, page_title)) context = { "page_title": page_title, "breadcrumbs": breadcrumbs, "bandi": bandi_attivi, "bandi_lista": bandi_lista, "dipendente": dipendente, } return render(request, "bandi_peo.html", context=context)
def upload_carta_identita(request): """ Primo upload o aggiornamento carta identità dipendente """ dipendente = Dipendente.objects.filter( matricola=request.user.matricola).first() if request.method == 'POST': # print(request.FILES) form = CartaIdentitaForm(request.POST, request.FILES) if form.is_valid(): dipendente.carta_identita_front = request.FILES[ 'carta_identita_front'] dipendente.carta_identita_retro = request.FILES[ 'carta_identita_retro'] dipendente.save() return HttpResponseRedirect('/') else: form = CartaIdentitaForm() page_title = 'Gestione documento di identità' d = { 'page_title': page_title, 'breadcrumbs': BreadCrumbs(url_list=(('#', page_title), )), 'form': form, 'dipendente': dipendente, 'MEDIA_URL': settings.MEDIA_URL, 'IMAGE_TYPES': ', '.join( [i.split('/')[1] for i in settings.IMG_PERMITTED_UPLOAD_FILETYPE]), 'IMAGE_MAX_SIZE': '{} MB.'.format(int(settings.IMG_MAX_UPLOAD_SIZE / (1024.)**2)), } return render(request, 'upload_carta_identita.html', d)
from .decorators import (abilitato_a_partecipare, domanda_modificabile, domanda_cancellabile, modulo_compilato_cancellabile) from .forms import * from .models import * from .utils import * # pdfs from PyPDF2 import PdfFileMerger from io import StringIO, BytesIO import gestione_peo.settings import json import magic import shutil _breadcrumbs = BreadCrumbs() @login_required #@check_accessibilita_bando #@check_termini_domande @abilitato_a_partecipare def dashboard_domanda(request, bando_id): """ Pagina di gestione della propria domanda. """ dipendente = get_object_or_404(Dipendente, matricola=request.user.matricola) bando = _get_bando_queryset(bando_id).first()