Example #1
0
 def view(request, *args, **kwargs):
     return HttpResponse()
Example #2
0
def view_regist(request):
    if request.method == 'POST':
        if not request.POST['verify_code'] or not request.session.get('verify_code', []) or request.POST['verify_code'] not in request.session.get('verify_code',[]):
            return HttpResponse(json.dumps({'status':3,'message':['验证码不正确,请重新输入!']}),content_type="application/json")
        elif not request.session.get('username','') or request.session.get('username','') != request.POST['username']:
            return HttpResponse(json.dumps({'status': 4, 'message': ['手机号与验证码不匹配,请重新输入!']}),content_type="application/json")
        request.session.clear()
        form = registerForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data['username']
            password = form.cleaned_data['password']
            type = form.cleaned_data['type']
            user_list = user.objects.filter(username=username)
            if len(user_list) == 1:
                if type == 0:
                    return HttpResponse(json.dumps({'status': 5, 'message': ['该手机号已注册,请直接登陆,或更换手机号注册。']}),content_type="application/json")
                elif type == 1:
                    user_list[0].password = make_password(password)
                    user_list[0].save()
                    return HttpResponse(json.dumps({'status': 0, 'message': ['密码重置成功。']}),content_type="application/json")
                else:
                    return HttpResponse(json.dumps({'status': 7, 'message': ['请求类型异常!']}),content_type="application/json")
            elif len(user_list) > 1:
                return HttpResponse(json.dumps({'status': 6, 'message': ['该账号异常,请联系管理员。']}),content_type="application/json")

            else:
                if type == 1:
                    return HttpResponse(json.dumps({'status': 8, 'message': ['该手机号未注册!。']}),content_type="application/json")
                elif type ==0:
                    while True:
                        api_key = ''.join(random.choice('0123456789') for i in range(8))
                        if len(user.objects.filter(api_key=api_key)) == 0:
                            break
                    while True:
                        api_secret = ''.join(random.choice('0123456789abcdef') for i in range(32))
                        if len(user.objects.filter(api_secret=api_secret)) == 0:
                            break
                    user.objects.create(username=username,
                                                    password=make_password(password),
                                                    login_numbers=0,
                                                    regist_datetime=timezone.now(),
                                                    last_login_datetime=timezone.now(),
                                                    api_key=api_key,
                                                    api_secret = api_secret
                                                    )

                    return HttpResponse(json.dumps({'status': 0, 'message': ['注册成功。']}),content_type="application/json")
                else:
                    return HttpResponse(json.dumps({'status': 7, 'message': ['请求类型异常!']}),content_type="application/json")
        else:
            error_list = re.findall('<li>.*?<ul class="errorlist"><li>(.*?)</li></ul>', str(form.errors))
            return HttpResponse(json.dumps({'status': 2, 'message': error_list}),content_type="application/json")
    else:
        return HttpResponse(json.dumps({'status': 1, 'message': ['method error!']}),content_type="application/json")
Example #3
0
def change_venues_owner_ajax(request):
    venue_ids = request.POST.getlist('venue_ids[]')
    owner_id = request.POST.get('owner_id', None)
    result = venue_service.change_venues_owner(venue_ids, owner_id)
    return HttpResponse(json.dumps({'result': result}),
                        mimetype='application/json')
Example #4
0
def get_logout(request):
    logout(request)

    data = {'msg': 'Success'}
    return HttpResponse(json.dumps(data), content_type='application/json')
Example #5
0
def invalidate(user, request, uid):
    OAuthUser.objects.purge_user(uid)
    return HttpResponse(status=204)
Example #6
0
def get_user_profile(request):
    profile_set = models.AusomeUser.objects.filter(user=request.user)
    data = serializers.serialize('json', profile_set)

    return HttpResponse(data, content_type='application/json')
