当前位置: 首页>>代码示例>>Python>>正文


Python Feedback.save方法代码示例

本文整理汇总了Python中publicweb.models.Feedback.save方法的典型用法代码示例。如果您正苦于以下问题:Python Feedback.save方法的具体用法?Python Feedback.save怎么用?Python Feedback.save使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在publicweb.models.Feedback的用法示例。


在下文中一共展示了Feedback.save方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_model_feedbackcount_changes

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def test_model_feedbackcount_changes(self):
     decision = Decision(description="Decision test data")
     decision.save(self.user)
     self.instance_attribute_has_value(decision,"feedbackcount",0)
     feedback = Feedback(description="Feedback test data", decision=decision)
     feedback.save()
     self.instance_attribute_has_value(decision,"feedbackcount",1)
开发者ID:indigo79,项目名称:openconsent,代码行数:9,代码来源:model_test.py

示例2: test_list_page_sorted_by_feedback

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
    def test_list_page_sorted_by_feedback(self):
        # Create test decisions in reverse date order.         
        decision1 = Decision(description="Apple",
                            status=Decision.DECISION_STATUS)
        decision1.save(self.user)
        feedback = Feedback(description="One", decision=decision1)
        feedback.save()
        feedback = Feedback(description="Two", decision=decision1)
        feedback.save()
        feedback = Feedback(description="Three", decision=decision1)
        feedback.save()

        decision2 = Decision(description="Coconut",
                            status=Decision.DECISION_STATUS)
        decision2.save()

        decision3 = Decision(description="Blackberry",
                            status=Decision.DECISION_STATUS)
        decision3.save(self.user)
        feedback = Feedback(description="One", decision=decision3)
        feedback.save()
        feedback = Feedback(description="Two", decision=decision3)
        feedback.save()

        response = self.client.get(reverse('publicweb_item_list', args=['decision']), dict(sort='feedback'))
        
        object_list = response.context['object_list']
                        
        self.assertEquals(decision1.id, getattr(object_list[0], 'id'))
        self.assertEquals(decision3.id, getattr(object_list[1], 'id'))
        self.assertEquals(decision2.id, getattr(object_list[2], 'id')) 
开发者ID:samastur,项目名称:openconsent,代码行数:33,代码来源:decision_list_test.py

示例3: test_view_feedback

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def test_view_feedback(self):
     decision = self.create_and_return_decision()
     feedback = Feedback(description='test feedback',
                       decision=decision)
     feedback.save()
     response = self.client.get(reverse('publicweb_feedback_detail', args=[feedback.id]))
     self.assertContains(response, u"Feedback")
     self.assertContains(response, feedback.description)
开发者ID:amandao,项目名称:openconsent,代码行数:10,代码来源:view_decision_test.py

示例4: create_and_return_example_concensus_decision_with_feedback

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def create_and_return_example_concensus_decision_with_feedback(self):
     decision = self.create_and_return_decision(status=Decision.DECISION_STATUS)
     
     feedback = Feedback(description='No time to decide',
                       decision=decision)
     feedback.save()
     
     return decision
开发者ID:harryberto,项目名称:openconsent,代码行数:10,代码来源:decision_test_case.py

示例5: create_and_return_example_decision_with_feedback

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def create_and_return_example_decision_with_feedback(self):
     decision = self.create_and_return_decision()
     
     feedback = Feedback(description='No time to decide',
                       decision=decision)
     feedback.save()
     
     return decision
开发者ID:harryberto,项目名称:openconsent,代码行数:10,代码来源:decision_test_case.py

示例6: test_feedback_linebreaks

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def test_feedback_linebreaks(self):
     decision = self.make_decision(description="Lorem")
     feedback = Feedback(description="text\ntext")
     feedback.decision = decision
     feedback.author = self.user
     feedback.save()
     path = reverse("publicweb_feedback_detail", args=[feedback.id])
     response = self.client.get(path)
     self.assertContains(response, "text<br />text", 1, msg_prefix="Failed to line break text")
开发者ID:foobacca,项目名称:econsensus,代码行数:11,代码来源:html_test.py

示例7: create_and_return_feedback

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def create_and_return_feedback(self,decision=None,
                                description='Feedback', author=None):
     if author==None:
         author=self.user
     if decision==None:
         decision=self.create_and_return_decision()
     feedback = Feedback(description=description,
                       decision=decision,
                       author=author)
     feedback.save()
     return feedback
开发者ID:JayFliz,项目名称:econsensus,代码行数:13,代码来源:decision_test_case.py

示例8: test_feedback_author_shown

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def test_feedback_author_shown(self):
     decision = self.make_decision(description="Lorem Ipsum")
     feedback = Feedback(description="Dolor sit")
     feedback.author = self.user
     feedback.decision = decision
     feedback.save()
     
     self.user = self.login('charlie')        
     path = reverse('publicweb_item_detail', args=[decision.id])
     response = self.client.get(path)
     betty = User.objects.get(username='betty')
     self.assertContains(response, betty.first_name)
