Example #1
0
def show_operator(request):
    try:
        if request.method != 'POST':
            form = PhoneForm(request.GET)
        else:
            form = PhoneForm(request.POST)
        if form.is_valid():
            phone = form.cleaned_data['phone']
            operator = Operator.find(phone)

            if operator:
                response = {
                    'status': 0,
                    'message': 'ok',
                    'phone': phone,
                    'operator': operator.name,
                    'region': operator.region,
                    'mobile': operator.mobile,
                }
            else:
                raise OperatorNotFoundException

        else:
            raise WrongNumberException

    except (OperatorNotFoundException, WrongNumberException), e:
        return response_json({'status': 1, 'message': e.msg})
Example #2
0
def show_operator(request):
    try:
        if request.method != 'POST':
            form = PhoneForm(request.GET)
        else:
            form = PhoneForm(request.POST)
        if form.is_valid():
            phone = form.cleaned_data['phone']

            operator = Operator.find(phone)

            if not operator:
                operator = Operator.find_by_range(phone)

            if operator:
                response = {
                    'status': 0,
                    'message': 'ok',
                    'phone': phone,
                    'operator': operator.name,
                    'region': operator.region,
                    'region_code': operator.region_code,
                    'mobile': operator.mobile,
                    'country': operator.country,
                }
            else:
                raise OperatorNotFoundException

        else:
            raise InvalidNumberException

    except (OperatorNotFoundException, InvalidNumberException), e:
        return response_json({'status': 1, 'message': e.msg, 'code':e.code})
Example #3
0
def join(token):
	form = PhoneForm(request.form)
	if request.method == 'POST' and form.validate_on_submit():
		student = db.students.find_one(
			{ 'token': token, 'status': { '$in': [ 1, 2, 3, 4 ] } },
			{ '_id': 1 },
		)
		if student:
			# Retrieve phone
			phone = request.form['phone'].strip()
			if phone.startswith('0'):
				phone = '+353' + phone[1:]
			if phone.startswith('+'):
				phone = phone[1:] + '@c.us'
			# Create code
			code = ''.join([ str(random.randint(0, 9)) for _ in range(6) ])
			result = db.students.update_one(
				{ 'token': token },
				{
					'$set': { 
						'phone': phone,
						'code': code,
						'status': 2, # Status: "Code Shown"
					}
				}
			)
			if result.matched_count == 1:
				# Show Code
				return redirect(url_for('success', code=code))
		# Student not found or update could not be made
		return redirect(url_for('fail'))
	return render_template('join.html', token=token, form=form)
Example #4
0
def edit_phone(request, phone_id):
    try:
        phone = PhoneNumber.objects.get(pk=phone_id)
        if request.user == phone.user:
            if request.method == 'POST':
                form = PhoneForm(request.POST)
                if form.is_valid() and form.cleaned_data['phone'].isdigit():
                    phone.number = form.cleaned_data['phone']
                    phone.save()
                    request.user.message_set.create(
                        message="Numéro de téléphone modifié.")
                    return HttpResponseRedirect('/users/phone/edit/%d' %
                                                phone.id)
                else:
                    return render_to_response('users/add_phone.html',
                                              {'form': form},
                                              RequestContext(request))
            else:
                data = pre_fill_phone(phone)
                form = PhoneForm(data)
                return render_to_response('users/add_phone.html',
                                          {'form': form},
                                          RequestContext(request))
        else:
            request.user.message_set.create(
                message="Vous ne pouvez pas modifier ce numero de telephone.")
            return HttpResponseRedirect('/users/%d/' % phone.user.id)
    except PhoneNumber.DoesNotExist:
        request.user.message_set.create(
            message="Le numéro de téléphone demandé n'existe pas.")
        return HttpResponseRedirect('/users/%d/' % request.user.id)
Example #5
0
def new_phone(request):
    if request.method == 'POST':
        form =  PhoneForm(request.POST)
        if form.is_valid():
            form.save()
            return HttpResponseRedirect('person/all.html')
    args = {}
    #args.update(csrf(request))
    args['form'] = PhoneForm()
    print args
    return render(request, 'person/phone_form.html', args)
Example #6
0
def add_phone(request):
    if request.method == 'POST':
        form = PhoneForm(request.POST)
        if form.is_valid() and form.cleaned_data['phone'].isdigit():
            phone = PhoneNumber(number=form.cleaned_data['phone'],user=request.user)
            phone.save()
            request.user.message_set.create(message="Numéro de téléphone ajouté.")
            return HttpResponseRedirect('/users/phone/edit/%s'%phone.id)
        else:
            return render_to_response('users/add_phone.html', {'form':form},RequestContext(request))
    else:
        form = PhoneForm()
        return render_to_response('users/add_phone.html', {'form':form},RequestContext(request))
