Beispiel #1
0
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)
Beispiel #2
0
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,
        }
    })
Beispiel #3
0
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)
Beispiel #4
0
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))
Beispiel #5
0
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)
Beispiel #6
0
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'})
Beispiel #7
0
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
        }
    })
Beispiel #8
0
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,
        }
    })
Beispiel #9
0
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'
        })
Beispiel #10
0
    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)
Beispiel #11
0
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))
Beispiel #12
0
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)
Beispiel #13
0
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
    }})
Beispiel #14
0
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)
Beispiel #15
0
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)
Beispiel #16
0
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)
Beispiel #17
0
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)