Exemple #1
0
def get_complain(request):
    complains = MemberComplainRecord.objects.filter(
        complain_settings__owner=request.user).order_by('-created_at')
    cur_page = int(request.GET.get('page', '1'))

    for complain in complains:
        if complain.webapp_user_id != -1:
            try:
                member = WebAppUser.get_member_by_webapp_user_id(
                    complain.webapp_user_id)
                if member and member.is_for_test == False:
                    complain.member_username = member.username_for_html
                    complain.member_id = member.id
                else:
                    complain.member_username = u'非会员'
            except:
                complain.member_username = u'非会员'
        else:
            complain.member_username = u'非会员'

    pageinfo, complains = paginator.paginate(
        complains,
        cur_page,
        COUNT_PER_PAGE,
        query_string=request.META['QUERY_STRING'])

    c = RequestContext(
        request, {
            'first_nav_name': FIRST_NAV_NAME,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'complains': complains,
            'pageinfo': json.dumps(paginator.to_dict(pageinfo)),
        })
    return render_to_response('complain/editor/member_complain_list.html', c)
Exemple #2
0
def edit_delivery_plan(request, id):
    delivery_plan = DeliveryPlan.objects.get(id=id)
    if request.POST:
        name = request.POST['name']
        frequency = request.POST['frequency']
        type = request.POST['type']
        times = request.POST['times']
        price = request.POST['price']
        product_id = request.POST.get('product_id', 5)
        delivery_plan.name = name
        delivery_plan.frequency = frequency
        delivery_plan.times = times
        delivery_plan.type = type
        delivery_plan.price = price
        delivery_plan.product_id = product_id
        delivery_plan.save()
        
        return HttpResponseRedirect(('/market_tools/delivery_plan/'))
    else:
         c = RequestContext(request, {
             'first_nav_name': MARKET_TOOLS_NAV,
             'second_navs': export.get_second_navs(request),
             'second_nav_name': SECOND_NAV_NAME, 
             'delivery_plan': delivery_plan
         })
         return render_to_response('delivery_plan/editor/edit_deliver_plan.html', c)
Exemple #3
0
def add_store(request):
    if request.POST:
        zone = request.POST.get('zone', '').strip()
        num = request.POST.get('num', '').strip()
        tel = "%s-%s" % (zone, num)
        store = Store.objects.create(
            owner=request.user,
            name=request.POST.get('name', '').strip(),
            thumbnails_url=request.POST.get('thumbnails_url', '').strip(),
            store_intro=request.POST.get('store_intro', '').strip(),
            city=request.POST.get('city', '').strip(),
            address=request.POST.get('address', '').strip(),
            location=request.POST.get('location', '').strip(),
            bus_line=request.POST.get('bus_line', '').strip(),
            tel=tel,
            detail=request.POST.get('detail', '').strip(),
        )

        #处理轮播图
        swipe_images = json.loads(request.POST.get('swipe_images', '[]'))
        for swipe_image in swipe_images:
            StoreSwipeImage.objects.create(store=store, url=swipe_image['url'])
        return HttpResponseRedirect('/market_tools/store/')
    else:
        c = RequestContext(
            request, {
                'first_nav_name': MARKET_TOOLS_NAV,
                'second_navs': export.get_second_navs(request),
                'second_nav_name': SECOND_NAV_NAME,
            })
        return render_to_response('store/editor/edit_store.html', c)
Exemple #4
0
def weizoom_card_expense_record(request, card_id):
    cards = WeizoomCard.objects.filter(id=card_id)
    if cards.count() == 0:
        watchdog_alert(u'微众卡的消费记录,不存在该微众卡号:{}'.format(card_num),
                       user_id=request.user_profile.user_id)
        raise Http404(u"不存在该微众卡号")
    else:
        card = cards[0]
        expense_records = WeizoomCardHasOrder.objects.filter(
            card_id=card_id).order_by('created_at')
        for expense_record in expense_records:
            try:
                expense_record.true_order_id = get_order_id(
                    expense_record.order_id)
            except:
                expense_record.true_order_id = None

    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'card': card,
            'expense_records': expense_records
        })
    return render_to_response(
        'weizoom_card/editor/weizoom_card_num_record.html', c)
