示例#1
0
def add_edit(request, pk=None):
    """
    Aggiunge o edita un' Azienda.
    :param request: Handle della richiesta.
    :param pk: id dell'azienda se la sto editando.
    :return: None
    """
    # TODO qui ci vuole una permission specifica per le aziende.
    perm = get_obj_or_404(UserPermissions, user=request.user.get_username())
    if 'aziende' not in perm.permissions:
        return Http404

    # Se è specificata una pk prova a recuperare il record altrimenti si tratta di un inserimento e procedo oltre.
    if pk:
        azienda = get_obj_or_404(Azienda, id=pk)
    else:
        azienda = Azienda()

    if request.method == 'POST':
        form = AziendaForm(request.POST, instance=azienda)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect(reverse('aziende:index'))
    else:
        form = AziendaForm(instance=azienda)
    # Popola il dizionario per il template.
    context_dict = {'form': form, 'perm': perm}
    # Visualizza il template.
    return render(request, 'aziende/az_add_edit.html', context_dict)
示例#2
0
def op_edit(request, pk=None):
    """
    Aggiunge o edita un ordine di produzione.
    """
    perm = get_obj_or_404(UserPermissions, user=request.user.get_username())
    if 'ordini' not in perm.permissions:
        return Http404

    # Se è specificata una pk prova a recuperare il record altrimenti si tratta di un inserimento e procedo oltre.
    if pk:
        ordine = get_obj_or_404(OrdineProduzione, ordine_numero=pk)
    else:
        ordine = OrdineProduzione()

    if request.method == 'POST':
        form = OrdineProduzioneForm(request.POST)
        print(request.POST)
        if form.is_valid():
            post = form.save(commit=False)
           #  post['data_inizio'] = form.cleaned_data['data1']
            post.save()
            return HttpResponseRedirect(reverse('op:index'))
        else:
            print(form.errors)

    else:
        print ("Ordine id : ", ordine.id)
        form = OrdineProduzioneForm(instance=ordine, initial={'data1': '10/09/2014'})
        # print ("Ordine id Form :", form.id)

    # Popola il dizionario per il template.
    context_dict = {'form': form, 'perm': perm}

    # Visualizza il template.
    return render(request, 'op/op_add.html', context_dict)
示例#3
0
def lezione_add(request):
    """
    Aggiunge una lezione ad un dato corso.

    :param request: 'corso' : codice di edizione del corso cui aggiungo una lezione.
    :return: 'success' : 'true' in caso di successo.
    """

    # Recupero il corso se esiste.
    corso = request.GET.get('corso', '')
    corso = get_obj_or_404(Corso, codice_edizione=corso)

    # Creo la nuova lezione.
    lezione = Lezione()
    lezione.id = ObjectId()
    lezione.data = request.GET.get('data', '')
    lezione.inizio = request.GET.get('inizio', '')
    lezione.fine = request.GET.get('fine', '')
    lezione.sede = request.GET.get('sede', '')

    # Appendo al corso.
    corso.lezioni.append(lezione)
    corso.save()

    # Riporta OK.
    results = [{'success': 'true'}]

    data = json.dumps(results)
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)
示例#4
0
def lezioni_getall(request):
    """
    Recupera una lista non ordinata delle lezioni associate ad un dato corso.

    :param request: 'corso' : codice di edizione del corso di cui voglio recuperare le lezioni.
    :return: Lista delle lezioni associate al corso.
    """
    # Recupero il corso se esiste.
    corso = request.GET.get('corso', '')
    corso = get_obj_or_404(Corso, codice_edizione=corso)

    # Itero sulle lezioni
    results = []
    for lezione in corso.lezioni:
        lezione_json = {}
        lezione_json['id'] = str(lezione.id)
        lezione_json['data'] = lezione.data
        lezione_json['inizio'] = lezione.inizio
        lezione_json['fine'] = lezione.fine
        lezione_json['ore'] = lezione.ore
        lezione_json['sede'] = lezione.sede

        results.append(lezione_json)

    data = json.dumps(results)
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)
示例#5
0
def index(request):
    """
    Pagina iniziale delle aziende.
    :param request:
    """
    # Recupera le permission dell'utente e verifica che sia abilitato a visualizzare questa pagina.
    perm = get_obj_or_404(UserPermissions, user=request.user.get_username())
    if UserPermissions.AZIENDE_ALL not in perm.permissions:
        return Http404

    # Popola il context dict e visualizza la pagina.
    context_dict = {'perm': perm}
    return render(request, 'aziende/index.html', context_dict)
