Example #1
0
File: views.py Project: cash2one/zx
def crop_img(request):
    '''
    裁剪图片
    这里使用的是七牛的裁剪接口,具体参见 http://docs.qiniutek.com/v3/api/foimg/#imageMogr
    将剪裁坐标传递给七牛,七牛会返回按此参数剪裁后的图片回来,然后再将此图片作为用户头像上传给七牛
    '''
    from www.account.interface import UserBase

    def _verfiy_int(target, r):
        '''
        验证参数合法性
        target: 要验证的值
        r: 范围
        '''
        if target and target.isdigit():
            if (r[0] <= int(target)) and (int(target) <= r[1]):
                return True
        return False

    x = request.REQUEST.get('x', None)
    y = request.REQUEST.get('y', None)
    w = request.REQUEST.get('w', None)
    h = request.REQUEST.get('h', None)
    result = dict(flag='-1', result=u'参数错误')
    if all((_verfiy_int(x, [0, 300]), _verfiy_int(y, [0, 300]),
            _verfiy_int(w, [25, 300]), _verfiy_int(h, [25, 300]))):
        img_name_original = request.user.avatar.rsplit('/', 1)[1]
        # 剪切不支持缩略图,修改成重新获取一次图片
        flag, img_name_450 = qiniu_client.upload_img(
            urllib.urlopen(request.user.get_avatar_450()))
        if flag:
            # 拼接给七牛的参数
            post_url = '%s/%s?imageMogr2/crop/!%sx%sa%sa%s' % (
                settings.IMG0_DOMAIN, img_name_450, w, h, x, y)

            # 上传图片
            flag, img_name = qiniu_client.upload_img(urllib.urlopen(post_url),
                                                     img_type='newest_avatar')
            if flag:
                url = '%s/%s' % (settings.IMG0_DOMAIN, img_name)
                # 将新的图片地址指向当前用户
                user = request.user
                user.avatar = url
                user.save()

                # 更新缓存
                UserBase().get_user_by_id(user.id, must_update_cache=True)
                result = dict(flag='0', result=u'ok')

                # 删除多余的两张图片节省空间
                qiniu_client.batch_delete([img_name_original, img_name_450])
            else:
                result = dict(flag='-1', result=u'剪裁失败, 请稍后重试')

    return HttpResponse(json.dumps(result), mimetype='application/json')
Example #2
0
def crop_img(request):
    '''
    裁剪图片
    这里使用的是七牛的裁剪接口,具体参见 http://docs.qiniutek.com/v3/api/foimg/#imageMogr
    将剪裁坐标传递给七牛,七牛会返回按此参数剪裁后的图片回来,然后再将此图片作为用户头像上传给七牛
    '''
    from www.account.interface import UserBase

    def _verfiy_int(target, r):
        '''
        验证参数合法性
        target: 要验证的值
        r: 范围
        '''
        if target and target.isdigit():
            if (r[0] <= int(target)) and (int(target) <= r[1]):
                return True
        return False

    x = request.REQUEST.get('x', None)
    y = request.REQUEST.get('y', None)
    w = request.REQUEST.get('w', None)
    h = request.REQUEST.get('h', None)
    result = dict(flag='-1', result=u'参数错误')
    if all((_verfiy_int(x, [0, 300]), _verfiy_int(y, [0, 300]), _verfiy_int(w, [25, 300]), _verfiy_int(h, [25, 300]))):
        img_name_original = request.user.avatar.rsplit('/', 1)[1]
        # 剪切不支持缩略图,修改成重新获取一次图片
        flag, img_name_450 = qiniu_client.upload_img(urllib.urlopen(request.user.get_avatar_450()))
        if flag:
            # 拼接给七牛的参数
            post_url = '%s/%s?imageMogr2/crop/!%sx%sa%sa%s' % (settings.IMG0_DOMAIN, img_name_450, w, h, x, y)

            # 上传图片
            flag, img_name = qiniu_client.upload_img(urllib.urlopen(post_url), img_type='newest_avatar')
            if flag:
                url = '%s/%s' % (settings.IMG0_DOMAIN, img_name)
                # 将新的图片地址指向当前用户
                user = request.user
                user.avatar = url
                user.save()

                # 更新缓存
                UserBase().get_user_by_id(user.id, must_update_cache=True)
                result = dict(flag='0', result=u'ok')

                # 删除多余的两张图片节省空间
                qiniu_client.batch_delete([img_name_original, img_name_450])
            else:
                result = dict(flag='-1', result=u'剪裁失败, 请稍后重试')

    return HttpResponse(json.dumps(result), mimetype='application/json')