Exemple #5
0
def get_channel_qrcode_pay_orders(request, setting_id):
	# relations = ChannelQrcodeHasMember.objects.filter(channel_qrcode_id=setting_id)
	# setting_id2count = {}
	# member_id2setting_id = {} 
	# member_ids = []
	# for r in relations:
	# 	member_ids.append(r.member_id)
	# 	member_id2setting_id[r.member_id] = r.channel_qrcode_id
	# 	if r.channel_qrcode_id in setting_id2count:
	# 		setting_id2count[r.channel_qrcode_id] += 1
	# 	else:
	# 		setting_id2count[r.channel_qrcode_id] = 1
	
	# webapp_users = member_model.WebAppUser.objects.filter(member_id__in=member_ids)
	# webapp_user_id2member_id = dict([(u.id, u.member_id) for u in webapp_users])
	# webapp_user_ids = set(webapp_user_id2member_id.keys())
	# orders = mall_model.Order.by_webapp_user_id(webapp_user_ids).filter(status=mall_model.ORDER_STATUS_SUCCESSED).order_by('-created_at')

	c = RequestContext(request, {
			'first_nav_name': MARKET_TOOLS_NAV,
			'second_navs': export.get_second_navs(request),
			'second_nav_name': SECOND_NAV_NAME,
			'setting_id':setting_id
		})
	return render_to_response('channel_qrcode/editor/channel_qrcode_orders.html', c)
Exemple #6
0
def update_coupon_rule(request):
    rule_id = request.GET['rule_id']
    if request.method == 'GET':
        coupon_rule = CouponRule.objects.get(id=rule_id)

        #优惠券规则删除操作将优惠券规则置为不可用,不进行物理删除
        #每一个优惠券规则均可以被删除
        #if Coupon.objects.filter(coupon_rule=coupon_rule).count() > 0:
        #	coupon_rule.can_delete = False
        #lse:
        #coupon_rule.can_delete = True

        c = RequestContext(
            request, {
                'first_nav_name': FIRST_NAV_NAME,
                'second_navs': export.get_second_navs(request),
                'second_nav_name': SECOND_NAV_NAME,
                'coupon_rule': coupon_rule
            })
        return render_to_response('coupon/editor/edit_coupon_rule.html', c)
    else:
        CouponRule.objects.filter(id=rule_id).update(name=request.POST.get(
            'name', ''), )

        return HttpResponseRedirect('/market_tools/coupon/')
Exemple #7
0
def list_votes(request):
	votes = Vote.objects.filter(owner=request.user).order_by('-id')
	for vote in votes:
		vote_options = VoteOption.objects.filter(vote=vote).order_by("-vote_count")

		#选项数
		vote.option_count = vote_options.count()

		#最高选票项信息
		vote.max_vote_option_name = ""
		if vote_options.count() > 0:
			vote.max_vote_option_name = vote_options[0].name

		#总选票
		vote_counts = vote_options.aggregate(Sum("vote_count"))

		vote.vote_count = 0
		if vote_counts["vote_count__sum"] is not None:
			vote.vote_count = vote_counts["vote_count__sum"]

	c = RequestContext(request, {
		'first_nav_name': MARKET_TOOLS_NAV,
		'second_navs': export.get_second_navs(request),
		'second_nav_name': SECOND_NAV_NAME,
		'votes': votes,
	})
	return render_to_response('vote/editor/vote_list.html', c)
Exemple #8
0
def edit_thanks_card(request):
	c = RequestContext(request, {
		'first_nav_name': MARKET_TOOLS_NAV,
		'second_navs': export.get_second_navs(request),
		'second_nav_name': SECOND_NAV_NAME,
	})
	return render_to_response('thanks_card/editor/edit_thanks_card.html', c)