示例#6
0
def add_edit(request, pk=None):
    """
    Aggiunge o edita un corso.
    """
    perm = get_obj_or_404(UserPermissions, user=request.user.get_username())
    if 'corsi' not in perm.permissions:
        return Http404

    # Se è specificata una pk prova a recuperare il record altrimenti si tratta di un inserimento e procedo oltre.
    if pk:
        corso = get_obj_or_404(Corso, codice_edizione=pk)
    else:
        corso = Corso()

    if request.method == 'POST':
        form = CorsoForm(request.POST)
        if form.is_valid():
            # Se si tratta di un aggiornamento valuto eventuali azioni.
            if pk:
                corso_old = get_obj_or_404(Corso, codice_edizione=pk)
                task_dispatcher(corso=corso_old.pk,
                                vecchio_stato=corso_old.stato,
                                nuovo_stato=form.cleaned_data.get('stato'))
            post = form.save(commit=False)
            #  post['data_inizio'] = form.cleaned_data['data1']
            post.save()
            return HttpResponseRedirect(reverse('corsi:index'))
        else:
            print("Macchecazzo")
            print(form.errors)
    else:
        form = CorsoForm(instance=corso, initial={'data1': '10/09/2014'})

    # Popola il dizionario per il template.
    context_dict = {'form': form, 'perm': perm}

    # Visualizza il template.
    return render(request, 'corsi/add_edit.html', context_dict)
示例#7
0
def index(request):
    """
    Lista dei corsi in ordine alfabetico
    """
    # Verifico se l'utente ha il permesso di usare questa vista.
    perm = get_obj_or_404(UserPermissions, user=request.user.get_username())
    if 'corsi' not in perm.permissions:
        return Http404

    # Recupero la lista dei corsi.
    lista_corsi = Corso.objects().order_by('codice_corso')
    context_dict = {'lista_corsi': lista_corsi, 'perm': perm}

    # Visualizza la risposta.
    return render(request, 'corsi/index.html', context_dict)
示例#8
0
def index(request):
    """
    Visualizzo il form iniziale.
    TODO : Rivedere come cambia con nuovo toolbar !

    :param request: Handle della richiesta
    :return: Mi manda alla pagina iniziale che potrebbe essere diversa a seconda dell'utente.
    """
    # Se l'utente è autenticato vado a cercare i suoi permessi, altrimenti non ne ha nessuno !
    if request.user.is_authenticated():
        perm = get_obj_or_404(UserPermissions,
                              user=request.user.get_username())
    else:
        perm = {}

    # Visualizzo il form iniziale.
    context_dict = {'perm': perm}
    return render(request, 'index.html', context_dict)
示例#9
0
def index(request):
    """
    Lista degli ordini di produzione in ordine decrescente di data di inserimento.
    """
    perm = get_obj_or_404(UserPermissions, user=request.user.get_username())
    if 'ordini' not in perm.permissions:
        return Http404

    lista_ordini = OrdineProduzione.objects().order_by('ordine_numero')
    context_dict = {'lista_ordini': lista_ordini, 'perm': perm}

    ordini = OrdineProduzione._get_collection().aggregate([
            {
                '$project': {'_id': 1}
            }
        ])
    for ordine in ordini:
        print('Id : ', ordine['_id'])

    # Visualizza la risposta.
    return render(request, 'op/index.html', context_dict)
示例#10
0
def lezione_upd(request):
    """
    Modifica i dati di una particolare lezione.

    :param request: 'corso' : codice di edizione del corso di cui sto modificando una lezione.
                    'lezID' : id della lezione che sto modificando.
                    'data' : Nuova data della lezione.
                    'inizio' : Nuova ora di inizio della lezione.
                    'fine' : Nuova ora di fine della lezione.
    :return: 'success' : 'true' in caso di successo.
    """
    # Recupero il corso se esiste.
    corso = request.GET.get('corso', '')
    corso = get_obj_or_404(Corso, codice_edizione=corso)
    print("Corso recuperato")

    # Recupero l'id della lezione e la cerco nel DocumentEmbedded del corso.
    lezid = request.GET.get('lezID', '')
    lezione = next(
        (lezione for lezione in corso.lezioni if str(lezione.id) == lezid),
        None)

    # A questo punto aggiorno i campi con quelli del form.
    lezione.data = request.GET.get('data', '')
    lezione.inizio = request.GET.get('inizio', '')
    lezione.fine = request.GET.get('fine', '')
    lezione.sede = request.GET.get('sede', '')

    # Salvo il tutto.
    corso.save()

    # Riporta OK.
    results = [{'success': 'true'}]

    data = json.dumps(results)
    mimetype = 'application/json'
    return HttpResponse(data, mimetype)