Example #7
0
def post_join_team(request):
    # validate schema contains league # and team id (digits or the word random) and optionally team password
    try:
        validate(request.POST, schema.join_team)
    except JsonValidationError as error:
        error_msg = error.schema.get('error_msg')
        data = {'msg': error_msg if error_msg != None else error.message}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # check if league exists
    league_id = int(request.POST['league'])
    try:
        league = models.League.objects.get(pk=league_id)
    except models.League.DoesNotExist:
        data = {'msg': 'No league found with that id'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # check if league registration still open
    if league.status != 'open':
        data = {'msg': 'Sorry, this league is not open for registration.'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # check if user is already a member of a team in this league
    ausome_user = models.AusomeUser.objects.get(user=request.user)
    all_team_members = models.TeamMember.objects.filter(user=ausome_user)
    teams = [member.team for member in all_team_members]
    league_ids = [t.league.pk for t in teams]
    if league_id in league_ids:
        data = {
            'msg':
            "You're already on a team in this league! Sorry, but you can only join one team per league."
        }
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # check if team exists in league and team not full if not random or open call then sign up
    if request.POST['team'] != 'random':
        team_id = int(request.POST['team'])
        try:
            team = models.Team.objects.get(league=league, pk=team_id)
        except models.Team.DoesNotExist:
            data = {'msg': 'No team found in this league with that id'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid

        # check if team is full only for teams who paid in full. Team per person doesn't get this.
        if team.payment_plan == 'team whole':
            team_member_count = models.TeamMember.objects.filter(
                team=team).count()
            if team_member_count >= team.player_max:
                data = {'msg': 'Sorry, but this team is full!'}
                invalid = HttpResponse(json.dumps(data),
                                       content_type='application/json')
                invalid.status_code = 400
                return invalid
    else:
        # get random team object
        try:
            team = models.Team.objects.get(league=league, team_type='R')
        except models.Team.DoesNotExist:
            data = {'msg': 'No team found in this league with that id'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid

    # if random user or paying team per person check that current teams plus random signup is less than limit
    if team.team_type == 'R' or team.payment_plan == 'team per person':
        max_players = team.player_max * league.team_max
        paid_team_slots = models.Team.objects.filter(
            team_type='U', payment_plan='team whole').count() * team.player_max
        random_team = team if team.team_type == 'R' else models.Team.objects.filter(
            league=league, team_type='R')[0]
        random_players = models.TeamMember.objects.filter(
            team=random_team).count()
        other_team_slots = 0
        other_teams = models.Team.objects.filter(
            league=league, team_type='U', payment_plan='team per person')
        for ot in other_teams:
            other_team_slots = other_team_slots + ot.teammember_set.count()
        total_players = paid_team_slots + other_team_slots + random_players
        if total_players >= max_players:
            data = {'msg': 'Sorry, but this league is full!'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid

    # add user to random team or open_call team
    if team.team_type == 'R' or team.payment_plan == "team per person":
        new_team_member = models.TeamMember(user=ausome_user, team=team)
    else:
        # add user to password protected team
        password = request.POST.get('team_password')
        if team.team_password == 'NULL':
            data = {'msg': "That's odd. There's no password set."}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid
        elif password == None:
            data = {'msg': 'Please enter a password'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid
        elif password != team.team_password:
            data = {'msg': 'Whoops! Wrong password'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid

        new_team_member = models.TeamMember(user=ausome_user, team=team)

    try:
        new_team_member.save()
    except:
        data = {'msg': 'Unable to join team'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    data = {'msg': "You've successfully joined!"}
    return HttpResponse(json.dumps(data), content_type='application/json')
Example #8
0
def welcome(request):
    return (HttpResponse("Welcome to the playlists app"))
Example #9
0
def listPlaylists(request):
    return (HttpResponse("List Playlists"))
Example #10
0
def addToPlaylist(request):
    return (HttpResponse("Add to playlist"))
Example #11
0
def createPlaylist(request):
    return (HttpResponse("Page to create new playlists"))
Example #12
0
def password_change_request_handler(request):
    """Handle password change requests originating from the account page.

    Uses the Account API to email the user a link to the password reset page.

    Note:
        The next step in the password reset process (confirmation) is currently handled
        by student.views.password_reset_confirm_wrapper, a custom wrapper around Django's
        password reset confirmation view.

    Args:
        request (HttpRequest)

    Returns:
        HttpResponse: 200 if the email was sent successfully
        HttpResponse: 400 if there is no 'email' POST parameter
        HttpResponse: 403 if the client has been rate limited
        HttpResponse: 405 if using an unsupported HTTP method

    Example usage:

        POST /account/password

    """
    user = request.user
    # Prefer logged-in user's email
    email = user.email if user.is_authenticated else request.POST.get('email')
    AUDIT_LOG.info("Password reset initiated for email %s.", email)

    if getattr(request, 'limited', False):
        AUDIT_LOG.warning("Password reset rate limit exceeded for email %s.",
                          email)
        return HttpResponse(_(
            "Your previous request is in progress, please try again in a few moments."
        ),
                            status=403)

    if email:
        try:
            request_password_change(email, request.is_secure())
            user = user if user.is_authenticated else _get_user_from_email(
                email=email)
            destroy_oauth_tokens(user)
        except errors.UserNotFound:
            AUDIT_LOG.info("Invalid password reset attempt")
            # If enabled, send an email saying that a password reset was attempted, but that there is
            # no user associated with the email
            if configuration_helpers.get_value(
                    'ENABLE_PASSWORD_RESET_FAILURE_EMAIL',
                    settings.FEATURES['ENABLE_PASSWORD_RESET_FAILURE_EMAIL']):
                site = get_current_site()
                message_context = get_base_template_context(site)

                message_context.update({
                    'failed': True,
                    'request':
                    request,  # Used by google_analytics_tracking_pixel
                    'email_address': email,
                })

                msg = PasswordReset().personalize(
                    recipient=Recipient(username='', email_address=email),
                    language=settings.LANGUAGE_CODE,
                    user_context=message_context,
                )
                ace.send(msg)
        except errors.UserAPIInternalError as err:
            log.exception(
                u'Error occured during password change for user {email}: {error}'
                .format(email=email, error=err))
            return HttpResponse(_(
                "Some error occured during password change. Please try again"),
                                status=500)

        return HttpResponse(status=200)
    else:
        return HttpResponseBadRequest(_("No email address provided."))
Example #13
0
 def get(self, request):
     return HttpResponse(get_password_reset_form().to_json(),
                         content_type="application/json")  # lint-amnesty, pylint: disable=http-response-with-content-type-json
Example #14
0
def tour(request, route, start, end, distance, filters):
    return HttpResponse('asdfgh')
Example #15
0
def sign_up(request):
    try:
        return render(request, 'html_files/sign_up.html')
    except Exception:
        return HttpResponse('<h1>Email should be unique</h1>')
Example #16
0
def index(request):
    return HttpResponse("<h3>Привет Neobis!</h3>")
Example #17
0
def post_update_profile(request):
    # Does not update password

    # Validate POST contents
    try:
        validate(request.POST, schema.update_account)
    except JsonValidationError as error:
        error_msg = error.schema.get('error_msg')
        data = {'msg': error_msg if error_msg != None else error.message}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    profile_data = {
        'username': request.POST.get('username'),
        'email': request.POST.get('email'),
        'first_name': request.POST.get('first_name'),
        'last_name': request.POST.get('last_name'),
        'dob': request.POST.get('dob'),
        'sex': request.POST.get('sex'),
        'bio': request.POST.get('bio'),
        'picture': request.POST.get('picture'),
        'phone': request.POST.get('phone'),
        'visible_in_directory': request.POST.get('visible_in_directory'),
    }

    if profile_data['username'] != None:
        profile_data['username'] = bleach.clean(profile_data['username'])
        # check for existing username
        if User.objects.filter(username=profile_data['username']).exists():
            data = {'msg': 'Username already exists'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid
    elif profile_data['email'] != None:
        # check for existing email address
        profile_data['email'] = bleach.clean(profile_data['email'])
        if User.objects.filter(email=profile_data['email']).exists():
            data = {
                'msg': 'An account already exists with that e-mail address'
            }
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid
    elif profile_data['dob'] != None:
        # attempt to parse date string
        try:
            profile_data['dob'] = dateparse.parse_date(profile_data['dob'])
        except ValueError as error:
            data = {'msg': error.message}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid

    ausome_user = models.AusomeUser.objects.get(user=request.user)

    for key in profile_data.keys():
        if key == 'username' and profile_data[key] != None:
            ausome_user.user.username = profile_data[key]
        if key == 'email' and profile_data[key] != None:
            ausome_user.user.email = profile_data[key]
            ausome_user.email = profile_data[key]
        elif key == 'first_name' and profile_data[key] != None:
            ausome_user.first_name = bleach.clean(profile_data[key])
        elif key == 'last_name' and profile_data[key] != None:
            ausome_user.last_name = bleach.clean(profile_data[key])
        elif key == 'dob' and profile_data[key] != None:
            ausome_user.dob = profile_data[key]
        elif key == 'sex' and profile_data[key] != None:
            ausome_user.sex = bleach.clean(profile_data[key])
        elif key == 'bio' and profile_data[key] != None:
            ausome_user.bio = bleach.clean(profile_data[key])
        elif key == 'picture' and profile_data[key] != None:
            ausome_user.picture = bleach.clean(profile_data[key])
        elif key == 'phone' and profile_data[key] != None:
            ausome_user.phone = bleach.clean(profile_data[key])
        elif key == 'visible_in_directory' and profile_data[key] != None:
            ausome_user.visible_in_directory = True if profile_data[key].lower(
            ) == 'y' else False

    # attempt to save to database
    try:
        ausome_user.user.save()
        ausome_user.save()
    except:
        data = {'msg': 'Profile update failed!'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    data = {'msg': 'Profile updated!'}
    return HttpResponse(json.dumps(data), content_type='application/json')
Example #18
0
def parseProject(request, projectName):
	print projectName
	return HttpResponse("parse program")
Example #19
0
def get_leagues_by_sport_status(request, sport, status):
    league_set = models.League.objects.filter(sport=sport, status=status)
    data = serializers.serialize('json', league_set)

    return HttpResponse(json.dumps(data), content_type='application/json')
Example #20
0
def index(request):
    return HttpResponse("Hello!")
Example #21
0
def post_create_team(request):
    # validate schema contains league # and team id (digits or the word random) and optionally team password
    try:
        validate(request.POST, schema.create_team)
    except JsonValidationError as error:
        error_msg = error.schema.get('error_msg')
        data = {'msg': error_msg if error_msg != None else error.message}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # check if league exists
    league_id = int(request.POST['league'])
    try:
        league = models.League.objects.get(pk=league_id)
    except models.League.DoesNotExist:
        data = {'msg': 'No league found with that id'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # check if league registration still open
    if league.status != 'open':
        data = {'msg': 'Sorry, this league is not open for registration.'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # ensure user not already on a team in this league
    ausome_user = models.AusomeUser.objects.get(user=request.user)
    all_team_members = models.TeamMember.objects.filter(user=ausome_user)
    teams = [member.team for member in all_team_members]
    league_ids = [t.league.pk for t in teams]
    if league_id in league_ids:
        data = {
            'msg':
            "You're already on a team in this league! Sorry, but you can only join one team per league."
        }
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # ensure below team max for league if paying for whole team
    current_team_count = models.Team.objects.filter(
        league=league, payment_plan='team whole').count()
    if current_team_count >= league.team_max:
        data = {'msg': "Sorry, but this league is full"}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # ensure below player max for league if creating team but paying by individual
    random_team = models.Team.objects.filter(league=league, team_type='R')[0]
    if request.POST['payment_plan'] == 'team per person':
        random_team = models.Team.objects.filter(league=league,
                                                 team_type='R')[0]
        player_max = random_team.player_max
        max_players = player_max * league.team_max
        paid_team_slots = models.Team.objects.filter(
            team_type='U', payment_plan='team whole').count() * player_max
        random_players = random_team.teammember_set.count()
        other_team_slots = 0
        other_teams = models.Team.objects.filter(
            league=league, team_type='U', payment_plan='team per person')
        for ot in other_teams:
            other_team_slots = other_team_slots + ot.teammember_set.count()
        total_players = paid_team_slots + other_team_slots + random_players
        if total_players >= max_players:
            data = {'msg': 'Sorry, but this league is at capacity'}
            invalid = HttpResponse(json.dumps(data),
                                   content_type='application/json')
            invalid.status_code = 400
            return invalid

    # ensure unique team name
    team_name = request.POST['team_name'].lower()
    if models.Team.objects.filter(name=team_name).exists():
        data = {'msg': 'Sorry, but this team name is taken'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # ensure password if team paying in full
    password = request.POST.get('team_password')
    if password == None and request.POST['payment_plan'] == 'team whole':
        data = {'msg': 'Please enter a password'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # create team and add user to team
    new_team = models.Team()
    new_team.name = team_name
    new_team.league = league
    new_team.creator = ausome_user
    # creates mad coupling
    new_team.player_max = random_team.player_max
    new_team.team_type = 'U'
    new_team.payment_plan = request.POST['payment_plan']
    if request.POST['payment_plan'] == 'team whole':
        new_team.team_password = password
    if request.POST['payment_plan'] == 'team per person':
        new_team.open_registration = True

    try:
        new_team.save()
    except:
        data = {'msg': 'Unable to create team'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    new_team_member = models.TeamMember()
    new_team_member.user = ausome_user
    new_team_member.team = new_team
    new_team_member.is_captain = True

    try:
        new_team_member.save()
    except:
        data = {'msg': 'Team created, but unable to add you to it'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    data = {'msg': "You've successfully created a team!"}
    return HttpResponse(json.dumps(data), content_type='application/json')
Example #22
0
def get_access_token(request):
    return HttpResponse(MpesaAccessToken.validated_access_token)
Example #23
0
def post_create_user(request):

    # Validate POST contents
    try:
        validate(request.POST, schema.new_account)
    except JsonValidationError as error:
        error_msg = error.schema.get('error_msg')
        data = {'msg': error_msg if error_msg != None else error.message}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    username = bleach.clean(request.POST.get('username'))
    email = bleach.clean(request.POST.get('email'))

    # check for existing username or email address
    if User.objects.filter(username=username).exists():
        data = {'msg': 'Username already exists'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid
    elif User.objects.filter(email=email).exists():
        data = {'msg': 'An account already exists with that e-mail address'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    password = request.POST.get('password')
    # validate password
    try:
        validate_password(password)
    except DjangoValidationError as error:
        data = {'msg': error.message}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    # create auth user
    user = User.objects.create_user(
        username,
        email,
        password,
    )
    ausome_user = models.AusomeUser(user=user, email=user.email)
    ausome_user.first_name = bleach.clean(request.POST.get('first_name'))
    ausome_user.last_name = bleach.clean(request.POST.get('last_name'))

    # attempt to parse date string
    try:
        ausome_user.dob = dateparse.parse_date(request.POST.get('dob'))
    except ValueError as error:
        data = {'msg': error.message}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    ausome_user.sex = bleach.clean(request.POST.get('sex')).lower()
    ausome_user.phone = bleach.clean(request.POST.get('phone'))
    ausome_user.visible_in_directory = True if request.POST.get(
        'visible_in_directory').lower() == 'y' else False

    # attempt to save to database
    try:
        ausome_user.save()
    except:
        data = {'msg': 'Account creation failed!'}
        invalid = HttpResponse(json.dumps(data),
                               content_type='application/json')
        invalid.status_code = 400
        return invalid

    data = {'msg': 'Account created!'}
    return HttpResponse(json.dumps(data), content_type='application/json')
Example #24
0
def one(request):
    return HttpResponse(info, content_type='text/html')
Example #25
0
def email_git(request):
    return HttpResponse("from email git....")
 def test_no_process_request(self):
     """If something skips our process_request, the process_response hook
     should do nothing."""
     request = HttpRequest()
     response = HttpResponse()
     self.mw.process_response(request, response)
Example #27
0
def view_starry_sky_box_api(request):
    if request.session.get('IS_LOGIN', False) and request.session.get('USRNAME', False):
        if request.method == 'POST':
            username = request.session.get('USRNAME', False)
            user_list = user.objects.filter(username=username)
            if len(user_list) == 1:
                request.session.set_expiry(1800)
                # param_dict = request.POST.pop['sign']
                # param = '&'.join('%s=%s' % (k, param_dict[k]) for k in sorted(param_dict))
                # privkey_object = OpenSSL.crypto.load_publickey(OpenSSL.crypto.FILETYPE_PEM, open('public.pem').read())
                # res = OpenSSL.crypto.verify(privkey_object, base64.b64decode(request.POST['sign']), param, 'sha1')
                # if res:
                # else:
                #     return HttpResponse(json.dumps({'status': 2, 'message': ['sign error!']}),content_type="application/json")
                if request.POST['api_name']:
                    api_name = request.POST['api_name']
                    ssb = starry_sky_box(暂时去掉敏感信息, 暂时去掉敏感信息)
                    if api_name == 'regist_dev':
                        devices_filter = devices.objects.filter(sn_code=str(request.POST['sn']))
                        if len(devices_filter) == 0:
                            res = ssb.add_dev(title='星空宝盒',
                                              auth_info=request.POST['sn'])
                            if res['status'] == 0:
                                if res['data']['errno'] == 0 or res['data']['errno'] == 6:
                                    if res['data']['errno'] == 6:
                                        res = ssb.regist_dev(str(request.POST['sn']))
                                        if res['status'] != 0:
                                            return HttpResponse(json.dumps(res))
                                    devices.objects.create(
                                                            device_type=1,
                                                           device_id=res['data']['data']['device_id'],
                                                           device_name='星空宝盒',
                                                           sn_code=request.POST['sn'],
                                                           key='',
                                                           bind_user=username,
                                                            group=0,
                                                           add_datetime=timezone.now(),
                                                           last_register_datetime=timezone.now(),
                                                           register_count=1,
                                                           )
                                    return HttpResponse(json.dumps({'status': 0, 'message': ['设备首次注册成功。']}),content_type="application/json")
                                else:
                                    return HttpResponse(json.dumps({'status': 11, 'message': ['添加设备未知异常!']}),content_type="application/json")
                            else:
                                return HttpResponse(json.dumps(res))
                        elif len(devices_filter) == 1:
                            devices_filter[0].bind_user=username
                            devices_filter[0].group = 0
                            devices_filter[0].last_register_datetime = timezone.now()
                            devices_filter[0].register_count += 1
                            devices_filter[0].save()
                            return HttpResponse(json.dumps({'status': 0, 'message': ['设备注册成功。']}),content_type="application/json")
                        elif len(devices_filter) > 1:
                            return HttpResponse(json.dumps({'status': 7, 'message': ['该设备异常,请联系技术人员解决。']}),content_type="application/json")

                    elif api_name == 'send_cmd':
                        devices_filter = devices.objects.filter(device_id=str(request.POST['device_id']),bind_user=username)
                        if len(devices_filter) == 0:
                            return HttpResponse(json.dumps({'status': 8, 'message': ['设备信息错误。']}),content_type="application/json")
                        elif len(devices_filter) == 1:
                            btn_num = int(request.POST['btn_num'])
                            if  btn_num == 1:cmd = '[1](0.5)'
                            elif btn_num == 2:cmd = '[1](0.5)'
                            elif btn_num == 3:cmd = '[1](0.5)'
                            elif btn_num == 4: cmd = '[1](0.5)'
                            elif btn_num == 5: cmd = '[1](0.5)'
                            elif btn_num == 6: cmd = '[1](0.5)'
                            elif btn_num == 7: cmd = '[1](0.5)'
                            elif btn_num == 8: cmd = '[1](0.5)'
                            else:
                                return HttpResponse(json.dumps({'status': 9, 'message': ['按键信息错误!。']}),content_type="application/json")
                            res = ssb.send_cmd(request.POST['device_id'],cmd)
                            if res['status'] == 0:
                                if res['data']['errno'] == 0:
                                    return HttpResponse(json.dumps({'status': 0, 'message': ['命令发送成功。']}),content_type="application/json")
                                elif res['data']['errno'] == 10:
                                    return HttpResponse(json.dumps({'status': 10, 'message': ['设备不在线。']}),content_type="application/json")
                                else:
                                    return HttpResponse(json.dumps({'status': 11, 'message': ['设备未知异常!']}),content_type="application/json")
                            else:
                                return HttpResponse(json.dumps(res))
                        elif len(devices_filter) > 1:
                            return HttpResponse(json.dumps({'status': 7, 'message': ['该设备控制异常,请联系技术人员解决。']}),content_type="application/json")
                    elif api_name == 'batch_query_dev_status':
                        dil = json.loads(request.POST['dev_id_list'])
                        res = ssb.batch_query_dev_status(','.join(str(id) for id in dil))
                        if res['status'] == 0:
                            if res['data']['errno'] == 0:
                                return HttpResponse(json.dumps({'status': 0, 'message': ['批量查询设备状态成功。'],'data':res['data']['data']['devices']}),content_type="application/json")
                            elif res['data']['errno'] == 3:
                                return HttpResponse(json.dumps({'status': 12, 'message': ['批量查询设备状态失败!设备ID错误!']}),content_type="application/json")
                            else:
                                return HttpResponse(json.dumps({'status': 11, 'message': ['设备未知异常!']}),content_type="application/json")
                        else:
                            return HttpResponse(json.dumps(res))
                    else:
                        return HttpResponse(json.dumps({'status': 4, 'message': ['api error!']}),content_type="application/json")
                else:
                    return HttpResponse(json.dumps({'status': 3, 'message': ['Parameter error!']}),content_type="application/json")

            elif len(user_list) > 1:
                return HttpResponse(json.dumps({'status': 6, 'message': ['该账号异常,请联系管理员。']}),content_type="application/json")
            else:
                return redirect('/login/')
        else:
            return HttpResponse(json.dumps({'status': 1, 'message': ['method error!']}),content_type="application/json")
    else:
        return redirect('/login/')
Example #28
0
    def post(self, request, *args, **kwargs):
        get_case_id = request.POST.get("case_id")
        community_id = get_site(request)
        try: ## case exists, update values
            caseData = Cases.objects.get(case_id=get_case_id)

            if (caseData.community_id.community_id != community_id):
                return HttpResponse('Forbidden', status=403) 

            ## update community
            caseData.community_id.last_updated = datetime.datetime.today().strftime('%Y-%m-%d')
            caseData.community_id.save()

            ## update victim 
            caseData.victim_id.name = request.POST.get("v_name")
            caseData.victim_id.dob  = request.POST.get("v_dob")
            caseData.victim_id.gender = request.POST.get("v_gender")
            caseData.victim_id.race_ethnicity = request.POST.get("v_race_ethnicity")
            caseData.victim_id.age_at_case_acceptance = request.POST.get("v_age_at_case_acceptance")
            caseData.victim_id.primary_language = request.POST.get("v_primary_language")
            caseData.victim_id.town = request.POST.get("v_town")
            caseData.victim_id.save()

            ## update abuser
            caseData.abuser_id.name = request.POST.get("a_name")
            caseData.abuser_id.dob  = request.POST.get("a_dob")
            caseData.abuser_id.gender = request.POST.get("a_gender")
            caseData.abuser_id.race_ethnicity = request.POST.get("a_race_ethnicity")
            caseData.abuser_id.age_at_case_acceptance = request.POST.get("a_age_at_case_acceptance")
            caseData.abuser_id.primary_language = request.POST.get("a_primary_language")
            caseData.abuser_id.town = request.POST.get("a_town")
            caseData.abuser_id.save()

            ## update outcome
            caseData.outcome_id.connection_to_domestic_violence_services = request.POST.get("connection_to_domestic_violence_services")
            caseData.outcome_id.engagement_in_ongoing_domestic_violence_services = request.POST.get("engagement_in_ongoing_domestic_violence_services")
            caseData.outcome_id.charges_filed_at_or_after_case_acceptance = request.POST.get("charges_filed_at_or_after_case_acceptance")
            caseData.outcome_id.pretrial_hearing_outcome = request.POST.get("pretrial_hearing_outcome")
            caseData.outcome_id.sentencing_outcomes_disposition = request.POST.get("sentencing_outcomes_disposition")
            caseData.outcome_id.sentencing_outcomes_sentence = request.POST.get("sentencing_outcomes_sentence")
            caseData.outcome_id.save()

            ## update risk factors
            caseData.risk_factor_id.violence_increased = request.POST.get("violence_increased")
            caseData.risk_factor_id.attempted_leaving = request.POST.get("attempted_leaving")
            caseData.risk_factor_id.control_activites = request.POST.get("control_activites")
            caseData.risk_factor_id.attempted_murder = request.POST.get("attempted_murder")
            caseData.risk_factor_id.threatened_murder = request.POST.get("threatened_murder")
            caseData.risk_factor_id.weapon_threat = request.POST.get("weapon_threat")
            caseData.risk_factor_id.attempted_choke = request.POST.get("attempted_choke")
            caseData.risk_factor_id.multiple_choked = request.POST.get("multiple_choked")
            caseData.risk_factor_id.killing_capable = request.POST.get("killing_capable")
            caseData.risk_factor_id.owns_gun = request.POST.get("owns_gun")
            caseData.risk_factor_id.suicide_threat_or_attempt = request.POST.get("suicide_threat_or_attempt")
            caseData.risk_factor_id.is_unemployed = request.POST.get("is_unemployed")
            caseData.risk_factor_id.avoided_arrest = request.POST.get("avoided_arrest")
            caseData.risk_factor_id.unrelated_child = request.POST.get("unrelated_child")
            caseData.risk_factor_id.uses_illegal_drugs = request.POST.get("uses_illegal_drugs")
            caseData.risk_factor_id.is_alcoholic = request.POST.get("is_alcoholic")
            caseData.risk_factor_id.forced_sex = request.POST.get("forced_sex")
            caseData.risk_factor_id.constantly_jealous = request.POST.get("constantly_jealous")
            caseData.risk_factor_id.pregnant_abuse = request.POST.get("pregnant_abuse")
            caseData.risk_factor_id.children_threatened = request.POST.get("children_threatened")
            caseData.risk_factor_id.has_spied = request.POST.get("has_spied")
            caseData.risk_factor_id.save()

            ## update case data
            caseData.active_status = request.POST.get("active_status")
            caseData.relationship_type = request.POST.get("relationship_type")
            caseData.relationship_len = request.POST.get("relationship_len")
            caseData.minor_in_home = request.POST.get("minor_in_home")
            caseData.referral_source = request.POST.get("referral_source")
            caseData.date_accepted = request.POST.get("date_accepted")
            caseData.last_updated = datetime.datetime.today().strftime('%Y-%m-%d')
            caseData.save()

        except Cases.DoesNotExist: # case doesn't exist, create a new one
            community = Communities.objects.get(community_id=community_id)
            community.last_updated = datetime.datetime.today().strftime('%Y-%m-%d')
            community.save()
            
            outcomes = Outcomes(
                connection_to_domestic_violence_services = request.POST.get("connection_to_domestic_violence_services"),
                engagement_in_ongoing_domestic_violence_services = request.POST.get("engagement_in_ongoing_domestic_violence_services"),
                charges_filed_at_or_after_case_acceptance = request.POST.get("charges_filed_at_or_after_case_acceptance"),
                pretrial_hearing_outcome = request.POST.get("pretrial_hearing_outcome"),
                sentencing_outcomes_disposition = request.POST.get("sentencing_outcomes_disposition"),
                sentencing_outcomes_sentence = request.POST.get("sentencing_outcomes_sentence"),
            )
            outcomes.save()

            victim = Persons(
                is_victim = True,
                name = request.POST.get("v_name"),
                dob = request.POST.get("v_dob"),
                gender = request.POST.get("v_gender"),
                race_ethnicity = request.POST.get("v_race_ethnicity"),
                age_at_case_acceptance = request.POST.get("v_age_at_case_acceptance"),
                primary_language = request.POST.get("v_primary_language"),
                town = request.POST.get("v_town")
            )
            victim.save()

            abuser = Persons(
                is_victim = False,
                name = request.POST.get("a_name"),
                dob = request.POST.get("a_dob"),
                gender = request.POST.get("a_gender"),
                race_ethnicity = request.POST.get("a_race_ethnicity"),
                age_at_case_acceptance = request.POST.get("a_age_at_case_acceptance"),
                primary_language = request.POST.get("a_primary_language"),
                town = request.POST.get("a_town")
            )
            abuser.save()

            risk_factors = RiskFactors(
                violence_increased = request.POST.get("violence_increased"),
                attempted_leaving = request.POST.get("attempted_leaving"),
                control_activites = request.POST.get("control_activites"),
                attempted_murder = request.POST.get("attempted_murder"),
                threatened_murder = request.POST.get("threatened_murder"),
                weapon_threat = request.POST.get("weapon_threat"),
                attempted_choke = request.POST.get("attempted_choke"),
                multiple_choked = request.POST.get("multiple_choked"),
                killing_capable = request.POST.get("killing_capable"),
                owns_gun = request.POST.get("owns_gun"),
                suicide_threat_or_attempt = request.POST.get("suicide_threat_or_attempt"),
                is_unemployed = request.POST.get("is_unemployed"),
                avoided_arrest = request.POST.get("avoided_arrest"),
                unrelated_child = request.POST.get("unrelated_child"),
                uses_illegal_drugs = request.POST.get("uses_illegal_drugs"),
                is_alcoholic = request.POST.get("is_alcoholic"),
                forced_sex = request.POST.get("forced_sex"),
                constantly_jealous = request.POST.get("constantly_jealous"),
                pregnant_abuse = request.POST.get("pregnant_abuse"),
                children_threatened = request.POST.get("children_threatened"),
                has_spied = request.POST.get("has_spied")
            )
            risk_factors.save()

            caseData = Cases(
                outcome_id = outcomes,
                community_id = community,
                victim_id = victim,
                abuser_id = abuser,
                risk_factor_id = risk_factors,
                active_status = request.POST.get("active_status"),
                relationship_type = request.POST.get("relationship_type"),
                relationship_len = request.POST.get("relationship_len"),
                minor_in_home = request.POST.get("minor_in_home"),
                referral_source = request.POST.get("referral_source"),
                date_accepted = request.POST.get("date_accepted"),
                last_updated = datetime.datetime.today().strftime('%Y-%m-%d'),
            )
            caseData.save()

        return JsonResponse({'case_id' : caseData.case_id})
Example #29
0
def listUser(request):
    #查询用户所有的数据
    result = UserModel.objects.all()
    template = get_template('list.html')
    html = template.render({'content':result})
    return HttpResponse(html)
Example #30
0
 def get(self, request, *args, **kwargs):
     return HttpResponse()