def userAvatarUpload(request, isAndroid=False): try : authed, data = ttagServiceAuth(request) if authed and request.method == 'POST' : aToken = request.COOKIES['access_token'] formdata = {'gender':'','google_map_address':'','pro_description':''} if len(str(request.POST.get('avatar_src',""))) > 0 and len(str(request.POST.get('avatar_name',""))) > 0 and len(str(request.POST.get('avatar_type',""))) > 0 : files = {} from django.core.files.uploadedfile import SimpleUploadedFile import base64 files['avatar_upload'] = SimpleUploadedFile(request.POST['avatar_name'],base64.b64decode(mark_safe(request.POST['avatar_src'])),request.POST['avatar_type']) else : files = request.FILES for key in data : formdata[key] = data[key] upload = UploadFileForm(request.POST, files) statusmsg = "User Avatar update successful!" print request.POST if 'avatar_upload' not in request.POST and 'avatar_src' not in request.POST and len(str(request.POST.get('avatar_url',''))) > 0 : upload = SettingsAvatarForm(request.POST) if upload.is_valid() : avatar_url = upload.clean_AvatarURL() if not upload.is_valid() : statusmsg = ''.join(["User Avatar update failed: ",upload.errors.as_text().replace('\r','').replace('\n','')]) svcResp = {'result':'ERROR','msg':statusmsg} else : from website.settings import MEDIA_URL if 'avatar_delete' in request.POST or 'avatar_upload' in request.POST : avatar_url = '' if 'avatar_upload' in files : avatar_url = ''.join([MEDIA_URL,handleUploadedAvatar(files['avatar_upload'], data['user_name'], aToken)]) if 'avatar_url' in locals() and avatar_url != data['avatar_url'] : svcResp = ttagServiceAvatarChange(aToken,avatar_url) if svcResp.get('result',"OK") == 'OK' : svcResp['data'], data['avatar_url'] = {'filename':avatar_url}, avatar_url else : statusmsg = ''.join(["User Avatar update failed: ",svcResp['msg']]) svcResp['msg'] = statusmsg else : svcResp = {'result':'OK','msg':'Nothing changed'} svcResp = mark_safe(simplejson.dumps(svcResp)) form = SettingsForm(formdata) context = {'request':request,'loggedin':True,'data':data,'form':form,'settings_message':statusmsg, 'location':'Settings', 'svcResp':svcResp} ajax_page = 'user_avataruploaded.html' if not isAndroid else 'android_avataruploaded.html' page = ajax_page if ( request.is_ajax() or isAndroid ) else 'home_settings.html' thereturn = render_to_response(page,context,context_instance=RequestContext(request)) if request.is_ajax() and not isAndroid and 'avatar_url' in locals() and len(str(avatar_url)) > 0 : jsonReturn = simplejson.dumps({'userAvatar':mark_safe('<img data-dj-view="userAvatar" src="'+avatar_url+'" alt="" />'),'userAvatarForm':mark_safe(thereturn.content)}) thereturn = render_to_response('ajax_ttag_create.html',locals(),context_instance=RequestContext(request)) return thereturn else : return loginscreen(request) except : logger=logging.getLogger(__name__) return errorscreen(request,logger, sys)