Example #3
0
def add_customer_manager(request):
    user_id = request.REQUEST.get('user_id')
    department_id = request.REQUEST.get('belong_department')
    end_date = request.REQUEST.get('end_date')
    vip_info = request.REQUEST.get('vip_info')
    sort_num = request.REQUEST.get('sort')
    qq = request.REQUEST.get('qq')
    entry_time = request.REQUEST.get('entry_time')
    mobile = request.REQUEST.get('mobile')
    real_name = request.REQUEST.get('real_name')
    id_card = request.REQUEST.get('id_card')
    id_cert = request.REQUEST.get('id_cert')
    des = request.REQUEST.get('des')
    pay_type = request.REQUEST.get('pay_type', 0)

    img_name = ''
    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='custom_manager')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = CustomerManagerBase().add_customer_manager(
        user_id, department_id, end_date, vip_info,
        sort_num, img=img_name, qq=qq, entry_time=entry_time, mobile=mobile, 
        real_name=real_name, id_card=id_card, id_cert=id_cert, des=des,
        pay_type=pay_type
    )
    
    if flag == 0:
        url = "/admin/user/customer_manager#modify/" + user_id
    else:
        url = "/admin/user/customer_manager?%s#add/%s" % (msg, user_id)
        
    return HttpResponseRedirect(url)
Example #4
0
def create_activity(request, template_name='activity/create_activity.html'):
    if request.POST:
        activity_title = request.POST.get('activity_title', '').strip()
        activity_content = request.POST.get('activity_content', '').strip()
        start_date = request.POST.get('start_date', '').strip()
        end_date = request.POST.get('end_date', '').strip()
        activity_addr = request.POST.get('activity_addr', '').strip()
        sign_up_end_date = request.POST.get('sign_up_end_date', '').strip()
        assembly_point = request.POST.get('assembly_point', '').strip()

        activity_cover = request.FILES.get('activity_cover')
        img_name = None
        if activity_cover:
            flag, img_name = qiniu_client.upload_img(activity_cover,
                                                     img_type='activity')
            img_name = '%s/%s' % (settings.IMG0_DOMAIN,
                                  img_name) if flag else ""

        errcode, result = ab.create_activity(request.user.id, activity_title,
                                             activity_content, start_date,
                                             end_date, sign_up_end_date,
                                             activity_addr, assembly_point,
                                             img_name)
        if errcode == 0:
            return HttpResponseRedirect(result.get_url())
        else:
            error_msg = result
    return render_to_response(template_name,
                              locals(),
                              context_instance=RequestContext(request))
Example #5
0
def add_company(request):
    name = request.REQUEST.get('name')
    staff_name = request.REQUEST.get('staff_name')
    mobile = request.REQUEST.get('mobile')
    tel = request.REQUEST.get('tel')
    addr = request.REQUEST.get('addr')
    city_id = request.REQUEST.get('city_id')
    person_count = request.REQUEST.get('person_count')
    sort = request.REQUEST.get('sort')
    des = request.REQUEST.get('des')
    invite = request.REQUEST.get('invite_by')
    is_show = request.REQUEST.get('is_show')
    short_name = request.REQUEST.get('short_name')
    sale_date = request.REQUEST.get('sale_date')
    sale_by = request.REQUEST.get('sale_by')
    longitude = request.REQUEST.get('longitude')
    latitude = request.REQUEST.get('latitude')

    img_name = ''
    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='company')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = CompanyBase().add_company(name, staff_name, 
        mobile, tel, addr, city_id, sort, des, person_count, invite, is_show, 
        img_name, short_name, sale_date, sale_by, longitude, latitude)

    if flag == 0:
        url = "/admin/company?#modify/%s" % (msg.id)
    else:
        url = "/admin/company?%s" % (msg)

    return HttpResponseRedirect(url)
Example #6
0
def modify_activity(request, activity_id):
    if request.POST:
        activity_title = request.POST.get('activity_title', '').strip()
        activity_content = request.POST.get('activity_content', '').strip()
        start_date = request.POST.get('start_date', '').strip()
        end_date = request.POST.get('end_date', '').strip()
        activity_addr = request.POST.get('activity_addr', '').strip()
        sign_up_end_date = request.POST.get('sign_up_end_date', '').strip()
        assembly_point = request.POST.get('assembly_point', '').strip()

        activity_cover = request.FILES.get('activity_cover')
        img_name = None
        if activity_cover:
            flag, img_name = qiniu_client.upload_img(activity_cover,
                                                     img_type='activity')
            img_name = '%s/%s' % (settings.IMG0_DOMAIN,
                                  img_name) if flag else ""

        activity = ab.get_activity_by_id(activity_id)
        errcode, result = ab.modify_activity(activity, request.user,
                                             activity_title, activity_content,
                                             start_date, end_date,
                                             sign_up_end_date, activity_addr,
                                             assembly_point, img_name)
        if errcode == 0:
            request.session['success_msg'] = u'修改成功'
        else:
            request.session['error_msg'] = result
        return HttpResponseRedirect(activity.get_url())