Exemple #9
0
def create_create_game(request):
    user = request.user
    if request.POST:
        name = request.POST['name']
        is_non_member = request.POST.get('is_non_member', 0)
        award_prize_info = request.POST.get('award_prize_info')
        background_pic_url = request.POST.get('background_pic_url')
        testgame = TestGame.objects.create(
            owner=user,
            name=name,
            is_non_member=is_non_member,
            background_pic_url=background_pic_url,
            award_prize_info=award_prize_info)
        for key, value in request.POST.items():
            if key.startswith('test_game_question_'):
                name = request.POST[key]
                display_index = int(key.split('_')[3])
                test_game_question = TestGameQuestion()
                test_game_question.test_game = testgame
                test_game_question.name = name
                test_game_question.display_index = display_index
                test_game_question.save()
                for key, value in request.POST.items():
                    if key.startswith('test_game_answer_score_%s_' %
                                      display_index):
                        score = request.POST[key]
                        answer_title = key.split('_')[5]
                        name = request.POST['test_game_answer_%s_%s' %
                                            (display_index, answer_title)]
                        test_game_question_answer = TestGameQuestionAnswer()
                        test_game_question_answer.test_game_question = test_game_question
                        test_game_question_answer.name = name
                        test_game_question_answer.score = score
                        test_game_question_answer.display_index = answer_title
                        test_game_question_answer.save()
        for key, value in request.POST.items():
            if key.startswith('result_name_'):
                result_name = request.POST[key]
                result_index = key.split('_')[2]
                max_score = request.POST['max_score_%s' % result_index]
                min_score = request.POST['min_score_%s' % result_index]
                result_range = '%s-%s' % (min_score, max_score)
                detail = request.POST['result_detail_%s' % result_index]
                test_game_result = TestGameResult()
                test_game_result.test_game = testgame
                test_game_result.section = result_range
                test_game_result.content = detail
                test_game_result.title = result_name
                test_game_result.display_index = result_index
                test_game_result.save()

        return HttpResponseRedirect('/market_tools/test_game/')
    else:
        c = RequestContext(
            request, {
                'first_nav_name': MARKET_TOOLS_NAV,
                'second_navs': export.get_second_navs(request),
                'second_nav_name': SECOND_NAV_NAME,
            })
        return render_to_response('test_game/editor/edit_test_game.html', c)
Exemple #10
0
def add_vote(request):
	c = RequestContext(request, {
		'first_nav_name': MARKET_TOOLS_NAV,
		'second_navs': export.get_second_navs(request),
		'second_nav_name': SECOND_NAV_NAME,
	})
	return render_to_response('vote/editor/edit_vote.html', c)
Exemple #11
0
def edit_shake(request, id):
    if int(id) > 0:
        try:
            shake = Shake.objects.get(id=id)
        except:
            raise Http404('不存在该微信摇一摇')

        relations = ShakeDetail.objects.filter(shake=shake)
    else:
        relations = None
        shake = {'can_update': True}

    coupon_rules = get_coupon_rules(request.user)

    c = RequestContext(
        request,
        {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'shake': shake,
            'relations': relations,
            #'coupon_rules':coupon_rules
        })
    return render_to_response('shake/editor/edit_shake.html', c)
Exemple #12
0
def create_research(request):
    if request.POST:
        name = request.POST["name"]
        detail = request.POST.get("detail", '')
        prize_type = request.POST.get("prize_type", '-1')
        prize_source = request.POST.get("prize_source", '')
        is_non_member = request.POST.get("is_non_member", 0)

        research = Research.objects.create(owner=request.user,
                                           name=name,
                                           detail=detail,
                                           prize_type=prize_type,
                                           is_non_member=is_non_member,
                                           prize_source=prize_source)

        __update_research_items(request, research.id)

        return HttpResponseRedirect('/market_tools/research/')
    else:
        coupon_rules = get_coupon_rules(request.user)
        coupon_rule_items = []
        for coupon_rule in coupon_rules:
            coupon_rule_items.append(coupon_rule.to_dict())

        c = RequestContext(
            request, {
                'first_nav_name': MARKET_TOOLS_NAV,
                'second_navs': export.get_second_navs(request),
                'second_nav_name': SECOND_NAV_NAME,
                'coupon_rule_items': json.dumps(coupon_rule_items)
            })
        return render_to_response('research/editor/edit_research.html', c)
