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)
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)
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)
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)
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)
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)
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)
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)
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)
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)