开发者ID:Administr8Me,项目名称:econsensus,代码行数:14,代码来源:html_test.py

示例9: test_feedback_author_shown

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def test_feedback_author_shown(self):
     self.user = self.login('Barry')
     decision = Decision(description="Lorem Ipsum")
     decision.save()
     feedback = Feedback(description="Dolor sit")
     feedback.author = self.user
     feedback.decision = decision
     feedback.save()
     
     self.user = self.login('Adam')        
     path = reverse('publicweb_item_detail', args=[decision.id])
     response = self.client.get(path)
     barry = User.objects.get(username='Barry')
     self.assertContains(response, barry.username)
开发者ID:samastur,项目名称:openconsent,代码行数:16,代码来源:html_test.py

示例10: _process_email

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
    def _process_email(self, mail, verbosity): # pylint: disable=R0914
        logger = logging.getLogger('econsensus')

        #handle multipart mails, cycle through mail 
        #until find text type with a full payload.
        if mail.is_multipart():
            for message in mail.get_payload():
                if message.get_content_maintype() == 'text':
                    msg_string = self._strip_string(message.get_payload(), verbosity)
                    if msg_string:
                        break
        else:
            msg_string = self._strip_string(mail.get_payload(), verbosity)       
        
        if not msg_string:
            logger.error("[EMAIL REJECTED] From '%s' Reason: Email payload empty" % mail['From'])
            return
        
        #Must match email 'from' address to user
        from_match = re.search('([\w\-\.][email protected]\w[\w\-]+\.+[\w\-]+)', mail['From'])
        if from_match:
            self._print_if_verbose(verbosity, "Found email 'from' '%s'" % from_match.group(1))
            try:
                user = User.objects.get(email=from_match.group(1))
                self._print_if_verbose(verbosity, "Matched email to user '%s'" % user)
            except:
                logger.error("[EMAIL REJECTED] From '%s' Reason: Email address does not correspond to any known User" % mail['From'])
                return
        else:
            logger.error("[EMAIL REJECTED] From '%s' Reason: Unrecognised email address format" % mail['From'])
            return
        
        #Must match email 'to' address to organization
        org_match = re.search('([\w\-\.]+)@\w[\w\-]+\.+[\w\-]+', mail['To'])
        if org_match:
            self._print_if_verbose(verbosity, "Found email 'to' '%s'" % org_match.group(1))
            try:
                organization = Organization.objects.get(slug=org_match.group(1))
                self._print_if_verbose(verbosity, "Matched email to organization '%s'" % organization.name)
            except:
                logger.error("[EMAIL REJECTED] From '%s' Reason: '%s' does not correspond to any known Organization" \
                             % (mail['From'], org_match.group(1)))
                return
        else:
            logger.error("[EMAIL REJECTED] From '%s' Reason: Couldn't pull Organization from '%s'" % (mail['From'], mail['To']))
            return

        #User must be a member of the Organization
        if organization not in Organization.active.get_for_user(user):
            self._print_if_verbose(verbosity, "User %s is not a member of Organization %s" % (user.username, organization.name))
            logger.error("[EMAIL REJECTED] From '%s' Reason: User '%s' is not a member of Organization '%s'" \
                         % (mail['From'], user.username, organization.name))
            return

        #Look for feedback types in the message body
        rating = Feedback.COMMENT_STATUS                    
        description = msg_string                        
        parse_feedback = re.match('(\w+)\s*:\s*([\s\S]*)', msg_string, re.IGNORECASE)
        if parse_feedback:
            description = parse_feedback.group(2)
            rating_match = re.match('question|danger|concerns|consent|comment', parse_feedback.group(1), re.IGNORECASE)
            if rating_match:
                self._print_if_verbose(verbosity, "Found feedback rating '%s'" % rating_match.group())
                rating = rating_int(rating_match.group().lower())

        # Determine whether email is in reply to a notification
        subject_match = re.search('\[(\d+)(?:\\\\(\d+)(?:\\\\(\d+))?)?\]', mail['Subject'])
        if subject_match:
            #process comment or feedback against feedback
            if subject_match.group(2):
                self._print_if_verbose(verbosity, "Found feedback id '%s' in Subject" % subject_match.group(2))
                try:
                    feedback = Feedback.objects.get(pk=subject_match.group(2))
                except:
                    logger.error("[EMAIL REJECTED] From '%s' Reason: id '%s' does not correspond to any known Feedback" \
                                 % (mail['From'], subject_match.group(2)))
                    return
                
                if parse_feedback and rating_match:
                    decision = feedback.decision
                    self._print_if_verbose(verbosity, "Creating feedback with rating '%s' and description '%s'." % (rating, description))
                    feedback = Feedback(author=user, decision=decision, rating=rating, description=description)
                    feedback.save()
                    logger.info("User '%s' added feedback via email to decision #%s" % (user, decision.id))
                    self._print_if_verbose(verbosity, "Found corresponding object '%s'" % decision.excerpt)
                else:
                    comment_text = msg_string                
                    self._print_if_verbose(verbosity, "Creating comment '%s'." % (comment_text))
                    comment = Comment(user=user,
                                     comment = comment_text,
                                     content_object=feedback, 
                                     object_pk=feedback.id,
                                     content_type=ContentType.objects.get(app_label="publicweb", model="feedback"),
                                     submit_date = timezone.now(),
                                     site = Site.objects.get_current())
                    comment.save()
                    logger.info("User '%s' added comment via email to feedback #%s" % (user, feedback.id))
                    self._print_if_verbose(verbosity, "Found corresponding object '%s'" % feedback.description)
            
            #process feedback against decision