Example #7
0
def modify_zhuanti(request):
    zb = ZhuantiBase()

    zhuanti_id = request.REQUEST.get('zhuanti_id')

    obj = zb.get_zhuanti_by_id_or_domain(zhuanti_id)
    img_name = obj.img

    title = request.REQUEST.get('title')
    summary = request.REQUEST.get('summary')
    author = request.REQUEST.get('author')
    domain = request.REQUEST.get('domain')
    sort_num = request.REQUEST.get('sort')

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = ZhuantiBase().modify_zhuanti(
        zhuanti_id, title=title, summary=summary, img=img_name,
        author_name=author, domain=domain, sort_num=sort_num
    )

    if flag == 0:
        url = "/admin/zhuanti?#modify/%s" % (obj.id)
    else:
        url = "/admin/zhuanti?%s#modify/%s" % (msg, obj.id)

    return HttpResponseRedirect(url)
Example #8
0
def add_stock(request):
    name = request.REQUEST.get('name')
    code = request.REQUEST.get('code')
    origin_uid = request.REQUEST.get('origin_uid', '')
    origin_uid = code if origin_uid == '' else origin_uid
    des = request.REQUEST.get('des')
    main_business = request.REQUEST.get('main_business')
    belong_board = request.REQUEST.get('board')
    belong_market = request.REQUEST.get('market')
    sort_num = request.REQUEST.get('sort')
    state = request.REQUEST.get('state', '0')
    state = False if state == '0' else True

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='stock')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = StockBase().create_stock(name, code, belong_board, belong_market, img_name, origin_uid, des, main_business, sort_num, state)

    if flag == 0:
        url = "/admin/stock/stock?#modify/%s" % (msg.id)
    else:
        url = "/admin/stock/stock?%s" % (msg)

    return HttpResponseRedirect(url)
Example #9
0
def modify_record(request):

    record_id = request.POST.get('record_id')
    company_id = request.POST.get('company_id')
    title = request.POST.get('title')
    invoice_amount = request.POST.get('invoice_amount')
    content = request.POST.get('content')
    invoice_date = request.POST.get('invoice_date')
    transporter = request.POST.get('transporter')
    state = request.POST.get('state')
    invoice_type = request.POST.get('invoice_type')
    rate = request.POST.get('rate')

    obj = InvoiceRecordBase().get_record_by_id(record_id)
    img_name = obj.img

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='invoice')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = InvoiceRecordBase().modify_record(
        record_id, company_id, title, invoice_amount, content,
        invoice_date, request.user.id, state, transporter, img_name, invoice_type, rate
    )

    if flag == 0:
        url = "/admin/invoice_record?#modify/%s" % (obj.id)
    else:
        url = "/admin/invoice_record?%s#modify/%s" % (msg, obj.id)

    return HttpResponseRedirect(url)
Example #10
0
def add_product(request):
    name = request.POST.get('name')
    service = request.POST.get('service')
    summary = request.POST.get('summary')
    des = request.POST.get('des')
    price = request.POST.get('price')
    params = request.POST.get('params')
    state = request.POST.get('state')
    sort = request.POST.get('sort')

    cover_name = ''
    cover = request.FILES.get('cover')
    if cover:
        flag, cover_name = qiniu_client.upload_img(cover, img_type='product')
        cover_name = '%s/%s' % (settings.IMG0_DOMAIN, cover_name)
    
    flag, msg = ProductBase().add_product(
        name, service, des, price, cover_name, summary
    )

    if flag == 0:
        url = "/admin/product?#modify/%s" % (msg.id)
    else:
        url = "/admin/product?%s" % (msg)

    return HttpResponseRedirect(url)
Example #11
0
def modify_important(request):
    '''
    修改精选
    '''
    qb = QuestionBase()
    img_alt = request.REQUEST.get('imgAlt', '')
    sort_num = request.REQUEST.get('sort', 0)
    question_id = request.REQUEST.get('questionId')
    question = qb.get_question_by_id(question_id)

    img = request.FILES.get('importantImg')

    iq = qb.get_important_question_by_question_id(question_id)
    img_name = iq.img
    # 如果有上传图片
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='important')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    title = request.REQUEST.get('title')
    summary = request.REQUEST.get('summary')
    author = request.REQUEST.get('author')
    author_id = None

    # 作者
    if author:
        author = UserBase().get_user_by_nick(author)
        if author:
            author_id = author.id

    code, msg = qb.set_important(question, request.user, title, summary, author_id, img_name, img_alt, sort_num)

    url = '/admin/question/important_question#modify/%s' % iq.question.id

    return HttpResponseRedirect(url)