Exemple #13
0
def create_weizoom_card_rule(request):
    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
        })
    return render_to_response(
        'weizoom_card/editor/edit_weizoom_card_rule.html', c)
Exemple #14
0
def join_user(request, test_game_id):
    test_game = TestGame.objects.get(id=test_game_id).joined_users
    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
        })
    return render_to_response('test_game/editor/join_user_list.html', c)
Exemple #15
0
def edit_weizoom_card_account_permission(request):
    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME
        })
    return render_to_response(
        'weizoom_card/editor/edit_account_has_permissions.html', c)
Exemple #16
0
def list_delivery_plan(request):
    delivery_plans = DeliveryPlan.objects.filter(owner=request.user, is_deleted=False)
    c = RequestContext(request, {
        'first_nav_name': MARKET_TOOLS_NAV,
        'second_navs': export.get_second_navs(request),
        'second_nav_name': SECOND_NAV_NAME,
        'delivery_plans': delivery_plans,
    })
    return render_to_response('delivery_plan/editor/list_delivery_plan.html', c)
Exemple #17
0
def get_thanks_cards(request):
	webapp_id = request.user_profile.webapp_id
	has_order = (Order.by_webapp_id(webapp_id).filter(type=THANKS_CARD_ORDER).count() > 0)
	c = RequestContext(request, {
		'first_nav_name': MARKET_TOOLS_NAV,
		'second_navs': export.get_second_navs(request),
		'second_nav_name': SECOND_NAV_NAME,
		'has_order': has_order
	})
	return render_to_response('thanks_card/editor/thanks_card_orders.html', c)
Exemple #18
0
def list_adjust_accounts(request):
    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME
        })

    return render_to_response('weizoom_card/editor/list_adjust_accounts.html',
                              c)
Exemple #19
0
def edit_red_envelope_view(request, id):
	if int(id) > 0:
		try:
			red_envelope = RedEnvelope.objects.get(id=id)
		except:
			raise Http404('不存在该微信红包')
		
		relations = RedEnvelopeHasPrize.objects.filter(red_envelope=red_envelope)
		prize_ids = [r.prize_id for r in relations]
		prizes = Prize.objects.filter(id__in=prize_ids)
		id2prize = dict([(p.id, p) for p in prizes])
		red_envelope.prizes = []
		for r in relations:
			prize = id2prize[r.prize_id]
			prize.prize_source = r.prize_source
			prize.prize_type = r.prize_type
			red_envelope.prizes.append(prize)

		red_envelope.prizes.sort(lambda x,y: cmp(x.level, y.level))
		
		#转换为json
		response = JsonResponse()
		response.id = red_envelope.id
		response.name = red_envelope.name
		response.total_award_value = red_envelope.total_award_value
		response.desc = red_envelope.desc
		response.can_repeat = red_envelope.can_repeat
		response.daily_play_count = red_envelope.daily_play_count
		response.prizes = {}
		for prize in red_envelope.prizes:
			prize_json = {}
			prize_json['prize_source'] = prize.prize_source
			prize_json['prize_type'] = prize.prize_type
			prize_json['prize_name'] = prize.name
			prize_json['prize_level'] = prize.level
			prize_json['prize_odds'] = prize.odds
			prize_json['prize_count'] = prize.count
			response.prizes[prize.id] = prize_json
			
		lottery_json = response.get_json()
	else:
		red_envelope = {'can_update': True}
		lottery_json = ''

	coupon_rules = get_coupon_rules(request.user)
	
	c = RequestContext(request, {
		'first_nav_name': MARKET_TOOLS_NAV,
		'second_navs': export.get_second_navs(request),
		'second_nav_name': SECOND_NAV_NAME,
		'red_envelope': red_envelope,
		'lottery_json':lottery_json,
		'coupon_rules':coupon_rules
	})
	return render_to_response('red_envelope/editor/edit_red_envelope.html', c)
