コード例 #1
0
    def test__reorder(self):
        links = CustomLinks(db.creator, self._creator['id'])

        original = self._ordered_ids()

        links.reorder()
        got = self._ordered_ids()
        self.assertEqual(got, original)
        self.assertEqual(self._order_nos(), [1, 2, 3])

        link_ids = [original[2], original[1], original[0]]
        links.reorder(link_ids=link_ids)
        got = self._ordered_ids()
        self.assertEqual(got, link_ids)
        self.assertEqual(self._order_nos(), [1, 2, 3])

        # Test that holes are closed.
        link_ids = [original[0], original[1], original[2]]
        links.reorder(link_ids=link_ids)

        for x in self._ordered_records():
            x.update_record(order_no=db.creator_to_link.order_no * 2)
        db.commit()
        self.assertEqual(self._order_nos(), [2, 4, 6])
        links.reorder(link_ids=link_ids)
        self.assertEqual(self._order_nos(), [1, 2, 3])
コード例 #2
0
ファイル: profile.py プロジェクト: zsw/zcomix.com
 def ondelete(table, record_id):
     """Callback for ondelete."""
     db(table.id == record_id).delete()
     db.commit()
     if book_record:
         to_link_table = db.book_to_link
         filter_field = 'book_id'
         record = book_record
         links = CustomLinks(db.book, book_record.id)
     else:
         filter_field = 'creator_id'
         to_link_table = db.creator_to_link
         record = creator_record
         links = CustomLinks(db.creator, creator_record.id)
     # Delete any _to_links associated with the record.
     db(to_link_table.link_id == record_id).delete()
     db.commit()
     links.reorder()
コード例 #3
0
ファイル: profile.py プロジェクト: zsw/zcomix.com
 def ondelete(table, record_id):
     """Callback for ondelete."""
     db(table.id == record_id).delete()
     db.commit()
     if book_record:
         to_link_table = db.book_to_link
         filter_field = 'book_id'
         record = book_record
         links = CustomLinks(db.book, book_record.id)
     else:
         filter_field = 'creator_id'
         to_link_table = db.creator_to_link
         record = creator_record
         links = CustomLinks(db.creator, creator_record.id)
     # Delete any _to_links associated with the record.
     db(to_link_table.link_id == record_id).delete()
     db.commit()
     links.reorder()
コード例 #4
0
    def test__move_link(self):
        links = CustomLinks(db.creator, self._creator['id'])

        # Set up data
        original = self._ordered_ids()
        link_ids = [original[0], original[1], original[2]]
        links.reorder(link_ids=link_ids)
        got = self._ordered_ids()
        self.assertEqual(got, original)

        # Move top link up, should not change
        links.move_link(original[0], direction='up')
        got = self._ordered_ids()
        self.assertEqual(got, original)

        # Move bottom link down, should not change
        links.move_link(original[2], direction='down')
        got = self._ordered_ids()
        self.assertEqual(got, original)

        # Move top link down
        links.move_link(original[0], direction='down')
        got = self._ordered_ids()
        self.assertEqual(got,
                 [original[1], original[0], original[2]])

        # Move top link down again
        links.move_link(original[0], direction='down')
        got = self._ordered_ids()
        self.assertEqual(got,
                 [original[1], original[2], original[0]])

        # Move top link up
        links.move_link(original[0], direction='up')
        got = self._ordered_ids()
        self.assertEqual(got,
                 [original[1], original[0], original[2]])

        # Move top link up again, back to start
        links.move_link(original[0], direction='up')
        got = self._ordered_ids()
        self.assertEqual(got, original)