Example #12
0
def modify_product(request):
    obj_id = request.POST.get('obj_id')
    name = request.POST.get('name')
    service = request.POST.get('service')
    summary = request.POST.get('summary')
    des = request.POST.get('des')
    price = request.POST.get('price')
    params = request.POST.get('params')
    state = request.POST.get('state')
    sort = request.POST.get('sort')

    obj = ProductBase().get_product_by_id(obj_id)
    cover_name = obj.cover

    cover = request.FILES.get('cover')
    if cover:
        flag, cover_name = qiniu_client.upload_img(cover, img_type='product')
        cover_name = '%s/%s' % (settings.IMG0_DOMAIN, cover_name)
    
    flag, msg = ProductBase().modify_product(
        obj_id, name, service, cover_name, summary, des, price, params, state, sort
    )
    
    if flag == 0:
        url = "/admin/product?#modify/%s" % (obj.id)
    else:
        url = "/admin/product?%s#modify/%s" % (msg, obj.id)

    return HttpResponseRedirect(url)
Example #13
0
def add_important(request):
    '''
    添加精选
    '''
    img = request.FILES.get('importantImg')
    flag, img_name = qiniu_client.upload_img(img, img_type='important')

    qb = QuestionBase()
    question_id = request.REQUEST.get('questionId')
    question = qb.get_question_by_id(question_id)

    img_alt = request.REQUEST.get('imgAlt', '')
    sort_num = request.REQUEST.get('sort', 0)
    title = request.REQUEST.get('title')
    summary = request.REQUEST.get('summary')
    author = request.REQUEST.get('author')
    author_id = None

    # 作者
    if author:
        author = UserBase().get_user_by_nick(author)
        if author:
            author_id = author.id

    code, msg = qb.set_important(question, request.user, title, summary, author_id, '%s/%s' % (settings.IMG0_DOMAIN, img_name), img_alt, sort_num)

    url = ''
    if code == 0:
        iq = qb.get_important_question_by_question_id(question_id)
        url = '/admin/question/important_question#modify/%s' % iq.question.id
    else:
        url = request.META['HTTP_REFERER']
    return HttpResponseRedirect(url)
Example #14
0
def add_item(request):
    name = request.POST.get('name')
    item_type = request.POST.get('item_type')
    spec = request.POST.get('spec')
    price = request.POST.get('price')
    sort = request.POST.get('sort')
    integer = request.POST.get('integer')
    init_add = request.POST.get('init_add')
    net_weight_rate = request.POST.get('net_weight_rate')
    gross_profit_rate = request.POST.get('gross_profit_rate')
    supplier_id = request.POST.get('supplier_id')
    des = request.POST.get('des')

    img_name = ''
    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='item')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = ItemBase().add_item(
        name, item_type, spec, price, sort, integer, net_weight_rate,
        gross_profit_rate, init_add, supplier_id, des, img_name
    )

    if flag == 0:
        url = "/admin/item?#modify/%s" % (msg.id)
    else:
        url = "/admin/item?%s" % (msg)

    return HttpResponseRedirect(url)
Example #15
0
def modify_company(request):
    company_id = request.REQUEST.get('company_id')
    name = request.REQUEST.get('name')
    staff_name = request.REQUEST.get('staff_name')
    mobile = request.REQUEST.get('mobile')
    tel = request.REQUEST.get('tel')
    addr = request.REQUEST.get('addr')
    city_id = request.REQUEST.get('city_id')
    person_count = request.REQUEST.get('person_count')
    sort = request.REQUEST.get('sort')
    des = request.REQUEST.get('des')
    short_name = request.REQUEST.get('short_name')
    state = request.REQUEST.get('state')

    obj = CompanyBase().get_company_by_id(company_id)
    img_name = obj.logo

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='company')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = CompanyBase().modify_company(
        company_id, name, staff_name, mobile, tel, addr, 
        city_id, sort, des, state, person_count, img_name, short_name
    )

    if flag == 0:
        url = "/admin/company?#modify/%s" % (obj.id)
    else:
        url = "/admin/company?%s#modify/%s" % (msg, obj.id)

    return HttpResponseRedirect(url)
Example #16
0
def modify_topic(request):
    topic_id = request.REQUEST.get('topic_id')
    name = request.REQUEST.get('name')
    domain = request.REQUEST.get('domain')
    des = request.REQUEST.get('des')
    state = request.REQUEST.get('state')
    sort = request.REQUEST.get('sort')
    parent_topic_id = request.REQUEST.get('parent_id')

    tb = TopicBase()
    obj = tb.get_topic_by_id_or_domain(topic_id, False)
    img_name = obj.img

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    code, msg = tb.modify_topic(topic_id, name, domain, des, img_name, state, parent_topic_id, sort)

    if code == 0:
        url = "/admin/topic?#modify/%s" % (topic_id)
    else:
        url = "/admin/topic?%s#modify/%s" % (msg, topic_id)

    return HttpResponseRedirect(url)