Exemple #20
0
def list_research_members(request):
	research_id = request.GET['research_id']
	research = Research.objects.get(id=research_id)
	
	webapp_users = research.joined_users
	webapp_user_ids = [webapp_user.id for webapp_user in webapp_users]
	member_ids = [webapp_user.member_id for webapp_user in webapp_users]
	
	members = Member.objects.filter(id__in=member_ids)
	id2member = dict([(m.id, m) for m in members])
	
	webapp_user2values = {}
	for item_value in ResearchItemValue.objects.filter(research=research, webapp_user_id__in=webapp_user_ids):
		webapp_user2values.setdefault(item_value.webapp_user_id, {})[item_value.item_id] = item_value
		
	items = list(ResearchItem.objects.filter(research=research))

	for webapp_user in webapp_users:
		item_values = []
		for item in items:
			id2value = webapp_user2values[webapp_user.id]
			if not item.id in id2value:
				#存在非必填项
				continue

			value = id2value[item.id]
			user_input_value = value.value

			is_image = False
			if item.type == RESEARCHITEM_TYPE_IMAGE:
				is_image = True

			item_values.append({
				'title': item.title,
				'created_at': item.created_at,
				'is_image': is_image,
				'user_input_value': user_input_value
			})
			
		webapp_user.item_values = item_values
		
		if webapp_user.member_id in id2member:
			webapp_user.member = id2member[webapp_user.member_id]
		else:
			webapp_user.member = None

	c = RequestContext(request, {
			'first_nav_name': MARKET_TOOLS_NAV,
			'second_navs': export.get_second_navs(request),
			'second_nav_name': SECOND_NAV_NAME,
			'research': research,
			'webapp_users': webapp_users
		})
	return render_to_response('research/editor/research_members.html', c)
Exemple #21
0
def list_point_card(request):
    point_card_rules = PointCardRule.get_all_point_card_rules_list(request.user)
    records = PointCard.objects.filter(owner=request.user).order_by('-id')
    c = RequestContext(request, {
        'first_nav_name': MARKET_TOOLS_NAV,
        'second_navs': export.get_second_navs(request),
        'second_nav_name': SECOND_NAV_NAME,
        'point_card_rules': point_card_rules,
        'records': records
    })
    return render_to_response('point_card/editor/list_point_card.html', c)
Exemple #22
0
def list_coupons(request):
    coupon_rules = list(
        CouponRule.objects.filter(owner=request.user,
                                  is_active=True).order_by('-id'))
    #	coupons = list(Coupon.objects.filter(owner=request.user).order_by('-id'))
    #	member_ids = [c.member_id for c in coupons]
    #	members = get_member_by_id_list(member_ids)
    #	member_id2member = dict([(m.id, m) for m in members])
    #	#获取coupon所属的rule的name
    #	id2rule = dict([(rule.id, rule) for rule in CouponRule.objects.filter(owner=request.user)])
    #
    #	#统计是否有active的coupon
    #	has_active_coupon = False
    #	for coupon in coupons:
    #		if coupon.status == COUPON_STATUS_UNUSED:
    #			has_active_coupon = True
    #		member_id = int(coupon.member_id)
    #		if member_id in member_id2member:
    #			coupon.member = member_id2member[member_id]
    #		else:
    #			coupon.member = ''
    #
    #		coupon.rule_name = id2rule[coupon.coupon_rule_id].name
    #
    #	#识别不能被删除的coupon
    #	#used_pool_id_set = set(Coupon.objects.filter(~Q(status=COUPON_STATUS_UNUSED)).values_list('coupon_pool_id', flat=True))
    #	'''
    #	used_rule_id_set = set(Coupon.objects.values_list('coupon_rule_id', flat=True))
    #	for coupon_rule in coupon_rules:
    #		coupon_rule.can_delete = True
    #		if coupon_rule.id in used_rule_id_set:
    #			coupon_rule.can_delete = False
    #	'''

    #获取排行榜时间
    coupon_saller_data = CouponSallerDate.objects.filter(owner=request.user)
    if coupon_saller_data:
        coupon_saller_data = coupon_saller_data[0]
    else:
        coupon_saller_data = None

    c = RequestContext(
        request,
        {
            'first_nav_name': FIRST_NAV_NAME,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            #		'coupons': coupons,
            'coupon_rules': coupon_rules,
            #		'has_active_coupon': has_active_coupon,
            'coupon_saller_data': coupon_saller_data
        })
    return render_to_response('coupon/editor/coupons.html', c)
