Example #1
0
 def _available_badges(self):
     '''
     Return the badges that are editable by a user.
     '''
     c.groups = [{'permission': 'global.admin',
                  'label': _('In all instances'),
                  'show_label': True}]
     if c.instance:
         c.groups.append(
             {'permission': 'instance.admin',
              'label': _('In instance "%s"') % c.instance.label,
              'show_label': h.has_permission('global.admin')})
     badges = {}
     if has('global.admin'):
         badges['global.admin'] = {
             'instance': InstanceBadge.all(instance=None),
             'user': UserBadge.all(instance=None),
             'delegateable': DelegateableBadge.all(instance=None),
             'category': CategoryBadge.all(instance=None),
             'thumbnail': ThumbnailBadge.all(instance=None)}
     if has('instance.admin') and c.instance is not None:
         badges['instance.admin'] = {
             'instance': InstanceBadge.all(instance=c.instance),
             'user': UserBadge.all(instance=c.instance),
             'delegateable': DelegateableBadge.all(instance=c.instance),
             'category': CategoryBadge.all(instance=c.instance),
             'thumbnail': ThumbnailBadge.all(instance=c.instance)}
     return badges
Example #2
0
 def test_generate_thumbnail_tag_with_thumb_attr(self):
     from adhocracy.model import ThumbnailBadge
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     badge = ThumbnailBadge.create(u'testbadge0', u'#ccc', True, u'descr')
     badge.thumbnail = TEST_IMAGE
     image = generate_thumbnail_tag(badge)
     self.assert_(b'VWyKXFMAAAAASUVORK5CYII=' in image)
Example #3
0
 def test_generate_thumbnail_tag_with_thumb_attr(self):
     from adhocracy.model import ThumbnailBadge
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     badge = ThumbnailBadge.create(u'testbadge0', u'#ccc', True, u'descr')
     badge.thumbnail = TEST_IMAGE
     image = generate_thumbnail_tag(badge)
     self.assert_(b'VWyKXFMAAAAASUVORK5CYII=' in image)
Example #4
0
 def create_thumbnail_badge(self):
     try:
         self.form_result = BadgeForm().to_python(request.params)
     except Invalid as i:
         return self.add('thumbnail', i.unpack_errors())
     title, color, visible, description, impact, instance =\
         self._get_common_fields(self.form_result)
     thumbnail = self.form_result.get("thumbnail")
     if isinstance(thumbnail, FieldStorage):
         thumbnail = thumbnail.file.read()
     else:
         thumbnail = None
     ThumbnailBadge.create(title, color, visible, description, thumbnail,
                           impact, instance)
     # commit cause redirect() raises an exception
     meta.Session.commit()
     redirect(self.base_url)
Example #5
0
 def _to_python(self, value, state):
     from adhocracy.model import ThumbnailBadge
     try:
         value = int(value)
     except:
         pass
     badge = ThumbnailBadge.by_id(value, instance_filter=False)
     if badge is None or badge.instance not in [None, c.instance]:
         raise formencode.Invalid(
             _("No Badge ID '%s' exists") % value, value, state)
     return badge
Example #6
0
 def _to_python(self, value, state):
     from adhocracy.model import ThumbnailBadge
     try:
         value = int(value)
     except:
         pass
     badge = ThumbnailBadge.by_id(value, instance_filter=False)
     if badge is None or badge.instance not in [None, c.instance]:
         raise formencode.Invalid(
             _("No Badge ID '%s' exists") % value,
             value, state)
     return badge
Example #7
0
    def _make_content(self):
        """Returns creator, delegateable and badge"""

        from adhocracy.model import ThumbnailBadge, Proposal, Instance
        instance = Instance.find(u'test')
        creator = tt_make_user(u'creator')
        delegateable = Proposal.create(instance, u"labeld", creator)
        thumbnail = b'binary'
        badge = ThumbnailBadge.create(u'testbadge', u'#ccc', True,
                                      u'description', thumbnail=thumbnail)

        return creator, delegateable, badge
Example #8
0
 def test_generate_thumbnail_cache(self):
     from adhocracy.model import ThumbnailBadge
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     badge = ThumbnailBadge.create(u'testbadge0', u'', True, u'descr')
     image = generate_thumbnail_tag(badge)
     self.assert_(b'fb96ZYAAAAASUVORK5CYII=' in image)
     badge.thumbnail = TEST_IMAGE
     image = generate_thumbnail_tag(badge)
     self.assert_(b'VWyKXFMAAAAASUVORK5CYII=' in image)
     badge.thumbnail = "Wrong Data"
     image = generate_thumbnail_tag(badge)
     self.assert_(b'fb96ZYAAAAASUVORK5CYII=' in image)
Example #9
0
 def test_generate_thumbnail_cache(self):
     from adhocracy.model import ThumbnailBadge
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     badge = ThumbnailBadge.create(u'testbadge0', u'', True, u'descr')
     image = generate_thumbnail_tag(badge)
     self.assert_(b'fb96ZYAAAAASUVORK5CYII=' in image)
     badge.thumbnail = TEST_IMAGE
     image = generate_thumbnail_tag(badge)
     self.assert_(b'VWyKXFMAAAAASUVORK5CYII=' in image)
     badge.thumbnail = "Wrong Data"
     image = generate_thumbnail_tag(badge)
     self.assert_(b'fb96ZYAAAAASUVORK5CYII=' in image)
