Пример #1
0
    def process_copy(self, request, user_profile, input_data, template_args, **kwargs):
        """
        Copy an item to paste it somewhere else

        takes a uid as parameter and
        returns the one of the copy
        """
        
        # generate a moderation indicating the item will be copied
        cut_markup = Moderation(**kwargs['pipe'])
        cut_markup.related_id = kwargs['node'].id
        cut_markup.status = 'copying'
        cut_markup.save()
        
        return self.manage_item_pipe(request, user_profile, input_data, template_args, **kwargs)
Пример #2
0
    def process_cut(self, request, user_profile, input_data, template_args, **kwargs):
        """
        Cut an item from the tree to paste it somewhere else

        takes a uid as parameter, 

        hides it and redirect it to an unparented copy
        returns it' uid
        """
        
        # generate a moderation indicating the item will be cutted
        cut_markup = Moderation(**kwargs['pipe'])
        cut_markup.related_id = kwargs['node'].id
        cut_markup.status = 'cutting'
        cut_markup.save()
        
        return self.manage_item_pipe(request, user_profile, input_data, template_args, **kwargs)
Пример #3
0
 def get_moderation(self, akey, user_profile, data, node, **kwargs):
     
     new_moderation = Moderation()
     
     new_moderation.akey = akey
     new_moderation.action = kwargs['action']
     new_moderation.locale = get_language()
     new_moderation.path = node.get_url()
     
     new_moderation.related = node
     
     new_moderation.username = user_profile.username
     new_moderation.email = user_profile.email
     new_moderation.validated = user_profile.validated
     
     if kwargs['action'] == 'comment':
         new_moderation.subject = 'Nouveau commentaire'
     
     elif kwargs['action'] == 'review':
         new_moderation.subject = 'Nouvel avis'
     
     elif kwargs['action'] == 'discuss':
         new_moderation.subject = 'Nouveau message'
     
     
     
     return new_moderation
Пример #4
0
    def process_invite(self, request, user_profile, input_data, template_args, **kwargs):
        """
        invite a group of user to join the commenting
        """
        akey = self.get_session_user_keys(request)
        action_data = kwargs['pipe']
        action = kwargs.get('action')
        emails = input_data.get('emails')
       

        # establish a list of invitation
        invitationList = {}
        # from email list
        if emails:
            for email in emails.split(','):
                invitationList[email] = None
        
        origin, = self.get_forms_instances(action, user_profile, kwargs)
        
        #
        for iemail in invitationList:
            invitation = Moderation()
            invitation.origin = origin
            invitation.related_id = template_args['currentNode'].id
            invitation.action = 'invite'
            invitation.locale = get_language()
            invitation.path = kwargs['node'].get_url()
            invitation.status = 'invited'
            invitation.email = iemail
            invitation.akey = get_new_uuid()
            invitation.subject = 'Invitation lancee !'
            invitation.message = input_data.get('message', 'Vous etes invite a consulter ce document')
            invitation.save()
        
        template_args['action_forms'] = self.get_validated_forms(
                                                 self.get_forms_instances(action, user_profile, kwargs),
                                                 input_data,
                                                 action,
                                                 save_forms=False,
                                                 bound_forms=False
                                                 )

        return self.render(request, template_args, **kwargs)
Пример #5
0
 def create_proposal(self, request, user_profile, input_data, template_args, **kwargs):
     
     # create a moderation with the request 
     # action and data and a proposal status
     mod = Moderation()
     
     mod.akey = user_profile.akey
     mod.email = user_profile.email
     mod.username = user_profile.username
     mod.locale = get_language()
     
     mod.subject = 'Wants to change'
     mod.message = 'Wants to change'
     
     mod.action = kwargs['action']
     mod.data = json.dumps(input_data)
     
     mod.status = 'proposed'
     
     mod.path = kwargs['node'].path
     
     mod.related_id = kwargs['node'].id
     
     mod.visible = False
     mod.completed_date = now()
     mod.save()
     
     messages.warning(request, 'Your proposal have been posted !')
     
     return HttpResponseRedirect(kwargs['node'].get_url()+'view/')