def addinfo(*args, **kwargs): request = args[0] post = request.POST try: userid=int(post['userid']) chnl = post['chnl'] field_str = post['fields'] except: return HttpResponse(json.dumps({'ret':'WRONG_PARAM','msg':'Wrong parameters'})) applies = Apply.objects.filter(user=int(userid), src=chnl) if len(applies) < 1: return HttpResponse(json.dumps({'ret':'USER_NOT_EXIST','msg':'The user does not exist!'})) apply = applies[0] import string fields = string.split(field_str,';') for field in fields: if field in request.POST: val = request.POST[field] setattr(apply, field, val) continue if field in request.FILES: file = request.FILES[field] img_name = cert_type.get(field, 'other_voucher') img_type = LICENSE_TYPE.IMAGE_TYPE.get(img_name) save_image(userid, img_name, file) cert_obj = UpgradeVoucher.objects.create(user_id=userid, cert_type=img_type, name=img_name+'.jpg') cert_obj.save() continue apply.save() return HttpResponse(json.dumps({'ret':'SUCCESS', 'msg':'We has reset the value of the specified field'}))
def set_attributes(user, apply, request, options): post = request.POST files= request.FILES for field,type in options.items(): if field not in post and field not in files: continue if type == 'file': if files.get(field) != None: value = format_filename(files.get(field).name, field)[0] value = get_value(type,value) else: value = get_value(type,post.get(field)) if value==None: continue setattr(apply,field, value) if type == 'file' and files.get(field)!=None: img_name = cert_type.get(field, 'other_voucher') img_type = LICENSE_TYPE.IMAGE_TYPE.get(img_name) save_image(int(user.id), img_name, request.FILES[field]) cert_obj = UpgradeVoucher.objects.create(user_id=user.id, cert_type=img_type, name=img_name+'.jpg') cert_obj.save()
def save_img_to_nfs(self,uid,name,file,type,state=0): if file is not None: imgName = save_image(uid,name,file) qs = UpgradeVoucher.objects.filter(user_id=uid,\ cert_type = type,\ name=imgName) if qs.count() == 0: UpgradeVoucher.objects.create(user_id=uid, cert_type=type, name=imgName) else: qs=UpgradeVoucher.objects.filter(user_id=uid,\ cert_type = type,\ name=name+'.jpg') qs.update(state=state)
def upgrade_save_image(request): """ 保存异步上传文件的action """ if request.method == "POST": result, msg = False, u"" try: for lc_name in request.FILES: lc_type = LICENSE_TYPE.IMAGE_TYPE.get(lc_name.lower(), None) if lc_type is None: raise Exception(u"不支持的凭证类型!") file = request.FILES[lc_name] ext = os.path.splitext(file.name)[1].lower() if ext not in LICENSE_TYPE.SUPPORTED_IMAGE: raise Exception(u"图片类型错误,支持的图片类型%s" % string.join(LICENSE_TYPE.SUPPORTED_IMAGE, sep="|")) imgName = save_image(int(request.user.id), lc_name, file) voucherProxy = UpgradeVoucherProxy() upgradeProxy = UpgradeProxy() voucher = UpgradeVoucher( user_id=request.user.id, cert_type=lc_type, name=imgName, apply_level=upgradeProxy.get_next_level(request.user), ) if voucherProxy.save_voucher(voucher) < 1: raise Exception(u"UpgradeVoucher save error!") else: msg = imgName result = True except Exception, e: _logerror.exception(e) msg = e.message return HttpResponse(json.dumps({"succeed": result, "msg": msg}))