Example #10
0
 def test_generate_thumbnail_tag_set_size(self):
     from adhocracy.model import ThumbnailBadge, Instance
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     instance = Instance.find(u'test')
     badge = ThumbnailBadge.create(u'testbadge0', u'', True, u'descr')
     badge.instance = instance
     image = generate_thumbnail_tag(badge)
     self.assert_(u'width="48"' in image)
     self.assert_(u'height="48"' in image)
     instance.thumbnailbadges_width = 10
     instance.thumbnailbadges_height = 12
     image = generate_thumbnail_tag(badge)
     self.assert_(u'height="12"' in image)
     self.assert_(u'width="10"' in image)
     image = generate_thumbnail_tag(badge, width=8, height=11)
     self.assert_(u'height="11"' in image)
     self.assert_(u'width="8"' in image)
Example #11
0
 def test_generate_thumbnail_tag_set_size(self):
     from adhocracy.model import ThumbnailBadge, Instance
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     instance = Instance.find(u'test')
     badge = ThumbnailBadge.create(u'testbadge0', u'', True, u'descr')
     badge.instance = instance
     image = generate_thumbnail_tag(badge)
     self.assert_(u'width="48"' in image)
     self.assert_(u'height="48"' in image)
     instance.thumbnailbadges_width = 10
     instance.thumbnailbadges_height = 12
     image = generate_thumbnail_tag(badge)
     self.assert_(u'height="12"' in image)
     self.assert_(u'width="10"' in image)
     image = generate_thumbnail_tag(badge, width=8, height=11)
     self.assert_(u'height="11"' in image)
     self.assert_(u'width="8"' in image)
Example #12
0
    def test_get_all_badges(self):
        # setup
        from adhocracy.model import Badge, CategoryBadge, DelegateableBadge, \
            InstanceBadge, ThumbnailBadge
        from adhocracy.model import UserBadge, Instance
        instance = Instance.find(u'test')
        # create for each type a global scope and an instance scope badge
        InstanceBadge.create(u'badge ü', u'#ccc', True, u'description ü')
        InstanceBadge.create(u'badge ü', u'#ccc', True, u'description ü',
                             instance=instance)
        UserBadge.create(u'badge ü', u'#ccc', True, u'description ü')
        UserBadge.create(u'ü', u'#ccc', True, u'ü', instance=instance)
        DelegateableBadge.create(u'badge ü', u'#ccc', True, u'description ü')
        DelegateableBadge.create(u'badge ü', u'#ccc', True, u'description ü',
                                 instance=instance)
        CategoryBadge.create(u'badge ü', u'#ccc', True, u"desc")
        CategoryBadge.create(u'badge ü', u'#ccc', True, u"desc",
                             instance=instance)

        ThumbnailBadge.create(u'badge ü', u'#ccc', True, u"desc",
                              thumbnail=b'binary')
        ThumbnailBadge.create(u'badge ü', u'#ccc', True, u"desc",
                              thumbnail=b'binary', instance=instance)

        # all instance badges
        self.assertEqual(len(InstanceBadge.all()), 1)
        self.assertEqual(len(InstanceBadge.all(instance=instance)), 1)
        # all delegateable badges
        self.assertEqual(len(DelegateableBadge.all()), 1)
        self.assertEqual(len(DelegateableBadge.all(instance=instance)), 1)
        # all delegateable category badges
        self.assertEqual(len(CategoryBadge.all()), 1)
        self.assertEqual(len(CategoryBadge.all(instance=instance)), 1)
        # all delegateable thumbnail badges
        self.assertEqual(len(ThumbnailBadge.all()), 1)
        self.assertEqual(len(ThumbnailBadge.all(instance=instance)), 1)
        # all user badges
        self.assertEqual(len(UserBadge.all()), 3)
        self.assertEqual(len(UserBadge.all(instance=instance)), 1)
        # We can get all Badges by using `Badge`
        self.assertEqual(len(Badge.all()), 7)
        self.assertEqual(len(Badge.all(instance=instance)), 5)

        self.assertEqual(len(Badge.all_q().all()), 12)
Example #13
0
 def test_generate_thumbnail_tag_with_color_attr(self):
     from adhocracy.model import ThumbnailBadge
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     badge = ThumbnailBadge.create(u'testbadge0', u'#ccc', True, u'descr')
     image = generate_thumbnail_tag(badge)
     self.assert_(b'Afb96ZYAAAAASUVORK5CYII=' in image)
Example #14
0
 def test_generate_thumbnail_tag_with_color_attr(self):
     from adhocracy.model import ThumbnailBadge
     from adhocracy.lib.helpers.badge_helper import generate_thumbnail_tag
     badge = ThumbnailBadge.create(u'testbadge0', u'#ccc', True, u'descr')
     image = generate_thumbnail_tag(badge)
     self.assert_(b'Afb96ZYAAAAASUVORK5CYII=' in image)