Example #17
0
def update_user_avatar():
    import urllib2
    import logging
    from django.conf import settings

    from www.misc import qiniu_client
    from www.weixin.interface import WexinBase
    from www.account.models import Profile, ExternalToken
    from www.account.interface import UserBase

    for i, user in enumerate(Profile.objects.filter(avatar="")):
        print i
        openid = ExternalToken.objects.get(user_id=user.id, source="weixin").external_user_id

        weixin_user_info = WexinBase().get_user_info(WexinBase().init_app_key(), openid)
        if weixin_user_info:

            weixin_img_url = weixin_user_info.get("headimgurl")
            user_avatar = ''
            if weixin_img_url:
                # 上传图片

                flag, img_name = qiniu_client.upload_img(urllib2.urlopen(weixin_img_url, timeout=20), img_type='weixin_avatar')
                if flag:
                    user_avatar = '%s/%s' % (settings.IMG0_DOMAIN, img_name)
                else:
                    logging.error(u'转换微信图片失败,weixin_img_url is %s' % weixin_img_url)

            user.avatar = user_avatar
            user.save()

            # 更新缓存
            UserBase().get_user_by_id(user.id, must_update_cache=True)

    print 'ok'
Example #18
0
def save_img(request):
    imgFile = request.FILES.get('imgFile')
    flag = False

    try:
        flag, img_name = qiniu_client.upload_img(imgFile, img_type='editor')
    except Exception, e:
        debug.get_debug_detail(e)
Example #19
0
File: views.py Project: cash2one/zx
def save_img(request):
    imgFile = request.FILES.get('imgFile')
    flag = False

    try:
        flag, img_name = qiniu_client.upload_img(imgFile, img_type='editor')
    except Exception, e:
        debug.get_debug_detail(e)
Example #20
0
    def change_profile_from_weixin(self, user, app_key, openid):
        '''
        @note: 通过微信资料修改
        '''
        try:
            import urllib2
            from www.misc import qiniu_client
            from www.weixin.interface import dict_weixin_app, WexinBase

            if user.nick.startswith("weixin_"):
                user_id = user.id
                app_id = dict_weixin_app[app_key]["app_id"]

                weixin_user_info = WexinBase().get_user_info(app_key, openid)
                if weixin_user_info:
                    nick = weixin_user_info["nickname"]
                    gender = weixin_user_info["sex"]
                    errcode, errmsg = self.check_gender(gender)
                    if errcode != 0:
                        return errcode, errmsg

                    weixin_img_url = weixin_user_info.get("headimgurl")
                    user_avatar = ''
                    if weixin_img_url:
                        # 上传图片

                        flag, img_name = qiniu_client.upload_img(
                            urllib2.urlopen(weixin_img_url, timeout=20),
                            img_type='weixin_avatar')
                        if flag:
                            user_avatar = '%s/%s' % (settings.IMG0_DOMAIN,
                                                     img_name)
                        else:
                            logging.error(u'转换微信图片失败,weixin_img_url is %s' %
                                          weixin_img_url)

                    ets = list(
                        ExternalToken.objects.filter(app_id=app_id,
                                                     external_user_id=openid,
                                                     source="weixin"))
                    if ets:
                        et = ets[0]
                        et.nick = nick
                        et.save()

                    nick = self.generate_nick_by_external_nick(nick)
                    user = self.get_user_by_id(user_id)
                    user.nick = nick
                    user.avatar = user_avatar
                    user.gender = int(gender)
                    user.save()

                    # 更新缓存
                    self.get_user_by_id(user.id, must_update_cache=True)
            return 0, user
        except Exception, e:
            debug.get_debug_detail(e)
Example #21
0
def auth_custom_manager(request):
    '''
    @note: 申请验证客户经理
    '''

    # 如果已经提交审核 或者 已经是客户经理了  则直接跳转到用户界面
    if request.method == "GET":
        if cmb.get_customer_manager_by_user_id(request.user.id):
            return HttpResponseRedirect("%s/account/custom_manager" %
                                        settings.MAIN_DOMAIN)

    if request.method == "POST":
        user_id = request.REQUEST.get('user_id')
        #department_id = request.REQUEST.get('belong_department')
        vip_info = request.REQUEST.get('vip_info')
        qq = request.REQUEST.get('qq')
        #entry_time = request.REQUEST.get('entry_time')
        mobile = request.REQUEST.get('mobile')
        real_name = request.REQUEST.get('real_name')
        #id_card = request.REQUEST.get('id_card')
        id_cert = request.REQUEST.get('id_cert')
        des = request.REQUEST.get('des')
        pay_type = request.REQUEST.get('pay_type', 0)

        img_name = ''
        img = request.FILES.get('img')
        if img:
            flag, img_name = qiniu_client.upload_img(img,
                                                     img_type='custom_manager')
            img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

        flag, msg = cmb.add_customer_manager(user_id,
                                             '1990',
                                             '2015-12-31',
                                             vip_info,
                                             0,
                                             img=img_name,
                                             qq=qq,
                                             mobile=mobile,
                                             id_cert=id_cert,
                                             real_name=real_name,
                                             des=des,
                                             pay_type=pay_type,
                                             state=False)

        if flag == 0:
            return HttpResponseRedirect("%s/account/custom_manager" %
                                        settings.MAIN_DOMAIN)
        else:
            error_msg = msg

    return render_to_response("kaihu/auth_custom_manager.html",
                              locals(),
                              context_instance=RequestContext(request))