Example #7
0
def add_phone(request):
    if request.method == 'POST':
        form = PhoneForm(request.POST)
        if form.is_valid() and form.cleaned_data['phone'].isdigit():
            phone = PhoneNumber(number=form.cleaned_data['phone'],
                                user=request.user)
            phone.save()
            request.user.message_set.create(
                message="Numéro de téléphone ajouté.")
            return HttpResponseRedirect('/users/phone/edit/%s' % phone.id)
        else:
            return render_to_response('users/add_phone.html', {'form': form},
                                      RequestContext(request))
    else:
        form = PhoneForm()
        return render_to_response('users/add_phone.html', {'form': form},
                                  RequestContext(request))
Example #8
0
def schedule():
	form = PhoneForm()

	context = {
		'form': form,
	}

	if form.validate_on_submit():
		brand = form.brand.data
		model = form.model.data
		problem = form.problem.data
		problem_explanation = form.problem_explanation.data
		email = form.email.data
		set_appointment(brand, model, problem, problem_explanation, email)

		return redirect('/success')

	return render_template('schedule.html', **context)
def phone():
    """
    Save the user's phone number if it has been posted
    and validated. Otherwise, render the form for the user
    to submit their phone number.
    """
    form = PhoneForm()
    if form.validate_on_submit():
        # save a record of the user's Foursquare user id and phone number
        conn = boto.dynamodb.connect_to_region(application.config['AWS_REGION'], 
                                               aws_access_key_id=application.config['AWS_ACCESS'], 
                                               aws_secret_access_key=application.config['AWS_SECRET'])
        phone_nums = conn.get_table('phonenums')
        item_data = {'phone': form.phone.data}
        item = phone_nums.new_item(hash_key=session['foursquare_id'], attrs=item_data)
        item.put()
        return redirect(url_for('done'))
    return render_template('phone.html', form=form, name=session["foursquare_uname"])
Example #10
0
def edit_phone(request, phone_id):
    try:
        phone = PhoneNumber.objects.get(pk=phone_id)
        if request.user == phone.user:
            if request.method == 'POST':
                form = PhoneForm(request.POST)
                if form.is_valid() and form.cleaned_data['phone'].isdigit():
                    phone.number = form.cleaned_data['phone']
                    phone.save()
                    request.user.message_set.create(message="Numéro de téléphone modifié.")
                    return HttpResponseRedirect('/users/phone/edit/%d'% phone.id)
                else:
                    return render_to_response('users/add_phone.html', {'form':form},RequestContext(request))
            else:
                data = pre_fill_phone(phone)
                form = PhoneForm(data)
                return render_to_response('users/add_phone.html', {'form':form},RequestContext(request))
        else:
            request.user.message_set.create(message="Vous ne pouvez pas modifier ce numero de telephone.")
            return HttpResponseRedirect('/users/%d/'% phone.user.id)
    except PhoneNumber.DoesNotExist:
        request.user.message_set.create(message="Le numéro de téléphone demandé n'existe pas.")
        return HttpResponseRedirect('/users/%d/'% request.user.id)
Example #11
0
def send_sms():
    form = PhoneForm()
    if form.validate_on_submit():
        session['phone'] = form.phone.data
        msg_sent, msg_error, error_code, error_uri, error_msg_body = _sendsms(
            session['phone'])
        if msg_error == None:
            with open(dir_path + "/logs/send_sms_log.json", "a+") as f:
                f.write(
                    json.dumps(msg_sent._properties,
                               indent=4,
                               sort_keys=True,
                               default=str))
            session['body'] = msg_sent.body
            session['date_sent'] = msg_sent.date_created
            session['to'] = msg_sent.to
            session['from'] = msg_sent.from_
            session['error_message'] = msg_sent.error_message
        else:
            error_log = {"body": error_msg_body, "date_created": datetime.now().isoformat(' ', 'seconds'),\
                         "date_sent": None, "date_updated": datetime.now().isoformat(' ', 'seconds'),\
                         "direction": "outbound-api", "error_code": error_code, "error_message": msg_error, "from_": app.config['NUMBER'],\
                         "messaging_service_sid": None, "num_media": "0", "num_segments": "1", "price": None, "price_unit": "USD",\
                         "sid": None, "status": "failed", "subresource_uris": None, "to": "+61421123456", "uri": error_uri}
            with open(dir_path + "/logs/send_sms_log.json", "a+") as f:
                f.write(
                    json.dumps(error_log,
                               indent=4,
                               sort_keys=True,
                               default=str))
            session['body'] = error_log["body"]
            session['date_sent'] = error_log["date_created"]
            session['to'] = error_log["to"]
            session['from'] = error_log["from_"]
            session['error_message'] = error_log["error_message"]
        return redirect(url_for('sms_receipt'))
    return render_template('phoneform.html', form=form)