Beispiel #1
0
    def test_saving_and_retrieving_reports(self):
        folder = Folder()
        folder.save()

        first_report = Report()
        first_report.filename = 'The first (ever) folder report'
        first_report.parent = folder
        first_report.save()

        second_report = Report()
        second_report.filename = 'Report the second'
        second_report.parent = folder
        second_report.save()

        saved_folder = Folder.objects.first()
        self.assertEqual(saved_folder, folder)

        saved_reports = Report.objects.all()
        self.assertEqual(saved_reports.count(), 2)

        first_saved_report = saved_reports[0]
        second_saved_report = saved_reports[1]

        self.assertEqual(first_saved_report.filename, 'The first (ever) folder report')
        self.assertEqual(first_saved_report.parent, folder)
        self.assertEqual(second_saved_report.filename, 'Report the second')
        self.assertEqual(second_saved_report.parent, folder)
Beispiel #2
0
def copy_folder(folder,user):
    feeds, items = [], []
    folderCopy = Folder(default_folder=True,
                        user=user,
                        name=folder.name)
    folderCopy.save()
    transaction.commit()
    for feed in folder.feeds:
        feedCopy = SubscriptionFeed(custom_name=None,
                                    rawfeed =feed.rawfeed,
                                    folder =folderCopy)
        feedCopy.save()
        feeds.append(feedCopy)
        
    transaction.commit()        
    for feed in feeds:
        for item in feed.rawfeed.items:
            itemCopy = SubscriptionItem(read = False,
                                         clicked = False,
                                         raw_item = item,
                                         feed = feed)
            itemCopy.save()
    transaction.commit()
    
    return folderCopy
Beispiel #3
0
 def create_dummy_root_folder(self, name="dummy_root_folder",
                         parent=None, created_on=None):
     # створюємо теку з id=1 для folders/1/contents/:
     folder = Folder(id=1, name=name, parent=parent, created_on=created_on)
     folder.save()
     # print('created folder:', folder)
     return folder
Beispiel #4
0
 def create_dummy_folder(self, id=None, name="dummy_folder",
                         parent=None, created_on=None):
     # створюємо теку:
     folder = Folder(id=id, name=name, parent=parent, created_on=created_on)
     folder.save()
     # print('created folder:', folder)
     return folder
Beispiel #5
0
 def create_dummy_root_folder(self,
                              name="dummy_root_folder",
                              parent=None,
                              created_on=None):
     # створюємо теку з id=1 для folders/1/contents/:
     folder = Folder(id=1, name=name, parent=parent, created_on=created_on)
     folder.save()
     # print('created folder:', folder)
     return folder
Beispiel #6
0
 def create_dummy_folder(self,
                         id=None,
                         name="dummy_folder",
                         parent=None,
                         created_on=None):
     # створюємо теку:
     folder = Folder(id=id, name=name, parent=parent, created_on=created_on)
     folder.save()
     # print('created folder:', folder)
     return folder
Beispiel #7
0
 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 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
Beispiel #10
0
    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
Beispiel #12
0
 def test_empty_name_gives_error(self):
     f = Folder(name="")
     with self.assertRaises(ValidationError):
         f.full_clean()
Beispiel #13
0
 def test_no_name_gives_error(self):
     f = Folder(name=None)
     with self.assertRaises(IntegrityError):
         f.save()
Beispiel #14
0
 def test_model_name(self):
     self.assertEqual(model_name(Folder), "folder")
     self.assertEqual(model_name(Folder()), "folder")