Example #22
0
    def change_profile_from_weixin(self, user, app_key, openid):
        '''
        @note: 通过微信资料修改
        '''
        try:
            import urllib2
            from www.misc import qiniu_client
            from www.weixin.interface import dict_weixin_app, WexinBase

            if user.nick.startswith("weixin_"):
                user_id = user.id
                app_id = dict_weixin_app[app_key]["app_id"]

                weixin_user_info = WexinBase().get_user_info(app_key, openid)
                if weixin_user_info:
                    nick = weixin_user_info["nickname"]
                    gender = weixin_user_info["sex"]
                    errcode, errmsg = self.check_gender(gender)
                    if errcode != 0:
                        return errcode, errmsg

                    weixin_img_url = weixin_user_info.get("headimgurl")
                    user_avatar = ''
                    if weixin_img_url:
                        # 上传图片

                        flag, img_name = qiniu_client.upload_img(urllib2.urlopen(weixin_img_url, timeout=20), img_type='weixin_avatar')
                        if flag:
                            user_avatar = '%s/%s' % (settings.IMG0_DOMAIN, img_name)
                        else:
                            logging.error(u'转换微信图片失败,weixin_img_url is %s' % weixin_img_url)

                    ets = list(ExternalToken.objects.filter(app_id=app_id, external_user_id=openid, source="weixin"))
                    if ets:
                        et = ets[0]
                        et.nick = nick
                        et.save()

                    nick = self.generate_nick_by_external_nick(nick)
                    user = self.get_user_by_id(user_id)
                    user.nick = nick
                    user.avatar = user_avatar
                    user.gender = int(gender)
                    user.save()

                    # 更新缓存
                    self.get_user_by_id(user.id, must_update_cache=True)
            return 0, user
        except Exception, e:
            debug.get_debug_detail(e)
Example #23
0
def add_ad(request):
    qq = request.REQUEST.get('qq')
    expire_time = request.REQUEST.get('expire_time')
    city_id = request.REQUEST.get('belong_city')

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='kaihu_ad')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = AdBase().add_ad(city_id, qq, expire_time, img_name)

    if flag == 0:
        url = "/admin/kaihu/ad?#modify/%s" % (msg.id)
    else:
        url = "/admin/kaihu/ad?%s" % (msg)

    return HttpResponseRedirect(url)
Example #24
0
def modify_service(request):
    obj_id = request.POST.get('obj_id')
    name = request.POST.get('name')
    kind = request.POST.get('kind')
    city = request.POST.get('city')
    summary = request.POST.get('summary')
    des = request.POST.get('des')
    imgs = request.POST.get('imgs')
    service_area = request.POST.get('service_area')
    tel = request.POST.get('tel')
    addr = request.POST.get('addr')
    longitude = request.POST.get('longitude')
    latitude = request.POST.get('latitude')
    join_time = request.POST.get('join_time')
    recommend_user_id = request.POST.get('recommend_user_id')
    recommend_des = request.POST.get('recommend_des')
    zan_count = request.POST.get('zan_count')
    order_count = request.POST.get('order_count')
    level = request.POST.get('level')
    is_show = request.POST.get('is_show')
    state = request.POST.get('state')
    sort = request.POST.get('sort')

    obj = ServiceBase().get_service_by_id(obj_id)
    logo_name = obj.logo

    logo = request.FILES.get('logo')
    if logo:
        flag, logo_name = qiniu_client.upload_img(logo, img_type='service')
        logo_name = '%s/%s' % (settings.IMG0_DOMAIN, logo_name)
    
    flag, msg = ServiceBase().modify_service(
        obj_id, name, kind, logo_name, city, summary, des, imgs, service_area,
        tel, addr, longitude, latitude, join_time, recommend_user_id, 
        recommend_des, zan_count, order_count, level, is_show, state, sort
    )
    
    if flag == 0:
        url = "/admin/service?#modify/%s" % (obj.id)
    else:
        url = "/admin/service?%s#modify/%s" % (msg, obj.id)

    return HttpResponseRedirect(url)
