def carfax(request): if request.method == 'POST': user = request.user if not user.is_authenticated(): data = { 'code': 2, 'msg': u'请先登录', } return json_response(data) form = CreateCarfaxForm(request.POST) if form.is_valid(): carfax = form.save(commit=False) carfax.creator = user ''' 判断当前用户的微信、邮箱是否为空,为空则将carfax所填微信号设置为其微信号 邮箱设置为其邮箱账号 ''' if user.weixin == '': user.weixin = carfax.wechat if user.email == '': user.email = carfax.email user.save() carfax.save() data = { 'code': 0, 'msg': u'成功', } return json_response(data) else: data = {'code': 1, 'msg': ErrorDic2str(form.errors)} return json_response(data) else: context = {} return render(request, 'csinla_posts/CarFax.html', context)
def get_condiciones_familia(request, id, anio): try: familia = Familia.objects.get(id=id) estado = EstadoFamiliaAnio.objects.get(familia=familia, anio=anio) except: return json_response({'success': False}) return json_response({ 'success': True, 'data': { 'cond_precariedad': estado.cond_precariedad, 'cond_precariedad_coment': estado.cond_precariedad_coment, 'cond_vulnerabilidad': estado.cond_vulnerabilidad, 'cond_vulnerabilidad_coment': estado.cond_vulnerabilidad_coment, 'cond_hogar_uni_riesgo': estado.cond_hogar_uni_riesgo, 'cond_hogar_uni_riesgo_coment': estado.cond_hogar_uni_riesgo_coment, 'cond_familia_mono_riesgo': estado.cond_familia_mono_riesgo, 'cond_familia_mono_riesgo_coment': estado.cond_familia_mono_riesgo_coment, 'cond_alcohol_drogas': estado.cond_alcohol_drogas, 'cond_alcohol_drogas_coment': estado.cond_alcohol_drogas_coment, 'cond_discapacidad': estado.cond_discapacidad, 'cond_discapacidad_coment': estado.cond_discapacidad_coment, 'cond_malos_tratos': estado.cond_malos_tratos, 'cond_malos_tratos_coment': estado.cond_malos_tratos_coment, 'cond_socializ_delictual': estado.cond_socializ_delictual, 'cond_socializ_delictual_coment': estado.cond_socializ_delictual_coment, } })
def fichas_por_objetivo_comuna(request, anio, factor_id): user_profile = request.user.get_profile() es_admin = request.user.is_superuser if not es_admin: raise Http404 datos = get_fichas_por_objetivo_comuna(anio, factor_id) return json_response(datos)
def change_password(request): if request.method == 'POST': msg = u'修改密码成功' code = 0 print request.body cds = json.loads(request.body) print cds u = request.user old_pwd = cds.get('old_pwd', '') if u.check_password(old_pwd): pwd = cds.get('new_pwd', '') if len(pwd) < 6 or len(pwd) > 20: msg = u'密码长度应该为6到20位之间' code = 1 if pwd == old_pwd: msg = u'新旧密码不能相同' code = 1 pwd_rep = cds.get('new_pwd_rep', '') if pwd != pwd_rep: msg = u'两次输入的密码不相同' code = 1 else: code = 1 msg = u'原密码错误' if not code: u.set_password(pwd) u.save() return json_response({'code': code, 'msg': msg}) else: return render_to_response('sso/change_password.html', context_instance=RequestContext(request))
def update_aporta(request): success = False if request.method == "POST": persona_id = request.POST.get('persona_id', None) value = request.POST.get('value', 'No') try: persona = Persona.objects.get(id=persona_id) persona.aporta_ingreso = value == u'Sí' persona.save() success = True except: pass if success: return json_response({'success': True, 'msg': 'Saved'}) else: return json_response({'success': False, 'msg': 'Operation not allowed'})
def copiar_datos_anterior(request, id_persona): try: persona = Persona.objects.get(id=id_persona) eva_anterior = EvaluacionFactoresProtectores.objects.get( persona=persona, anio_aplicacion=datetime.now().year - 1, ciclo_cerrado=True) except: return json_response({'success': False}) return json_response({ 'success': True, 'data': { 'presencia_red_de_apoyo': eva_anterior.presencia_red_de_apoyo2, 'relaciones_con_vecindario': eva_anterior.relaciones_con_vecindario2, 'participacion_social': eva_anterior.participacion_social2, 'red_de_servicios_y_beneficios_sociales': eva_anterior.red_de_servicios_y_beneficios_sociales2, 'ocio_y_encuentro_con_pares': eva_anterior.ocio_y_encuentro_con_pares2, 'espacios_formativos_y_de_desarrollo': eva_anterior.espacios_formativos_y_de_desarrollo2, 'relaciones_y_cohesion_familiar': eva_anterior.relaciones_y_cohesion_familiar2, 'adaptabilidad_y_resistencia_familiar': eva_anterior.adaptabilidad_y_resistencia_familiar2, 'competencias_parentales': eva_anterior.competencias_parentales2, 'proteccion_y_salud_integral': eva_anterior.proteccion_y_salud_integral2, 'participacion_protagonica': eva_anterior.participacion_protagonica2, 'recreacion_y_juego_con_pares': eva_anterior.recreacion_y_juego_con_pares2, 'crecimiento_personal': eva_anterior.crecimiento_personal2, 'autonomia': eva_anterior.autonomia2, 'habilidades_y_valores_sociales': eva_anterior.habilidades_y_valores_sociales2 } })
def update_aporta(request): success = False if request.method == "POST": persona_id = request.POST.get('persona_id', None) value = request.POST.get('value', 'No') try: persona = Persona.objects.get(id=persona_id) persona.aporta_ingreso = value == u'Sí' persona.save() success = True except: pass if success: return json_response({'success': True, 'msg': 'Saved'}) else: return json_response({ 'success': False, 'msg': 'Operation not allowed' })
def post(self, request): user = request.user is_phone = request.POST.get('is_phone', '') is_weixin = request.POST.get('is_weixin', '') is_name = request.POST.get('is_name', '') user.is_phone = [False, True][is_phone == 'True'] user.is_weixin = [False, True][is_weixin == 'True'] user.is_name = [False, True][is_name == 'True'] user.save() form = UserChangeForm(request.POST, instance=user) if form.is_valid(): user = form.save(commit=False) flex_base64_data = request.POST.get('image') if flex_base64_data: mediatype, base64_data = flex_base64_data.split(',', 1) start_index = mediatype.index('/') end_index = mediatype.index(';') image_type = mediatype[(start_index + 1):end_index] # 存文件 file_image = base64.b64decode(base64_data) fn = time.strftime('%Y%m%d%H%M%S') fn_ran = fn + '_%d' % random.randint(0, 100) # 重写合成文件名 file_name = ''.join(fn_ran + '.' + image_type) file_image = ContentFile(file_image, file_name) user.avatar = file_image user.save() data = { 'code': 0, 'msg': u'成功', } return json_response(data) else: data = { 'code': 1, 'msg': ErrorDic2str(form.errors), } return json_response(data)
def account_setting(request): if request.method == 'POST': cds = json.loads(request.body) p = request.user.account.personinfo if p: f = AccountSettingForm(cds, instance=p) else: f = AccountSettingForm(cds) if not f.is_valid(): return json_response({'code': 1, "msg": ErrorDic2str(f.errors)}) p = f.save() request.user.account.personinfo = p request.user.account.save() return json_response({"code": 0, "msg": "成功修改个人信息"}) else: person = request.user.account.personinfo POSITIONS = Person.POSITIONS return render_to_response('sso/account_settings.html', { 'person': person, 'POSITIONS': POSITIONS }, context_instance=RequestContext(request))
def user_avatar(request): # 在账户安全修改头像时,修改个人信息 user_center_info_form = UserCenterInfoForm(request.POST, instance=request.user) if user_center_info_form.is_valid(): user_center_info = user_center_info_form.save(commit=True) if 'image' in request.FILES: im = request.FILES.get('image') user = request.user # user.avatar.delete(save=True) user.avatar = im user.save() data = { 'code': 0, 'msg': u'成功', } return json_response(data) data = { 'code': 1, 'msg': u'图片为空', } return json_response(data)
def copiar_datos_anterior(request, id_persona): try: persona = Persona.objects.get(id=id_persona) eva_anterior = EvaluacionFactoresProtectores.objects.get(persona=persona, anio_aplicacion=datetime.now().year - 1, ciclo_cerrado=True) except: return json_response({'success': False}) return json_response({'success': True, 'data': { 'presencia_red_de_apoyo': eva_anterior.presencia_red_de_apoyo2, 'relaciones_con_vecindario': eva_anterior.relaciones_con_vecindario2, 'participacion_social': eva_anterior.participacion_social2, 'red_de_servicios_y_beneficios_sociales': eva_anterior.red_de_servicios_y_beneficios_sociales2, 'ocio_y_encuentro_con_pares': eva_anterior.ocio_y_encuentro_con_pares2, 'espacios_formativos_y_de_desarrollo': eva_anterior.espacios_formativos_y_de_desarrollo2, 'relaciones_y_cohesion_familiar': eva_anterior.relaciones_y_cohesion_familiar2, 'adaptabilidad_y_resistencia_familiar': eva_anterior.adaptabilidad_y_resistencia_familiar2, 'competencias_parentales': eva_anterior.competencias_parentales2, 'proteccion_y_salud_integral': eva_anterior.proteccion_y_salud_integral2, 'participacion_protagonica': eva_anterior.participacion_protagonica2, 'recreacion_y_juego_con_pares': eva_anterior.recreacion_y_juego_con_pares2, 'crecimiento_personal': eva_anterior.crecimiento_personal2, 'autonomia': eva_anterior.autonomia2, 'habilidades_y_valores_sociales': eva_anterior.habilidades_y_valores_sociales2 }})
def json_login(request, redirect_field_name=REDIRECT_FIELD_NAME): redirect_to = request.POST.get(redirect_field_name, request.GET.get(redirect_field_name, '/')) form = TicketAuthenticationForm(request, data=request.POST) if form.is_valid(): #if not is_safe_url(url=redirect_to, host=request.get_host()): #redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL) rotate_token(request) data = { 'code': 0, 'msg': u'成功', 'ticket': form.cleaned_data['ticket'], 'redirect_to': redirect_to, } return json_response(data) # response.set_cookie('ticket', form.cleaned_data['ticket']) # response = HttpResponseRedirect(redirect_to) # return response else: data = { 'code': 1, 'msg': ErrorDic2str(form.errors), } return json_response(data)
def json_logout(request, next_page=None, redirect_field_name=REDIRECT_FIELD_NAME, current_app=None, extra_context=None): user = getattr(request, 'user', None) Ticket.objects.consume_tickets(request.user) if hasattr(request, 'user'): from django.contrib.auth.models import AnonymousUser request.user = AnonymousUser() # if hasattr(user, 'is_authenticated') and not user.is_authenticated(): # user = None data = { 'code': 0, 'msg': msg, 'redirect_to': next_page, } return json_response(data)
def cantidad_fichas(request, anio, tipo): grafico_cobertura = '' if tipo == 'familias': count_familias = get_familias_por_centro() grafico_cobertura = { 'chart': { 'type': 'bar' }, 'title': { 'text': 'Cobertura' }, 'xAxis': { 'categories': [x['centro_familiar__comuna'] for x in count_familias] }, 'yAxis': { 'title': { 'text': 'Cobertura' } }, 'series': [{ 'name': 'Total Familias', 'data': [x['count'] for x in count_familias] }] } elif tipo == 'personas': datos = get_personas_por_centro() grafico_cobertura = { 'chart': { 'type': 'bar' }, 'title': { 'text': 'Personas/Fichas Activas' }, 'xAxis': { 'categories': [x['comuna'] for x in datos] }, 'yAxis': { 'title': { 'text': 'Cobertura' } }, 'series': [{ 'name': 'Total Personas', 'data': [x['count_personas'] for x in datos] }] } elif tipo == 'fichas': fichas_activas = get_conteo_fichas_por_centro(anio) grafico_cobertura = { 'chart': { 'type': 'bar' }, 'title': { 'text': 'Cobertura' }, 'xAxis': { 'categories': [x['comuna'] for x in fichas_activas] }, 'yAxis': { 'title': { 'text': 'Cobertura' } }, 'series': [{ 'name': 'Total Fichas Activas', 'data': [x['count_fichas'] for x in fichas_activas] }] } return json_response(grafico_cobertura)
def cantidad_fichas(request, anio, tipo): grafico_cobertura = '' if tipo == 'familias': count_familias = get_familias_por_centro() grafico_cobertura = { 'chart': { 'type': 'bar' }, 'title': { 'text': 'Cobertura' }, 'xAxis': { 'categories': [x['centro_familiar__comuna'] for x in count_familias] }, 'yAxis': { 'title': { 'text': 'Cobertura' } }, 'series': [ { 'name': 'Total Familias', 'data': [x['count'] for x in count_familias] } ] } elif tipo == 'personas': datos = get_personas_por_centro() grafico_cobertura = { 'chart': { 'type': 'bar' }, 'title': { 'text': 'Personas/Fichas Activas' }, 'xAxis': { 'categories': [x['comuna'] for x in datos] }, 'yAxis': { 'title': { 'text': 'Cobertura' } }, 'series': [ { 'name': 'Total Personas', 'data': [x['count_personas'] for x in datos] } ] } elif tipo == 'fichas': fichas_activas = get_conteo_fichas_por_centro(anio) grafico_cobertura = { 'chart': { 'type': 'bar' }, 'title': { 'text': 'Cobertura' }, 'xAxis': { 'categories': [x['comuna'] for x in fichas_activas] }, 'yAxis': { 'title': { 'text': 'Cobertura' } }, 'series': [ { 'name': 'Total Fichas Activas', 'data': [x['count_fichas'] for x in fichas_activas] } ] } return json_response(grafico_cobertura)