#.........这里部分代码省略.........
开发者ID:Administr8Me,项目名称:econsensus,代码行数:103,代码来源:process_email.py

示例11: _process_email

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
    def _process_email(self, mail, verbosity): # pylint: disable=R0914
        user = None
        decision = None
        user_found = False
        object_found = False
        org_found = False
        msg_string = ''
        
        #match email 'from' address to user
        from_match = re.search('([\w\-\.][email protected]\w[\w\-]+\.+[\w\-]+)', mail['From'])
        if from_match:
            self._print_if_verbose(verbosity, "Found email 'from' '%s'" % from_match.group(1))
            try:
                user = User.objects.get(email=from_match.group(1))
                user_found = True
                self._print_if_verbose(verbosity, "Matched email to user '%s'" % user)
            except:
                pass

        #match id to object
        id_match = re.search('#(\d+)', mail['Subject'])        
        if id_match:
            self._print_if_verbose(verbosity, "Found '%s' in Subject" % id_match.group())
            try:
                decision = Decision.objects.get(pk=id_match.group(1))
                object_found = True
                self._print_if_verbose(verbosity, "Found corresponding object '%s'" % decision.excerpt)
            except:
                pass
        
        #match email 'to' address to organization
        to_match = re.search('([\w\-\.]+)@\w[\w\-]+\.+[\w\-]+', mail['To'])
        if to_match:
            self._print_if_verbose(verbosity, "Found email 'to' '%s'" % to_match.group(1))
            try:
                organization = Organization.objects.get(slug=to_match.group(1))
                org_found = True
                self._print_if_verbose(verbosity, "Matched email to organization '%s'" % organization.name)
            except:
                pass
        
        proposal_found = re.search('proposal', mail['Subject'], re.IGNORECASE)

        #handle multipart mails, cycle through mail 
        #until find text type with a full payload.
        if mail.is_multipart():
            for message in mail.get_payload():
                if message.get_content_maintype() == 'text':
                    msg_string = self._strip_string(message.get_payload(), verbosity)
                    if msg_string:
                        break
        else:
            msg_string = self._strip_string(mail.get_payload(), verbosity)       

        if user_found and msg_string:
            if object_found:
                parse_feedback = re.match('(\w+)\s*:\s*(\w+[\s\w]*)', msg_string, re.IGNORECASE)
                if parse_feedback:
                    description = parse_feedback.group(2)
                    rating_match = re.match('question|danger|concerns|consent|comment', parse_feedback.group(1), re.IGNORECASE)
                else:
                    rating_match = None
                    description = msg_string
                    
                if rating_match:
                    self._print_if_verbose(verbosity, "Found feedback rating '%s'" % rating_match.group())
                    rating = rating_int(rating_match.group().lower())
                else:
                    rating = Feedback.COMMENT_STATUS

                self._print_if_verbose(verbosity, "Creating feedback with rating '%s' and description '%s'." % (rating, description))
                feedback = Feedback(author=user, decision=decision, rating=rating, description=description)
                feedback.save()
            elif proposal_found and org_found:
                self._print_if_verbose(verbosity, "No matching object, creating proposal")
                if organization in Organization.active.get_for_user(user):
                    decision = Decision(author=user, editor=user, status=Decision.PROPOSAL_STATUS, organization=organization, description=msg_string)
                    decision.save()
                else:
                    self._print_if_verbose(verbosity, "User %s is not a member of Organization %s" % (user.username, organization.name))
开发者ID:samthetechie,项目名称:openconsent,代码行数:82,代码来源:process_email.py

示例12: test_model_feedbackcount_changes

# 需要导入模块: from publicweb.models import Feedback [as 别名]
# 或者: from publicweb.models.Feedback import save [as 别名]
 def test_model_feedbackcount_changes(self):
     decision = self.make_decision()
     self.instance_attribute_has_value(decision, "feedbackcount", 0)
     feedback = Feedback(description="Feedback test data", decision=decision, author=self.user)
     feedback.save()
     self.instance_attribute_has_value(decision, "feedbackcount", 1)       
开发者ID:Administr8Me,项目名称:econsensus,代码行数:8,代码来源:model_test.py


注:本文中的publicweb.models.Feedback.save方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。