Example #25
0
def auth_custom_manager(request):
    '''
    @note: 申请验证客户经理
    '''
    
    # 如果已经提交审核 或者 已经是客户经理了  则直接跳转到用户界面
    if request.method == "GET":
        if cmb.get_customer_manager_by_user_id(request.user.id):
            return HttpResponseRedirect("%s/account/custom_manager" % settings.MAIN_DOMAIN)
    
    if request.method == "POST":
        user_id = request.REQUEST.get('user_id')
        #department_id = request.REQUEST.get('belong_department')
        vip_info = request.REQUEST.get('vip_info')
        qq = request.REQUEST.get('qq')
        #entry_time = request.REQUEST.get('entry_time')
        mobile = request.REQUEST.get('mobile')
        real_name = request.REQUEST.get('real_name')
        #id_card = request.REQUEST.get('id_card')
        id_cert = request.REQUEST.get('id_cert')
        des = request.REQUEST.get('des')
        pay_type = request.REQUEST.get('pay_type', 0)

        img_name = ''
        img = request.FILES.get('img')
        if img:
            flag, img_name = qiniu_client.upload_img(img, img_type='custom_manager')
            img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

        flag, msg = cmb.add_customer_manager(
            user_id, '1990', '2015-12-31', vip_info,
            0, img=img_name, qq=qq, mobile=mobile, id_cert=id_cert,
            real_name=real_name, des=des,
            pay_type=pay_type, state=False
        )
        
        if flag == 0:
            return HttpResponseRedirect("%s/account/custom_manager" % settings.MAIN_DOMAIN)
        else:
            error_msg = msg

    return render_to_response("kaihu/auth_custom_manager.html", locals(), context_instance=RequestContext(request))
Example #26
0
def add_cover(request):

    sort = request.REQUEST.get('sort')
    link = request.REQUEST.get('link')
    des = request.REQUEST.get('des')

    img = request.FILES.get('img')
    img_name = None
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = CoverBase().add_cover(img_name, link, sort, des)

    if flag == 0:
        url = "/admin/home_cover?#modify/%s" % (msg)
    else:
        url = "/admin/home_cover?%s" % (msg)

    return HttpResponseRedirect(url)
Example #27
0
def add_zhuanti(request):
    title = request.REQUEST.get('title')
    summary = request.REQUEST.get('summary')
    author = request.REQUEST.get('author')
    domain = request.REQUEST.get('domain')
    sort_num = request.REQUEST.get('sort')

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = ZhuantiBase().create_zhuanti(title, summary, img_name, domain, author, sort_num)

    if flag == 0:
        url = "/admin/zhuanti?#modify/%s" % (msg.id)
    else:
        url = "/admin/zhuanti?%s" % (msg)

    return HttpResponseRedirect(url)
Example #28
0
def add_cover(request):

    sort = request.REQUEST.get('sort')
    link = request.REQUEST.get('link')
    des = request.REQUEST.get('des')

    img = request.FILES.get('img')
    img_name = None
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = CoverBase().add_cover(img_name, link, sort, des)

    if flag == 0:
        url = "/admin/home_cover?#modify/%s" % (msg)
    else:
        url = "/admin/home_cover?%s" % (msg)

    return HttpResponseRedirect(url)
Example #29
0
File: views.py Project: cash2one/zx
def share_received_like(request):
    '''
    后台生成分享的图片
    '''
    import os
    from django.conf import settings

    result = {'flag': -1, 'result': '操作失败'}

    # 拼装获取指定用户赞的页面url
    url = "%s://%s/message/show_received_like?user_id=%s" % (
        request.META['wsgi.url_scheme'],
        'wwwinside.zhixuan.com',
        # request.META['HTTP_HOST'],
        request.user.id
    )

    # 定义生成临时图片位置
    file_name = '%s/static_local/temp_share/capty_%s.png' % (os.path.dirname(settings.SITE_ROOT), utils.uuid_without_dash())
    temp = None

    try:
        # 调用子程序 生成图片
        #cmd = 'python %s/common/capty.py %s %s' % (os.path.dirname(settings.SITE_ROOT), url, file_name)
        #cmd = 'python %s/common/_webkit2png.py -x 1366 768 -g 1366 0 -o %s %s' % (os.path.dirname(settings.SITE_ROOT), file_name, url)
        cmd = '/opt/python2.7.2/bin/python2.7 %s/common/_webkit2png.py -x 1366 768 -g 1366 0 -o %s %s' % (os.path.dirname(settings.SITE_ROOT), file_name, url)
        flag, msg = utils.exec_command(cmd, 20)
        logging.error(u'cmd is:\n%s\n msg is:%s' % (cmd, msg))
        if not flag:
            result = {'flag': -1, 'result': u'服务器响应超时, 请重试'}
        else:
            # 读取临时文件上传到七牛
            temp = open(file_name, 'rb')
            flag, img_name = qiniu_client.upload_img(temp)
            if flag:
                result = {'flag': 0, 'result': '%s/%s' % (settings.IMG0_DOMAIN, img_name.split('!')[0])}
            else:
                result = {'flag': -1, 'result': u'分享失败, 请重试'}
    except Exception, e:
        logging.error(debug.get_debug_detail(e))
        result = {'flag': -1, 'result': u'分享失败, 请重试'}
