Example #1
0
    def save(self):
        # TODO: remove and create more intelligently, not to f**k up the proxy-form of the delegating
        ## create diff
        ## remove old proxies for this delegate
        proxies = Proxy.objects.filter(delegating=self.user, delegates=self.delegate, isdefault=False)
        for proxy in proxies:
            if proxy.delegates.filter(pk=self.delegate.pk).exists():
                # this proxy contains the delegate --> disable this proxy and create a new one without this delegate
                # check if this proxy will be empty after removing delegate
                if proxy.delegates.count() == 1:
                    # don't save new proxy because it would be empty
                    proxy.disable()
                else:
                    newproxy = proxy.disable_and_get_mutable_copy()
                    newproxy.delegates.remove(self.delegate)

        # create a single new proxy for this delegate
        newproxy = Proxy(delegating=self.user, isdefault=False)
        newproxy.save()
        newproxy.delegates.add(self.delegate)
        if "profile_proxy_tags" in self.data.keys():
            for tag in self.data.getlist("profile_proxy_tags"):
                tag_object = Tag.objects.get(pk=tag)
                newproxy.tags.add(tag_object)
        newproxy.save()
        return
Example #2
0
 def save(self):
     # TODO: remove and create more intelligently, not to f**k up the proxy-form of the delegating
     ## create diff
     ## remove old proxies for this delegate
     proxies = Proxy.objects.filter(delegating=self.user, delegates=self.delegate, isdefault=False)
     for proxy in proxies:
         proxy.delegates.remove(self.delegate)
         if not proxy.delegates.exists():
             proxy.delete()
     
     # create a single new proxy for this delegate
     newproxy = Proxy(delegating=self.user, isdefault=False)
     newproxy.save()
     newproxy.delegates.add(self.delegate)
     if 'profile_proxy_tags' in self.data.keys():
         for tag in self.data.getlist('profile_proxy_tags'):
             tag_object = Tag.objects.get(pk=tag)
             newproxy.tags.add(tag_object)
     newproxy.save()
     return
Example #3
0
    def setUp(self):
        numusers = 20
        self.users = []
        for i in xrange(numusers):
            u = CustomUser(username=u"U%d"%i)
            u.save()
            self.users.append(u)

        numtags = 10
        self.tags = []
        for i in xrange(numtags):
            t = Tag(name=u"T%d"%i)
            t.save()
            self.tags.append(t)

        tupples = [
            (0, [], [1, 2, 3, 4], True),
            (1, [], [2, 3, 4], True),
            (2, [], [1, 3, 4], True),
            (3, [], [5, 6], True),
            (4, [], [7, 8], True),
            (5, [], [9], True),
            (7, [], [10], True),
        ]
        self.proxies = []
        for tupple in tupples:
            p = Proxy(delegating = self.users[tupple[0]], isdefault=tupple[3])
            p.save()
            for t in tupple[1]:
                p.tags.add(self.tags[t])
            for d in tupple[2]:
                p.delegates.add(self.users[d])
            p.save()
            self.proxies.append(p)

        doc = FullDocument()
        doc.save()
        diff = Diff(fulldocument=doc)
        diff.save()
        self.proposal = AmendmentProposal(title="Test", diff=diff, motivation="Motivation")
        self.proposal.save()
Example #4
0
 def save(self):
     # TODO: remove and create more intelligently, not to f**k up the proxy-form of the delegating
     ## create diff
     ## remove old proxies for this delegate
     proxies = Proxy.objects.filter(delegating=self.user, delegates=self.delegate, isdefault=False)
     for proxy in proxies:
         if proxy.delegates.filter(pk=self.delegate.pk).exists():
             # this proxy contains the delegate --> disable this proxy and create a new one without this delegate
             # check if this proxy will be empty after removing delegate
             if proxy.delegates.count() == 1:
                 # don't save new proxy because it would be empty
                 proxy.disable()
             else:
                 newproxy = proxy.disable_and_get_mutable_copy()
                 newproxy.delegates.remove(self.delegate)
     
     # create a single new proxy for this delegate
     newproxy = Proxy(delegating=self.user, isdefault=False)
     newproxy.save()
     newproxy.delegates.add(self.delegate)
     if 'profile_proxy_tags' in self.data.keys():
         for tag in self.data.getlist('profile_proxy_tags'):
             tag_object = Tag.objects.get(pk=tag)
             newproxy.tags.add(tag_object)
     newproxy.save()
     return
Example #5
0
    def setUp(self):
        numusers = 20
        self.users = []
        for i in xrange(numusers):
            u = CustomUser(username=u"U%d" % i)
            u.save()
            self.users.append(u)

        numtags = 10
        self.tags = []
        for i in xrange(numtags):
            t = Tag(name=u"T%d" % i)
            t.save()
            self.tags.append(t)

        tupples = [
            (0, [], [1, 2, 3, 4], True),
            (1, [], [2, 3, 4], True),
            (2, [], [1, 3, 4], True),
            (3, [], [5, 6], True),
            (4, [], [7, 8], True),
            (5, [], [9], True),
            (7, [], [10], True),
        ]
        self.proxies = []
        for tupple in tupples:
            p = Proxy(delegating=self.users[tupple[0]], isdefault=tupple[3])
            p.save()
            for t in tupple[1]:
                p.tags.add(self.tags[t])
            for d in tupple[2]:
                p.delegates.add(self.users[d])
            p.save()
            self.proxies.append(p)

        doc = FullDocument()
        doc.save()
        diff = Diff(fulldocument=doc)
        diff.save()
        self.proposal = AmendmentProposal(title="Test",
                                          diff=diff,
                                          motivation="Motivation")
        self.proposal.save()
Example #6
0
    def save(self):
        # TODO: remove and create more intelligently, not to f**k up the proxy-form of the delegating
        ## create diff
        ## remove old proxies for this delegate
        proxies = Proxy.objects.filter(delegating=self.user,
                                       delegates=self.delegate,
                                       isdefault=False)
        for proxy in proxies:
            proxy.delegates.remove(self.delegate)
            if not proxy.delegates.exists():
                proxy.delete()

        # create a single new proxy for this delegate
        newproxy = Proxy(delegating=self.user, isdefault=False)
        newproxy.save()
        newproxy.delegates.add(self.delegate)
        if 'profile_proxy_tags' in self.data.keys():
            for tag in self.data.getlist('profile_proxy_tags'):
                tag_object = Tag.objects.get(pk=tag)
                newproxy.tags.add(tag_object)
        newproxy.save()
        return