Exemple #23
0
def weizoom_card_rule_detail(request):
    id = request.GET['id']
    rule = WeizoomCardRule.objects.get(id=id)
    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'weizoom_card_rule': rule
        })
    return render_to_response(
        'weizoom_card/editor/edit_weizoom_card_rule.html', c)
Exemple #24
0
def edit_template_message_detail(request):
    template_detail_id = int(request.GET.get('template_detail_id'))
    message_detail = MarketToolsTemplateMessageDetail.objects.get(
        id=template_detail_id)
    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'message_detail': message_detail
        })
    return render_to_response(
        'template_message/editor/edit_template_message_detail.html', c)
Exemple #25
0
def member_qrcode_settings(request):
    mpuser = get_system_user_binded_mpuser(request.user)

    if (mpuser is
            None) or (not mpuser.is_certified) or (not mpuser.is_service):
        should_show_authorize_cover = True
    else:
        should_show_authorize_cover = False

    coupon_rules = get_coupon_rules(request.user)
    member_qrcode_settings = MemberQrcodeSettings.objects.filter(
        owner=request.user)
    member_qrcode_setting = member_qrcode_settings[
        0] if member_qrcode_settings.count() > 0 else None
    if member_qrcode_setting:
        award_contents = MemberQrcodeAwardContent.objects.filter(
            member_qrcode_settings=member_qrcode_setting)
        if award_contents.count() > 0:
            award_content = award_contents[
                0] if member_qrcode_setting.award_member_type == 1 else None
        else:
            award_content = None
    else:
        award_contents = None
        award_content = None
    member_grades = get_all_grades_list(request)

    if member_grades and award_contents:

        for member_grade in member_grades:
            content = award_contents.filter(
                member_level=member_grade.id)[0] if award_contents.filter(
                    member_level=member_grade.id).count() > 0 else None
            if content:
                member_grade.award_type = content.award_type
                member_grade.award_content = content.award_content

    c = RequestContext(
        request, {
            'first_nav_name': FIRST_NAV_NAME,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'member_qrcode_settings': member_qrcode_setting,
            'coupon_rules': coupon_rules,
            'award_content': award_content,
            'member_grades': member_grades,
            'should_show_authorize_cover': should_show_authorize_cover,
            'is_hide_weixin_option_menu': True
        })
    return render_to_response(
        'member_qrcode/editor/member_qrcode_settings.html', c)
Exemple #26
0
def list_integral(request, user_id):
    user_profile = UserProfile.objects.get(user_id=user_id)

    c = RequestContext(
        request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME,
            'user_profile': user_profile,
            'user_id': user_id
        })

    return render_to_response(
        'weizoom_card/editor/adjust_accounts_integral.html', c)
Exemple #27
0
def list_research_item_value(request):
	item_id = request.GET['item_id']
	
	research_item = ResearchItem.objects.get(id=item_id)
	research_item_values = ResearchItemValue.objects.filter(item_id=item_id).exclude(value='')
	
	c = RequestContext(request, {
			'first_nav_name': MARKET_TOOLS_NAV,
			'second_navs': export.get_second_navs(request),
			'second_nav_name': SECOND_NAV_NAME,
			'research_item': research_item,
			'research_item_values': research_item_values
		})
	return render_to_response('research/editor/research_item_value_list.html', c)
Exemple #28
0
def list_activity_members(request):
	activity_id = request.GET['activity_id']
	activity  = Activity.objects.get(id=activity_id)
	