Example #30
0
def add_record(request):
    supplier_id = request.POST.get('supplier_id')
    price = request.POST.get('price')
    des = request.POST.get('des')

    img_name = ''
    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='purchase', file_name=None, dst_w=1024, dst_h=768)
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = PurchaseRecordBase().add_record(
        supplier_id, des, price, img_name, request.user.id, utils.get_clientip(request)
    )

    if flag == 0:
        url = "/admin/purchase_record?#modify/%s" % (msg.id)
    else:
        url = "/admin/purchase_record?%s" % (msg)

    return HttpResponseRedirect(url)
Example #31
0
def create_activity(request, template_name='activity/create_activity.html'):
    if request.POST:
        activity_title = request.POST.get('activity_title', '').strip()
        activity_content = request.POST.get('activity_content', '').strip()
        start_date = request.POST.get('start_date', '').strip()
        end_date = request.POST.get('end_date', '').strip()
        activity_addr = request.POST.get('activity_addr', '').strip()
        sign_up_end_date = request.POST.get('sign_up_end_date', '').strip()
        assembly_point = request.POST.get('assembly_point', '').strip()

        activity_cover = request.FILES.get('activity_cover')
        img_name = None
        if activity_cover:
            flag, img_name = qiniu_client.upload_img(activity_cover, img_type='activity')
            img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name) if flag else ""

        errcode, result = ab.create_activity(request.user.id, activity_title, activity_content, start_date, end_date,
                                             sign_up_end_date, activity_addr, assembly_point, img_name)
        if errcode == 0:
            return HttpResponseRedirect(result.get_url())
        else:
            error_msg = result
    return render_to_response(template_name, locals(), context_instance=RequestContext(request))
Example #32
0
def modify_activity(request, activity_id):
    if request.POST:
        activity_title = request.POST.get('activity_title', '').strip()
        activity_content = request.POST.get('activity_content', '').strip()
        start_date = request.POST.get('start_date', '').strip()
        end_date = request.POST.get('end_date', '').strip()
        activity_addr = request.POST.get('activity_addr', '').strip()
        sign_up_end_date = request.POST.get('sign_up_end_date', '').strip()
        assembly_point = request.POST.get('assembly_point', '').strip()

        activity_cover = request.FILES.get('activity_cover')
        img_name = None
        if activity_cover:
            flag, img_name = qiniu_client.upload_img(activity_cover, img_type='activity')
            img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name) if flag else ""

        activity = ab.get_activity_by_id(activity_id)
        errcode, result = ab.modify_activity(activity, request.user, activity_title, activity_content, start_date, end_date,
                                             sign_up_end_date, activity_addr, assembly_point, img_name)
        if errcode == 0:
            request.session['success_msg'] = u'修改成功'
        else:
            request.session['error_msg'] = result
        return HttpResponseRedirect(activity.get_url())
Example #33
0
def modify_stock(request):
    sb = StockBase()

    stock_id = request.REQUEST.get('stock_id')

    obj = sb.get_stock_by_id(stock_id, state=None)
    img_name = obj.img

    name = request.REQUEST.get('name')
    code = request.REQUEST.get('code')
    origin_uid = request.REQUEST.get('origin_uid', '')
    origin_uid = code if origin_uid == '' else origin_uid
    des = request.REQUEST.get('des')
    main_business = request.REQUEST.get('main_business')
    belong_board = request.REQUEST.get('board')
    belong_market = request.REQUEST.get('market')
    sort_num = request.REQUEST.get('sort')
    state = request.REQUEST.get('state', '0')
    state = False if state == '0' else True

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = sb.modify_stock(
        stock_id, name=name, code=code, origin_uid=origin_uid, sort_num=sort_num, img=img_name,
        des=des, belong_board=belong_board, belong_market=belong_market, state=state, main_business=main_business
    )

    if flag == 0:
        url = "/admin/stock/stock?#modify/%s" % (obj.id)
    else:
        url = "/admin/stock/stock?%s#modify/%s" % (msg, obj.id)

    return HttpResponseRedirect(url)
Example #34
0
def add_topic(request):
    name = request.REQUEST.get('name')
    domain = request.REQUEST.get('domain')
    des = request.REQUEST.get('des')
    state = request.REQUEST.get('state')
    sort = request.REQUEST.get('sort')
    parent_topic_id = request.REQUEST.get('parent_id')

    tb = TopicBase()
    img_name = ''

    img = request.FILES.get('img')
    if img:
        flag, img_name = qiniu_client.upload_img(img, img_type='topic')
        img_name = '%s/%s' % (settings.IMG0_DOMAIN, img_name)

    flag, msg = tb.create_topic(name, domain, parent_topic_id, img_name, des)

    if flag == 0:
        url = "/admin/topic?#modify/%s" % (msg)
    else:
        url = "/admin/topic?%s" % (msg)

    return HttpResponseRedirect(url)