def update_productcategory(request, productcategory_id): if request.POST: product_ids = request.POST.getlist('product_id') ProductCategory.objects.filter(owner=request.user, id=productcategory_id).update( name=request.POST.get('name', '').strip(), pic_url=request.POST.get( 'pic_url', '').strip(), product_count=len(product_ids)) CategoryHasProduct.objects.filter( category_id=productcategory_id).delete() for product_id in product_ids: CategoryHasProduct.objects.create(product_id=product_id, category_id=productcategory_id) return HttpResponseRedirect('/mall/editor/productcategories/') else: productcategory = ProductCategory.objects.get(owner=request.user, id=productcategory_id) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_CATEGORY_NAV, 'productcategory': productcategory, }) return render_to_response('mall/editor/edit_productcategory.html', c)
def add_article(request): if request.POST: article = Article.objects.create( owner=request.user, title=request.POST.get('title', '').strip(), summary=request.POST.get('summary', '').strip(), content=request.POST.get('content', '').strip(), ) first_article = Article.objects.filter( owner=request.user).order_by('-display_index')[0] article.display_index = first_article.display_index + 1 article.save() category_id = int(request.POST.get('category', -1)) if category_id != -1: CategoryHasArticle.objects.create(category_id=category_id, article=article) return HttpResponseRedirect('/cms/editor/articles/') else: categories = Category.objects.filter(owner=request.user) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': ARTICLE_NAV, 'categories': categories }) return render_to_response('cms/editor/edit_article.html', c)
def get(request): c = RequestContext(request, { 'first_nav': FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav': SECOND_NAV }) return render_to_response('mall/malls.html', c)
def update_article(request, article_id): if request.POST: #更新article SpecialArticle.objects.filter( owner=request.user, id=article_id).update( content=request.POST.get('content', '').strip()) return HttpResponseRedirect('/cms/editor/special_articles/') else: article = SpecialArticle.objects.get(owner=request.user, id=article_id) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': ARTICLE_NAV, 'article': article }) if article.name == 'not_from_weixin': return render_to_response( 'cms/editor/special_not_from_mobile_article.html', c) else: return render_to_response( 'cms/editor/special_content_article.html', c)
def get_members(request): """ get_memers: 会员列表 """ mpuser = get_system_user_binded_mpuser(request.user) webapp_id = request.user_profile.webapp_id #处理来自“数据罗盘-会员分析-关注会员链接”过来的查看关注会员的请求 #add by duhao 2015-07-13 status = request.GET.get('status' , '1') member_tags = MemberTag.get_member_tags(webapp_id) #调整排序,将为分组放在最前面 tags = [] for tag in member_tags: if tag.name == '未分组': tags = [tag] + tags else: tags.append(tag) member_tags = tags c = RequestContext(request, { 'first_nav_name': export.MEMBER_FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': export.MEMBERS, 'should_show_authorize_cover' : get_should_show_authorize_cover(request), 'user_tags': member_tags, 'grades': MemberGrade.get_all_grades_list(webapp_id), 'counts': Member.objects.filter(webapp_id=webapp_id,is_for_test=0, status__in= [SUBSCRIBED, CANCEL_SUBSCRIBED]).count(), 'status': status }) return render_to_response('member/editor/members.html', c)
def show_dashboard(request): #add by likunlun 营销工具返回第一个工具 try: navs = get_second_navs(request)[0]['navs'] first_nav = navs[0] first_nav_url = first_nav['url'] return HttpResponseRedirect(first_nav_url) except: c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': get_second_navs(request), 'second_nav_name': 'dashboard', }) return render_to_response('market_tools/dashboard.html', c)
def add_productcategory(request): if request.POST: productcategory = ProductCategory.objects.create( owner=request.user, name=request.POST.get('name', '').strip(), pic_url=request.POST.get('pic_url', '').strip()) productcategory.display_index = 0 - productcategory.id product_ids = request.POST.getlist('product_id') productcategory.product_count = len(product_ids) productcategory.save() for product_id in product_ids: CategoryHasProduct.objects.create(product_id=product_id, category=productcategory) return HttpResponseRedirect('/mall/editor/productcategories/') else: c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_CATEGORY_NAV, }) return render_to_response('mall/editor/edit_productcategory.html', c)
def get(request): member_id = request.GET.get('mid', -1) card_data = [] cards = mall_models.MemberHasCard.objects.filter( member_id=member_id, is_deleted=False).order_by('-id') for card in cards: card_data.append({ 'id': card.id, 'card_number': card.card_number, 'bank_name': card.bank_name }) mall_data = [] malls = mall_models.Mall.objects.filter( owner=request.user, is_deleted=False).order_by('-id') for mall in malls: mall_data.append({'id': mall.id, 'name': mall.name}) c = RequestContext( request, { 'first_nav': FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav': SECOND_NAV, 'malls': mall_data, 'cards': card_data, 'member_id': member_id }) return render_to_response('mall/buy.html', c)
def list_panel(request): c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_SETTINGS_NAV, }) return render_to_response('mall/editor/mall_panel.html', c)
def integral_settings(request): integral_settings = IntegralStrategySttings.objects.filter( webapp_id=request.user.get_profile().webapp_id) if request.method == 'GET': if integral_settings.count() > 0: integral_setting = integral_settings[0] else: integral_setting = None c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_SETTINGS_NAV, 'integral_setting': integral_setting, }) return render_to_response('mall/editor/integral_settings.html', c) else: if integral_settings.count() > 0: integral_settings.update( be_member_increase_count=int( request.POST.get('be_member_increase_count', 0)), integral_each_yuan=int( request.POST.get('integral_each_yuan', 0)), click_shared_url_increase_count_after_buy=int( request.POST.get( 'click_shared_url_increase_count_after_buy', 0)), click_shared_url_increase_count_before_buy=int( request.POST.get( 'click_shared_url_increase_count_before_buy', 0)), buy_via_shared_url_increase_count_for_buyer=int( request.POST.get( 'buy_via_shared_url_increase_count_for_buyer', 0)), buy_via_shared_url_increase_count_for_author=int( request.POST.get( 'buy_via_shared_url_increase_count_for_author', 0)), ) else: integral_setting = IntegralStrategySttings.objects.create( webapp_id=request.user.get_profile().webapp_id, be_member_increase_count=int( request.POST.get('be_member_increase_count', 0)), integral_each_yuan=int( request.POST.get('integral_each_yuan', 0)), click_shared_url_increase_count_after_buy=int( request.POST.get( 'click_shared_url_increase_count_after_buy', 0)), click_shared_url_increase_count_before_buy=int( request.POST.get( 'click_shared_url_increase_count_before_buy', 0)), buy_via_shared_url_increase_count_for_buyer=int( request.POST.get( 'buy_via_shared_url_increase_count_for_buyer', 0)), buy_via_shared_url_increase_count_for_author=int( request.POST.get( 'buy_via_shared_url_increase_count_for_author', 0)), ) return HttpResponseRedirect('/mall/editor/postagesettingses/')
def get(request): mall_id = request.GET.get('mid', '') c = RequestContext( request, { 'first_nav': FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav': SECOND_NAV, 'mall_id': mall_id }) return render_to_response('mall/products.html', c)
def get(request): webapp_id = request.user_profile.webapp_id default_tag_id = MemberTag.get_default_tag(webapp_id).id member_tags = MemberTag.get_member_tags(webapp_id) #调整排序,将为分组放在最前面 tags = [] for tag in member_tags: if tag.name == '未分组': tags = [tag] + tags else: tags.append(tag) member_tags = tags is_can_send = False from weixin.user.models import WeixinMpUser try: mp_user = WeixinMpUser.objects.get( owner_id=request.user_profile.user_id) if mp_user and mp_user.is_certified: is_can_send = True except: pass ids = [ str(tag.id) for tag in MemberTag.objects.filter(webapp_id=webapp_id) ] if ids: ids = '_'.join(ids) else: ids = '' for member_tag in member_tags: member_tag.count = MemberHasTag.get_tag_has_member_count( member_tag) c = RequestContext( request, { 'first_nav_name': export.MEMBER_FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': export.MEMBER_TAG, 'member_tags': member_tags, 'should_show_authorize_cover': get_should_show_authorize_cover(request), 'success_count': UserSentMassMsgLog.success_count(webapp_id), 'is_can_send': is_can_send, 'ids': ids #'pageinfo': json.dumps(paginator.to_dict(pageinfo)) }) return render_to_response('member/editor/member_tags.html', c)
def list_productcategories(request): productcategories = ProductCategory.objects.filter( owner=request.user).order_by('display_index') c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_CATEGORY_NAV, 'productcategories': productcategories, }) return render_to_response('mall/editor/productcategories.html', c)
def list_articles(request): articles = SpecialArticle.objects.filter(owner=request.user) c = RequestContext( request, { 'articles': articles, 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': ARTICLE_NAV }) return render_to_response('cms/editor/special_articles.html', c)
def list_categories(request): categories = Category.objects.filter( owner=request.user).order_by('display_index') c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': CMS_CATEGORY_NAV, 'categories': categories, }) return render_to_response('cms/editor/categories.html', c)
def list_orders(request): webapp_id = request.user_profile.webapp_id orders = Order.objects.filter(webapp_id=webapp_id) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_ORDERS_NAV, 'orders': orders, }) return render_to_response('mall/editor/orders.html', c)
def list_grades(request): webapp_id = request.user_profile.webapp_id MemberGrade.get_default_grade(webapp_id) member_grades = MemberGrade.get_all_grades_list(webapp_id) c = RequestContext(request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': WEAPP_USER_CENTER_OTHER_OPTIONS_NAV_NAME, 'member_grades': member_grades, 'should_show_authorize_cover' : get_should_show_authorize_cover(request) }) return render_to_response('user_center/editor/grades.html', c)
def show_coupon(request, coupon_pool_id): webapp_id = request.user.get_profile().webapp_id coupon_pool = CouponPool.objects.get(id=coupon_pool_id) coupons = Coupon.objects.filter(coupon_pool_id=coupon_pool.id) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_SETTINGS_NAV, 'webapp_id': webapp_id, 'coupon_pool': coupon_pool, 'coupons': coupons }) return render_to_response('mall/editor/editor_coupon.html', c)
def get(request): """ 响应GET """ has_data = app_models.Sign.objects.count() c = RequestContext( request, { 'first_nav_name': FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': "signs", 'has_data': has_data }) return render_to_response('sign/templates/editor/signs.html', c)
def add_tag(request): if request.POST: name = request.POST.get('name','') webapp_id = webapp_id = request.user_profile.webapp_id if name and webapp_id: MemberTag.objects.create(name=name,webapp_id=webapp_id) return HttpResponseRedirect('/webapp/user_center/tags/') else: c = RequestContext(request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': MEMBER_TAGS, #'pageinfo': json.dumps(paginator.to_dict(pageinfo)) }) return render_to_response('user_center/editor/edit_tag.html', c)
def list_memers(request): mpuser = get_system_user_binded_mpuser(request.user) webapp_id = request.user_profile.webapp_id c = RequestContext(request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': WEAPP_USER_CENTER_NAV_NAME, 'should_show_authorize_cover' : get_should_show_authorize_cover(request), 'user_tags': MemberTag.get_member_tags(webapp_id), 'grades': MemberGrade.get_all_grades_list(webapp_id), 'counts': Member.objects.filter(webapp_id=webapp_id,is_for_test=0).count() }) return render_to_response('user_center/editor/user_center.html', c)
def add_product(request): if request.POST: product = Product.objects.create( owner=request.user, name=request.POST.get('name', '').strip(), physical_unit=request.POST.get('physical_unit', ''), price=request.POST.get('price', ''), introduction=request.POST.get('introduction', '').strip(), weight=request.POST.get('weight', '0.0').strip(), thumbnails_url=request.POST.get('thumbnails_url', '').strip(), pic_url=request.POST.get('pic_url', '').strip(), detail=request.POST.get('detail', '').strip(), remark=request.POST.get('remark', ''), putaway_type=int(request.POST.get('putaway_type', 0)), putaway_start_time=request.POST.get('startTime', ''), putaway_end_time=request.POST.get('endTime', ''), stock_type=request.POST.get('stock_type', PRODUCT_STOCK_TYPE_UNLIMIT), stocks=request.POST.get('stocks', '0').strip(), ) product.display_index = product.id product.save() product_category_id = int(request.POST.get('product_category', -1)) if product_category_id != -1: CategoryHasProduct.objects.create(category_id=product_category_id, product=product) ProductCategory.objects.filter(id=product_category_id).update( product_count=F('product_count') + 1) ''' category = ProductCategory.objects.get(id=product_category_id) category.product_count = category.product_count + 1 category.save() ''' return HttpResponseRedirect('/mall/editor/products/') else: categories = ProductCategory.objects.filter(owner=request.user) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_PRODUCT_NAV, 'categories': categories }) return render_to_response('mall/editor/edit_product.html', c)
def get(request): """ 响应GET """ has_data = app_models.SignParticipance.objects( belong_to=request.GET['id']).count() c = RequestContext( request, { 'first_nav_name': FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': "signs", 'has_data': has_data, 'activity_id': request.GET['id'] }) return render_to_response( 'sign/templates/editor/sign_participances.html', c)
def member_qrocde(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 = MemberGrade.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': export.MEMBER_FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': export.MEMBER_QRCODE, 'member_grades': member_grades, '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/editor/member_qrcode.html', c)
def update_category(request, category_id): if request.POST: Category.objects.filter(owner=request.user, id=category_id).update( name=request.POST.get('name', '').strip() #pic_url = request.POST.get('pic_url', '').strip(), ) return HttpResponseRedirect('/cms/editor/categories/') else: category = Category.objects.get(owner=request.user, id=category_id) c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': CMS_CATEGORY_NAV, 'category': category, }) return render_to_response('cms/editor/edit_category.html', c)
def add_category(request): if request.POST: category = Category.objects.create( owner=request.user, name=request.POST.get('name', '').strip() #pic_url = request.POST.get('pic_url', '').strip() ) #category.display_index = 0-category.id #category.save() return HttpResponseRedirect('/cms/editor/categories/') else: c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': CMS_CATEGORY_NAV, }) return render_to_response('cms/editor/edit_category.html', c)
def create_coupon(request): if request.method == 'GET': c = RequestContext( request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': SHOP_SETTINGS_NAV, }) return render_to_response('mall/editor/editor_coupon.html', c) else: today = get_today() expired_date = request.POST.get('expired_time', '') count = int(request.POST.get('sum', 0)) name = request.POST.get('name') money = float(request.POST.get('money', 0)) source = request.POST.get('source', COUPON_SOURCE_WEIXIN) coupon_pool = CouponPool.objects.create(name=name, source=source, sum=count, money=money, expired_time=expired_date, provided_time=today, residue_sum=count, owner=request.user) if COUPON_SOURCE_MAN == source: for index in xrange(count): coupon_id = __create_random_order_coupon_id( source, request.user) coupon = Coupon.objects.create(coupon_id=coupon_id, provided_time=today, expired_time=expired_date, money=money, coupon_pool_id=coupon_pool.id, order_id='', owner=request.user, source=source) return HttpResponseRedirect('/mall/editor/show/%d/' % coupon_pool.id) else: return HttpResponseRedirect('/mall/editor/mall_settings/')
def get(request): webapp_id = request.user_profile.webapp_id member_grades = MemberGrade.get_all_grades_list(webapp_id) for grade in member_grades: grade.shop_discount /= 10.0 is_all_conditions = IntegralStrategySttings.objects.get( webapp_id=webapp_id).is_all_conditions c = RequestContext( request, { 'first_nav_name': export.MEMBER_FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': export.MEMBER_GRADE, 'member_grades': member_grades, 'is_all_conditions': is_all_conditions, }) return render_to_response('member/editor/member_grades.html', c)
def show_member_integral_log(request, member_id): member_logs = MemberIntegralLog.objects.filter(member_id=member_id).order_by('-created_at') for member_log in member_logs: if member_log.member: try: member = Member.objects.get(token=member_log.follower_member_token) except: member = None member_log.follower_member = member c = RequestContext(request, { 'first_nav_name': FIRST_NAV_NAME, 'second_navs': export.get_second_navs(request), 'second_nav_name': WEAPP_USER_CENTER_NAV_NAME, 'member_logs': member_logs, 'member_id': member_id }) return render_to_response('user_center/editor/user_integral_log.html', c)
def list_grades(request): webapp_id = request.user_profile.webapp_id default_grade = MemberGrade.get_default_grade(webapp_id) member_grades = MemberGrade.get_all_grades_list(webapp_id) if request.method == "GET": c = RequestContext(request, { 'first_nav_name': export.MEMBER_FIRST_NAV, 'second_navs': export.get_second_navs(request), 'second_nav_name': export.MEMBER_GRADE, 'member_grades': member_grades, 'shop_discounts': [1]*100, 'should_show_authorize_cover' : get_should_show_authorize_cover(request) }) return render_to_response('member/editor/member_grades.html', c) else: member_grade_ids = [grade.id for grade in member_grades] post_ids = [] for key, value in request.POST.dict().items(): if key.startswith('grade_id_'): post_ids.append(int(key.split('_')[2])) post_ids.sort() for id in post_ids: grade_name = request.POST.get('grade_id_%s' % id , 'get none value') grade_integral_term = request.POST.get('grade_integral_term_%s' % id , 0) grade_money_term = request.POST.get('grade_money_term_%s' % id , 0) grade_paytimes_term = request.POST.get('grade_paytimes_term_%s' % id , 0) shop_discount = request.POST.get('shop_discount_%s' % id , 100) if id == default_grade.id: MemberGrade.objects.filter(id=id).update(shop_discount=shop_discount, name=grade_name) elif id in member_grade_ids: MemberGrade.objects.filter(id=id).update(pay_money=grade_money_term, pay_times=grade_paytimes_term, integral=grade_integral_term, name=grade_name, shop_discount=shop_discount,) else: MemberGrade.objects.create(pay_money=grade_money_term, pay_times=grade_paytimes_term, integral=grade_integral_term, name=grade_name, webapp_id=webapp_id, upgrade_lower_bound=0, shop_discount=shop_discount,) delete_ids = list(set(member_grade_ids).difference(set(post_ids))) MemberGrade.objects.filter(id__in=delete_ids).delete() if delete_ids: from mall.module_api import update_promotion_status_by_member_grade update_promotion_status_by_member_grade(delete_ids) return HttpResponseRedirect('/member/member_grades/get/')