#	members = activity.joined_members
#	member_ids = [member.id for member in members]
#
#	member2values = {}
#	for item_value in ActivityItemValue.objects.filter(activity=activity, member_id__in=member_ids):
#		member2values.setdefault(item_value.member_id, {})[item_value.item_id] = item_value
#
#	items = list(ActivityItem.objects.filter(activity=activity))
#	if activity.is_sign:
#		activity_user_codes = ActivityUserCode.objects.filter(activity=activity, user_id__in=member_ids)
#		user_id2code = dict([(a.user_id, a.sign_code) for a in activity_user_codes])
#
#	for member in members:
#		item_values = []
#		for item in items:
#			id2value = member2values[member.id]
#			if not item.id in id2value:
#				#存在非必填项
#				continue
#
#			value = id2value[item.id]
#			user_input_value = value.value
#
#			is_image = False
#			if item.type == ACTIVITYITEM_TYPE_IMAGE:
#				is_image = True
#			try:
#				member.sign_code = user_id2code[member.id]
#			except:
#				member.sign_code = ''
#			item_values.append({
#				'title': item.title,
#				'is_image': is_image,
#				'user_input_value': user_input_value
#			})
#
#		member.item_values = item_values

	c = RequestContext(request, {
			'first_nav_name': MARKET_TOOLS_NAV,
			'second_navs': export.get_second_navs(request),
			'second_nav_name': SECOND_NAV_NAME,
			'activity': activity
#			'members': members
		})
	return render_to_response('activity/editor/activity_members.html', c)
Exemple #29
0
def create_point_card_rule(request):
    if request.POST:
        name = request.POST['name']
        prefix = request.POST['prefix']
        point = request.POST['point']
        is_add = PointCardRule.objects.filter(owner=request.user, prefix=prefix)
        if is_add:
            c = RequestContext(request, {
                'first_nav_name': MARKET_TOOLS_NAV,
                'second_navs': export.get_second_navs(request),
                'second_nav_name': SECOND_NAV_NAME,
                'is_add': True
            })
            return render_to_response('point_card/editor/edit_point_card.html', c)
        PointCardRule.objects.create(owner=request.user, name=name, prefix=prefix, point=point)
        return HttpResponseRedirect(('/market_tools/point_card/'))
    else:
        c = RequestContext(request, {
            'first_nav_name': MARKET_TOOLS_NAV,
            'second_navs': export.get_second_navs(request),
            'second_nav_name': SECOND_NAV_NAME
        })
        return render_to_response('point_card/editor/edit_point_card.html', c)
Exemple #30
0
def create_activity(request):
	if request.POST:
		name = request.POST["name"]
		detail =request.POST.get("detail", '')
		guide_url = request.POST.get("guide_url", '')
		is_enable_offline_sign = request.POST.get("is_enable_offline_sign", False)
		is_non_member = request.POST.get("is_non_member", False)
		prize_type = request.POST.get("prize_type", '-1')
		prize_source = request.POST.get("prize_source", '')

		start_date, end_date = __get_start_time_and_end_time(request)
		current_time = datetime.today()
		current_time = current_time.strftime('%Y-%m-%d')
		current_time = datetime.strptime(current_time, '%Y-%m-%d')
		start_date_time = datetime.strptime(start_date, '%Y-%m-%d')

		status = ACTIVITY_STATUS_NO_START
		if start_date_time == current_time:
			status = ACTIVITY_STATUS_RUNING
		
		activity = Activity.objects.create(
			owner=request.user, 
			guide_url=guide_url, 
			name=name, 
			start_date=start_date, 
			end_date=end_date, 
			detail=detail, 
			status=status,
			is_enable_offline_sign=is_enable_offline_sign,
			prize_type=prize_type,
			prize_source=prize_source,
			is_non_member=is_non_member
		)

		__update_activity_items(request, activity.id)
		
		return HttpResponseRedirect('/market_tools/activity/')
	else:
		coupon_rules = get_coupon_rules(request.user)
		coupon_rule_items = []
		for coupon_rule in coupon_rules:
			coupon_rule_items.append(coupon_rule.to_dict())
		c = RequestContext(request, {
			'first_nav_name': MARKET_TOOLS_NAV,
			'second_navs': export.get_second_navs(request),
			'second_nav_name': SECOND_NAV_NAME,
			'activity': {'can_update': True},
			'coupon_rule_items': json.dumps(coupon_rule_items)
		})
		return render_to_response('activity/editor/edit_activity.html', c)