def jsonFolderCrud(request): dictData = [] # GET * SELECT if request.is_ajax() and request.method == 'GET': action = request.GET.get('action', None) if (action == "filter"): LessonID = request.GET.get('LessonID', None) #dictData = Folder.objects.get(LessonID=LessonID).graders.all().values() #OK dictData = Folder.objects.filter(LessonID=LessonID).values() jsonData = json.dumps(list(dictData)) #print jsonData return HttpResponse(jsonData, content_type='application/json') # POST INS.UPD.DEL if request.is_ajax() and request.method == 'POST': action = request.POST.get('action', None) #INSERT COMMAND (need related LessonID ) | only add C type folders if (action == "add"): # on LessonID LessonID = request.POST.get('LessonID', None) no = request.POST.get('no', None) books = request.POST.get('books', None) #.title() codeType = request.POST.get('codeType', None) #status = request.POST.get('status', None) print 'Data:', no, books, codeType # Apaitoume oi fakeloi na exoun synexomeh arithmisi # akoma kai gia diafortikous typous # px fA/fANA. Ayto to allazoume efkola an theloume # TO kanoume giati volevei sta reports # alliws tha kanoume aali coding ... #no = Lesson.objects.get(id=LessonID).getNextFolderNo(codeType) try: #with transaction.atomic(): lesson = Lesson.objects.get(id=LessonID) no = lesson.getNextFolderNo( -1) # count F(AB) / even for F(ANA) print 'Data(new):', no, books, codeType record = Folder(LessonID_id=LessonID, no=no, books=books, codeType=codeType) record.save() record.codeBarcode = '%04d-%010d' % (int(LessonID), int(record.id)) record.save() # Need to Update Lesson Data HERE aka mum Books, Folders etc. if codeType == '0': # F(A) print "F(A)" #lesson.update(booksAB=booksAB+books, booksABFolders=booksABFolders+1) lesson.booksAB = lesson.booksAB + int(books) lesson.booksABFolders = lesson.booksABFolders + 1 lesson.save() elif codeType == '1': # F(B) #lesson.booksAB += books #lesson.booksABFolders += 1 pass elif codeType == '2': # F(ANA) lesson.booksC = lesson.booksC + int(books) lesson.booksCFolders = lesson.booksCFolders + 1 lesson.save() msg = "Επιτυχής εισαγωγή εγγραφής!" helperMessageLog(request, msg, tag='info') #messages.info(request, msg, fail_silently=True) except DatabaseError: transaction.rollback() msg = "Αδυναμία εισαγωγής εγγραφής!" helperMessageLog(request, msg, tag='error') #messages.error(request, msg, fail_silently=True) #dictData = Lesson.objects.filter(id=record.id).values() #print dictData #jsonData = json.dumps(list(dictData)) jsonData = json.dumps({'msg': msg}) return HttpResponse(jsonData, content_type='application/json') # UPDATE if (action == "update"): id = request.POST.get('id', None) no = request.POST.get('no', None) books = request.POST.get('books', None) codeType = request.POST.get('codeType', None) #lexType = request.POST.get('lexType', None) #CodeStatus = request.POST.get('CodeStatus ', None) #CodeLocation = request.POST.get('CodeLocation', None) #print "FOLDER-UPDATE %s - %s - codeType:%s lexType:%s" %(no, books, codeType, lexType) try: #with transaction.atomic(): record = Folder.objects.filter(id=id) record.update( no=no, books=books, codeType=codeType, ) msg = "Επιτυχής τροποποίηση εγγραφής!" helperMessageLog(request, msg, tag='info') #messages.info(request, msg, fail_silently=True) except DatabaseError: transaction.rollback() msg = "Αδυναμία τροποποίησης εγγραφής!" helperMessageLog(request, msg, tag='error') #messages.error(request, msg, fail_silently=True) #Folder.objects.filter(id=id).update(isCoordinator = helperStr2Bool(isCoordinator), isgraderC = helperStr2Bool(isgraderC), status = status, ) # return Lesson record #dictData = record.values() #jsonData = json.dumps(list(dictData)) jsonData = json.dumps({'msg': msg}) #print jsonData return HttpResponse(jsonData, content_type='application/json') #DELETE COMMAND if (action == "delete"): id = request.POST.get('id', None) try: record = Folder.objects.get(id=id) # update related lesson lesson = Lesson.objects.get(id=record.LessonID.id) print "codeType:%s" % (record.codeType) print "lesson:%d" % (lesson.id) if record.codeType == 0: # F(A) print "delete codeType:%s" % (record.codeType) #lesson.update(booksAB=booksAB+books, booksABFolders=booksABFolders+1) lesson.booksAB = lesson.booksAB - int(record.books) lesson.booksABFolders = lesson.booksABFolders - 1 lesson.save() elif record.codeType == 1: # F(B) pass elif record.codeType == 2: # F(ANA) print "delete codeType:%s" % (record.codeType) lesson.booksC = lesson.booksC - int(record.books) lesson.booksCFolders = lesson.booksCFolders - 1 lesson.save() record.delete() msg = "Επιτυχής διαγραφής Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='info') #messages.info(request, msg, fail_silently=True) except IntegrityError: transaction.rollback() msg = "Αδυναμία διαγραφής Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='error') #messages.error(request, msg, fail_silently=True) jsonData = json.dumps({'msg': msg}) return HttpResponse(jsonData, content_type='application/json') #"Default SELECT(*) " dictData = Folder.objects.all().values() #print dictData jsonData = json.dumps(list(dictData)) return HttpResponse(jsonData, content_type='application/json')
def jsonLessonCrud(request): #Handle Mesages #messages.success(request, 'All items on this page have free shipping.',fail_silently=False) #messages.warning(request, 'All items on this page have free shipping.',fail_silently=True) #OK # Display on GET if request.is_ajax() and request.method == 'GET': id = request.GET.get('id', None) action = request.GET.get('action', None) if (action == "filter"): dictData = Lesson.objects.filter(id=id).values() else: dictData = Lesson.objects.all().values() #print dictData jsonData = json.dumps(list(dictData)) return HttpResponse(jsonData, content_type='application/json') # CRUD on POST if request.is_ajax() and request.method == 'POST': action = request.POST.get('action', None) #dictData = Lesson.objects.all().values() #ADD if (action == "add"): #Fakeloi 1o 2o xeri (AB) #booksAB = models.IntegerField(default=0, blank=False) #booksABFolders = models.IntegerField(default=0, blank=False) #booksC = request.POST.get('booksC', None) #booksCFolders = request.POST.get('booksCFolders', None) category = request.POST.get('category', None) name = request.POST.get('name', None) type = request.POST.get('type', None) try: record = Folder(category=category, name=name, type=type) record.save() msg = "Επιτυχής εισαγωγή Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='info') except IntegrityError: transaction.rollback() msg = "Αδυναμία εισαγωγής Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='error') #jsonData = json.dumps({'msg': msg}) # return record dictData = Lesson.objects.filter(id=record.id).values() jsonData = json.dumps(dictData) return HttpResponse(jsonData, content_type='application/json') # UPDATE elif (action == "update"): id = request.POST.get('id', None) #Fakeloi 1o 2o xeri (AB) #booksAB booksABFolders booksC = request.POST.get('booksC', None) booksCFolders = request.POST.get('booksCFolders', None) category = request.POST.get('category', None) name = request.POST.get('name', None) type = request.POST.get('type', None) try: #'Αδυναμία εισαγωγής | τροποποίησης | διαγραφής | εγγραφής.' record = Lesson.objects.filter(id=id) record.update( booksC=booksC, booksCFolders=booksCFolders, category=category, name=name, type=type, ) msg = "Επιτυχής τροποποίηση Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='info') except IntegrityError: transaction.rollback() msg = "Αδυναμία τροποποίησης Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='error') # return Lesson record dictData = record.values() jsonData = json.dumps(list(dictData)) #print jsonData return HttpResponse(jsonData, content_type='application/json') #DELETE if (action == "delete"): id = request.POST.get('id', None) record = Lesson.objects.filter(id=id) try: #'Αδυναμία εισαγωγής | τροποποίησης | διαγραφής | εγγραφής.' record.delete() msg = "Επιτυχής διαγραφή Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='info') except IntegrityError: transaction.rollback() msg = "Αδυναμία διαγραφής Φακέλου (%s) !" % (record) helperMessageLog(request, msg, tag='error') return HttpResponse(result, content_type='application/json') # else: No POST Default # DEFAULT else: dictData = Lesson.objects.all().values() jsonData = json.dumps(list(dictData)) #print jsonData return HttpResponse(jsonData, content_type='application/json')