def setUp(self): """ Add some transactions to a VirtualAcct. """ user = User(username = '******', email = '*****@*****.**') user.save() profile = UserProfile(user = user) profile.save() budget = Budget(owner = profile, period_budget_amount = '100.00') year = Year() year.save() budget.period_length = year budget.save() category = Category(owner = profile, name = 'test', budget = budget) category.save() self.acct = RealAcct(owner = profile) self.acct.save() self.vacct = VirtualAcct(owner = profile, real_acct = self.acct, parent_budget = budget) self.vacct.save() self.txn_1 = RealTxn(value = '110.00', category = category, real_acct = self.acct) self.txn_1.save() self.vtxn_1 = VirtualTxn(value = '90.00', real_txn = self.txn_1, virtual_acct = self.vacct) self.vtxn_1.save() self.vtxn_2 = VirtualTxn(value = '20.00', real_txn = self.txn_1, virtual_acct = self.vacct) self.vtxn_2.save()
def answer_save(request, qid): if request.method == 'POST': answer = Answer() user = User() user.id = request.user.id answer.user = user ques = Question() ques.id = qid answer.question = ques # 去除xss,留下受信任的标签和属性 content = request.POST['content'].strip() if len(strip_tags(content)) < 10: errmsg = {'content': {'msg': '回答内容至少需要10个字符!', 'value': content}} return question(request, qid, errmsg) from cicada.tool.XssClean import XssClean ser_tag = settings.VALID_TAGS xss = XssClean(valid_tags=ser_tag) xss.feed(content) answer.content = xss.clean_data # 为@到的用户替换超链接和写入到redis中,提醒谁@到了 answer.content, at_uid = at_user(answer.content.encode('utf-8')) xss.close() answer.save() for uid in at_uid : at_user_key = 'cacida.answer-at-user-%d' % uid redis_cache.lpush(at_user_key,answer.id) if answer.id: return HttpResponseRedirect('/question/' + qid) return HttpResponseRedirect('/question/' + qid)
def answer_save(request, qid): if request.method == 'POST': answer = Answer() user = User() user.id = request.user.id answer.user = user ques = Question() ques.id = qid answer.question = ques # 去除xss,留下受信任的标签和属性 content = request.POST['content'].strip() if len(strip_tags(content)) < 10: errmsg = {'content': {'msg': '回答内容至少需要10个字符!', 'value': content}} return question(request, qid, errmsg) from cicada.tool.XssClean import XssClean ser_tag = settings.VALID_TAGS xss = XssClean(valid_tags=ser_tag) xss.feed(content) answer.content = xss.clean_data # 为@到的用户替换超链接和写入到redis中,提醒谁@到了 answer.content, at_uid = at_user(answer.content.encode('utf-8')) xss.close() answer.save() for uid in at_uid: at_user_key = 'cacida.answer-at-user-%d' % uid redis_cache.lpush(at_user_key, answer.id) if answer.id: return HttpResponseRedirect('/question/' + qid) return HttpResponseRedirect('/question/' + qid)
def test_periodlength_inheritance(self): """ See if having PeriodLength as not abstract will call PeriodLength methods or subclass methods """ user = User(username = '******', email = '*****@*****.**') user.save() profile = UserProfile(user = user) profile.save() budget = Budget(owner = profile, period_budget_amount = '100.00') year = Year() year.save() budget.period_length = year budget.save() length = budget.period_length assert(length.__unicode__() == 'Year PeriodLength')