def processing(self, element, rqst, msg): """ Цю функцію треба переозначити у дочірньому класі. Тут наводиться як ПРИКЛАД. """ f_name_list = [f.name for f in Folder.objects.filter(parent_id=rqst.parent_id)] # Умови при яких зміни не відбудуться: if not rqst.name or rqst.name == "": msg.type = msgType.IncorrectData msg.title = "Нова тека" msg.message = "Ви не вказали назву теки!" elif rqst.name in f_name_list: msg.type = msgType.IncorrectData msg.title = "Нова тека" msg.message = "Тека з такою назвою вже існує!" else: # Робимо зміни: folder = Folder() folder.name = rqst.name folder.parent = Folder.objects.get(id=rqst.parent_id) folder.created_on = timezone.now() # не використовуємо auto_now folder.save() # остаточне збереження msg.title = folder.name msg.type = msgType.NewRow msg.message = "Тека створена!" element = folder return element, msg
def processing(self, folder, rqst, msg): # Список існуючих імен в теці: f_name_list = [ f.name for f in Folder.objects.filter(parent_id=rqst.parent_id) ] # Умови при яких зміни не відбудуться: if not rqst.name or rqst.name == "": msg.type = msgType.IncorrectData msg.title = "Нова тека" msg.message = "Ви не вказали назву теки!" elif rqst.name in f_name_list: msg.type = msgType.IncorrectData msg.title = "Нова тека" msg.message = "Тека з такою назвою вже існує!" else: # Робимо зміни: folder = Folder() # новий примірник folder.name = rqst.name folder.parent = Folder.objects.get(id=rqst.parent_id) folder.created_on = timezone.now() # не використовуємо auto_now folder.save() # остаточне збереження msg.title = folder.name msg.type = msgType.NewRow msg.message = "Теку створено!" return folder, msg
def post(self, request, format=None): user = request.user category_name_list = request.data['category_name_list'] category_name_list = category_name_list.split(',') created_folers = [] for category_name in category_name_list: folder = Folder() folder.name = category_name folder.color = self.get_random_color() folder.creator = user folder.save() created_folers.append(folder) folders = Folder.objects.filter(creator=user) serializer = FolderSerializer(folders, many=True) return Response(data=serializer.data, status=status.HTTP_201_CREATED)
def processing(self, folder, rqst, msg): # Список існуючих імен в теці: f_name_list = [f.name for f in Folder.objects.filter(parent_id=rqst.parent_id)] # Умови при яких зміни не відбудуться: if not rqst.name or rqst.name == "": msg.type = msgType.IncorrectData msg.title = "Нова тека" msg.message = "Ви не вказали назву теки!" elif rqst.name in f_name_list: msg.type = msgType.IncorrectData msg.title = "Нова тека" msg.message = "Тека з такою назвою вже існує!" else: # Робимо зміни: folder = Folder() # новий примірник folder.name = rqst.name folder.parent = Folder.objects.get(id=rqst.parent_id) folder.created_on = timezone.now() # не використовуємо auto_now folder.save() # остаточне збереження msg.title = folder.name msg.type = msgType.NewRow msg.message = "Теку створено!" return folder, msg