Example #1
0
def profile_page(request, passenger):
    if SESSION_VERIFICATION_KEY in request.session:
        del (request.session[SESSION_VERIFICATION_KEY])

    is_popup = True
    #    form_data = {'country': passenger.country.id}
    form_data = {}

    if passenger.default_station:
        form_data.update({'default_station': passenger.default_station.id})

    if passenger.user.first_name:
        form_data.update({'first_name': passenger.user.first_name})

    if passenger.user.last_name:
        form_data.update({'last_name': passenger.user.last_name})

    if passenger.business:
        name = passenger.business.name
        username = passenger.user.username
        address = passenger.business.address
        form_data.update({'confine_orders': passenger.business.confine_orders})
        form_data.update({'contact_person': passenger.business.contact_person})
        form_data.update({'phone': passenger.phone})
        form_data.update({'email': passenger.user.email})

    form = get_profile_form(passenger, form_data)
    context = locals()
    context.update({'phone': passenger.phone, 'email': passenger.user.email})

    return custom_render_to_response("passenger_profile.html",
                                     context,
                                     context_instance=RequestContext(request))
Example #2
0
def phone_activation(request):
    app_udid = request.GET.get("APP_UDID")
    phone = request.GET.get("phone")

    return custom_render_to_response("phone_activation.html",
                                     locals(),
                                     context_instance=RequestContext(request))
Example #3
0
def track_order(request, order_id):
    order = Order.by_id(order_id)
    use_mock = False
    ride = None
    expiration_date = default_tz_now()
    if order:
        try:
            ride = order.ride or order.pickmeapp_ride
        except (SharedRide.DoesNotExist, PickMeAppRide.DoesNotExist):
            pass
    else:
        error_message = _("This ride is invalid")

    if not ride:
        error_message = _("This ride is invalid")
    else:
        expiration_date = ride.arrive_time + timedelta(minutes=15)
        if expiration_date < default_tz_now():
            error_message = _("This ride has expired")

    if ride.station:
        station_icon_url = ride.station.app_icon_url
        station_phone = ride.station.phone

    if request.GET.get("use_mock"):
        error_message = ""
        station_icon_url = "https://s3.amazonaws.com/stations_icons/ny_icon.png"
        use_mock = True
        expiration_date = default_tz_now() + timedelta(minutes=15)

    expiration_date = to_js_date(expiration_date)  # prepare for JS consumption

    return custom_render_to_response('track_order.html',
                                     locals(),
                                     context_instance=RequestContext(request))
def track_order(request, order_id):
    order = Order.by_id(order_id)
    use_mock = False
    ride = None
    expiration_date = default_tz_now()
    if order:
        try:
            ride = order.ride or order.pickmeapp_ride
        except (SharedRide.DoesNotExist, PickMeAppRide.DoesNotExist):
            pass
    else:
        error_message = _("This ride is invalid")

    if not ride:
        error_message = _("This ride is invalid")
    else:
        expiration_date = ride.arrive_time + timedelta(minutes=15)
        if expiration_date < default_tz_now():
            error_message = _("This ride has expired")

    if ride.station:
        station_icon_url = ride.station.app_icon_url
        station_phone = ride.station.phone

    if request.GET.get("use_mock"):
        error_message = ""
        station_icon_url = "https://s3.amazonaws.com/stations_icons/ny_icon.png"
        use_mock = True
        expiration_date = default_tz_now() + timedelta(minutes=15)

    expiration_date = to_js_date(expiration_date)  # prepare for JS consumption

    return custom_render_to_response("track_order.html", locals(), context_instance=RequestContext(request))
def passenger_home(request):
    if not request.mobile and CURRENT_PASSENGER_KEY in request.session:
        del request.session[CURRENT_PASSENGER_KEY]

    hidden_fields = HIDDEN_FIELDS
    form = OrderForm()
    not_a_user, not_a_passenger = NOT_A_USER, NOT_A_PASSENGER
    waze_token = settings.WAZE_API_TOKEN
    telmap_user = settings.TELMAP_API_USER
    telmap_password = settings.TELMAP_API_PASSWORD
    telmap_languages = "he" if str(get_language_from_request(request)) == "he" else "en"
    country_code = settings.DEFAULT_COUNTRY_CODE
    service_cities = ", ".join(set([s.city.name for s in Station.objects.filter(show_on_list=True)]))
    passenger = Passenger.from_request(request)

    if not passenger and request.GET.get("show_login", False):
        show_login = True

    if passenger and passenger.business:
        PENDING = models.PENDING
        ASSIGNED = models.ASSIGNED
        ACCEPTED = models.ACCEPTED
        ORDER_FAILED = models.FAILED  # groups together FAILED, ERROR and TIMED_OUT
        ORDER_MAX_WAIT_TIME = models.ORDER_MAX_WAIT_TIME
        FAILED_MSG = _(order_tracker.STATUS_MESSAGES[models.FAILED])

        show_tracker = True
        channel_key = get_channel_key(Passenger.from_request(request), request.session.session_key)
        init_token = channel.create_channel(channel_key)
        init_tracker_history = [simplejson.dumps(msg) for msg in order_tracker.get_tracker_history(passenger)]

    return custom_render_to_response("passenger_home.html", locals(), context_instance=RequestContext(request))
def business_registration(request):
    if request.method == "POST":
        form = BusinessRegistrationForm(request.POST)
        if form.is_valid():
            business = form.save()
            log_event(EventType.BUSINESS_REGISTERED, passenger=business.passenger)

            # send a welcoming email to the business
            business.send_welcome_email(form.cleaned_data["password"])
            response = {"business_created": True}

        else:  # form invalid
            errors = [{e: form.errors.get(e)} for e in form.errors.keys()]
            response = {"errors": errors}

        return JSONResponse(response)

    else:  # GET
        interest_id = request.GET.get("from_interest_id", None)
        if interest_id:
            interest = BusinessInterest.objects.get(id=int(interest_id))
            data = {"email": interest.email, "contact_person": interest.contact_person, "phone": interest.phone}

            if interest.from_station:
                data.update({"from_station": interest.from_station.id})
                from_station_name = interest.from_station.name

            form = BusinessRegistrationForm(initial=data)

        else:
            form = BusinessRegistrationForm()

        return custom_render_to_response(
            "business_registration.html", locals(), context_instance=RequestContext(request)
        )
def station_business_page(request, subdomain_name=None):
    if not subdomain_name:
        subdomain_name = get_station_domain(request)
    station = get_object_or_404(models.Station, subdomain_name=subdomain_name)
    passenger = Passenger.from_request(request)

    if not passenger:
        return auth_views.login(request, template_name="business_login.html")
#    only in django 1.3
#        return auth_views.login(request, template_name="business_login.html", extra_context={'station': station})
    elif not passenger.business:
        return HttpResponseForbidden("You are not a business")

    business = passenger.business
    cities = City.objects.filter(country=passenger.country)
    cities = filter(lambda city: is_in_hebrew(city.name), cities)
    cities = sorted(cities, key=lambda city: city.name)

    PENDING = models.PENDING
    ASSIGNED = models.ASSIGNED
    ACCEPTED = models.ACCEPTED
    ORDER_FAILED = models.FAILED # groups together FAILED, ERROR and TIMED_OUT
    ORDER_MAX_WAIT_TIME = models.ORDER_MAX_WAIT_TIME
    FAILED_MSG = _(order_tracker.STATUS_MESSAGES[models.FAILED])

    channel_key = get_channel_key(Passenger.from_request(request), request.session.session_key)
    passenger.cleanup_session_keys()
    passenger.session_keys.append(request.session.session_key)
    passenger.save()

    init_token = channel.create_channel(channel_key)
    init_tracker_history = [simplejson.dumps(msg) for msg in order_tracker.get_tracker_history(passenger)]

    return custom_render_to_response("station_page_business.html", locals(), context_instance=RequestContext(request))
def profile_page(request, passenger):
    if SESSION_VERIFICATION_KEY in request.session:
        del (request.session[SESSION_VERIFICATION_KEY])

    is_popup = True
    #    form_data = {'country': passenger.country.id}
    form_data = {}

    if passenger.default_station:
        form_data.update({"default_station": passenger.default_station.id})

    if passenger.user.first_name:
        form_data.update({"first_name": passenger.user.first_name})

    if passenger.user.last_name:
        form_data.update({"last_name": passenger.user.last_name})

    if passenger.business:
        name = passenger.business.name
        username = passenger.user.username
        address = passenger.business.address
        form_data.update({"confine_orders": passenger.business.confine_orders})
        form_data.update({"contact_person": passenger.business.contact_person})
        form_data.update({"phone": passenger.phone})
        form_data.update({"email": passenger.user.email})

    form = get_profile_form(passenger, form_data)
    context = locals()
    context.update({"phone": passenger.phone, "email": passenger.user.email})

    return custom_render_to_response("passenger_profile.html", context, context_instance=RequestContext(request))
Example #9
0
def landing_page(request):
    if request.mobile:
        return passenger_home(request)

    return custom_render_to_response("landing_page.html",
                                     locals(),
                                     context_instance=RequestContext(request))
Example #10
0
def error_page(request, error_text=None):
    page_specific_class = "error-page"
    
    if not error_text:
        error_text = request.session.get(ERROR_PAGE_TEXT, _("All we know is that there was an error. Please try again whatever you did."))

    return custom_render_to_response("error_page.html", locals(), context_instance=RequestContext(request))
Example #11
0
def view_passenger_orders(request, passenger_id):
    passenger = Passenger.by_id(passenger_id)
    user = passenger.user
    orders = sorted(passenger.orders.filter(type__in=[OrderType.SHARED, OrderType.PRIVATE], debug=False), key=lambda order: order.create_date, reverse=True)
    num_orders = len(orders)
    title = "View sharing order for passenger: %s [%s]" % (user.get_full_name(), user.email)

    return custom_render_to_response("staff_user_orders.html", locals(), context_instance=RequestContext(request))
Example #12
0
def credit_guard_page(request):
    current_lang = translation.get_language()
    translation.activate("en") # make sure we are in english

    page_specific_class = "credit_guard_page"
    response = custom_render_to_response("credit_guard_page.jsp", locals(), context_instance=RequestContext(request))

    translation.activate(current_lang)
    return response
Example #13
0
def bill_order(request, trx_id, passenger):
    billing_trx = BillingTransaction.by_id(trx_id)

    request.session[CURRENT_ORDER_KEY] = None

    page_specific_class = "transaction_page"
    pending = BillingStatus.PENDING
    processing = BillingStatus.PROCESSING
    approved = BillingStatus.APPROVED
    failed = BillingStatus.FAILED

    return custom_render_to_response("transaction_page.html", locals(), context_instance=RequestContext(request))
def verify_passenger(request):
    if request.method == "POST":
        local_phone = request.POST.get('local_phone')
        country = get_object_or_404(Country, code=request.POST.get('country_code', ""))
        verification_code = int(request.POST.get('verification_code', -1))

        response, passenger = validate_passenger_phone(request, local_phone, country, verification_code)
        return response

    else:
        country_code = settings.DEFAULT_COUNTRY_CODE
        return custom_render_to_response("verify_passenger.html", locals(), context_instance=RequestContext(request))
Example #15
0
def view_passenger_orders(request, passenger_id):
    passenger = Passenger.by_id(passenger_id)
    user = passenger.user
    orders = sorted(passenger.orders.filter(
        type__in=[OrderType.SHARED, OrderType.PRIVATE], debug=False),
                    key=lambda order: order.create_date,
                    reverse=True)
    num_orders = len(orders)
    title = "View sharing order for passenger: %s [%s]" % (
        user.get_full_name(), user.email)

    return custom_render_to_response("staff_user_orders.html",
                                     locals(),
                                     context_instance=RequestContext(request))
def stations_tab(request):
    stations_data = []
    for station in Station.objects.filter(show_on_list=True):
        stations_data.append(
            {
                "name": station.name,
                "description": station.description,
                "phones": u"|".join([p.local_phone for p in station.phones.all()]),
                "website": station.website_url,
                "address": u"%s, %s" % (station.address, station.city.name),
                "logo": blob_to_image_tag(station.logo),
                "station_page_url": station.get_station_page_link() if station.subdomain_name else "",
            }
        )

    return custom_render_to_response("stations.html", locals(), context_instance=RequestContext(request))
def registration(request, step="auth"):
    country_code = settings.DEFAULT_COUNTRY_CODE
    page_specific_class = "registration"
    login_controller_url = reverse("mobile_auth_login") if request.mobile else reverse("auth_login")

    BIEvent.log(BIEventType.REGISTRATION_START, request=request)

    login_link = "%s?next=%s" % (login_controller_url, reverse(post_login_redirect))
    form = UserRegistrationForm()

    ga_track_event(request, "registration", "register_now", "after_ordering" if request.session.get(CURRENT_BOOKING_DATA_KEY) else "direct")

    if request.user.is_authenticated() and step == "auth":
        return post_login_redirect(request)

    return custom_render_to_response("passenger_registration.html", locals(), context_instance=RequestContext(request))
def pg_home(request):
    request.mobile = True
    request.session[CURRENT_ORDER_KEY] = None

    page_specific_class = "wb_home"
    hidden_fields = HIDDEN_FIELDS

    order_types = simplejson.dumps({'private': OrderType.PRIVATE,
                                    'shared': OrderType.SHARED})

    country_code = settings.DEFAULT_COUNTRY_CODE

    cities = [{'id': city.id, 'name': city.name} for city in City.objects.filter(name="תל אביב יפו")]
 #    cities = [{'id': city.id, 'name': city.name} for city in City.objects.filter(name__in=["תל אביב יפו", "אריאל"])]

#    return render_to_response('wb_home.html', locals(), context_instance=RequestContext(request))
    return custom_render_to_response('wb_home_phonegap.html', locals(), context_instance=RequestContext(request))
def verify_passenger(request):
    if request.method == "POST":
        local_phone = request.POST.get('local_phone')
        country = get_object_or_404(Country,
                                    code=request.POST.get('country_code', ""))
        verification_code = int(request.POST.get('verification_code', -1))

        response, passenger = validate_passenger_phone(request, local_phone,
                                                       country,
                                                       verification_code)
        return response

    else:
        country_code = settings.DEFAULT_COUNTRY_CODE
        return custom_render_to_response(
            "verify_passenger.html",
            locals(),
            context_instance=RequestContext(request))
def change_credentials(request, passenger):
    user = passenger.user
    if not user: # no user, can't change credentials
        return HttpResponseRedirect(reverse(registration))

    if request.method == "POST":
        form = CredentialsForm(user, data=request.POST)
        if form.is_valid():
            user = form.save()
            user = authenticate(username=user.username, password=form.cleaned_data['new_password1'])
            login(request, user)

            redirect_url = settings.CLOSE_CHILD_BROWSER_URI if request.mobile else reverse('wb_home')
            return HttpResponseRedirect(redirect_url)

    else: # GET
        form = CredentialsForm(user, initial={'email': user.email})

    return custom_render_to_response("change_credentials.html", locals(), context_instance=RequestContext(request))
def passenger_home(request):
    request.session[CURRENT_ORDER_KEY] = None

    page_specific_class = "wb_home"
    hidden_fields = HIDDEN_FIELDS

    sharing_time_factor = SHARING_TIME_FACTOR
    sharing_time_minutes = SHARING_TIME_MINUTES
    sharing_constraint = "minutes"

    order_types = simplejson.dumps({'private': OrderType.PRIVATE,
                                    'shared': OrderType.SHARED})

    country_code = settings.DEFAULT_COUNTRY_CODE
    cities = None
    if not request.mobile:
        cities = get_sharing_cities_data()

    return custom_render_to_response('wb_home.html', locals(), context_instance=RequestContext(request))
def get_passenger_orders_history(request, passenger):
    if passenger.business:
        template_name = "business_orders_history.html"
        columns = BUSINESS_ORDER_HISTORY_COLUMNS
        names = BUSINESS_ORDER_HISTORY_COLUMN_NAMES
        fields = BUSINESS_ORDER_HISTORY_FIELDS
    else:
        is_popup = True
        template_name = "orders_history.html"
        rating_choices = simplejson.dumps([{"val": c[0], "name": c[1]} for c in RATING_CHOICES])
        columns = ORDER_HISTORY_COLUMNS
        names = ORDER_HISTORY_COLUMN_NAMES
        fields = ORDER_HISTORY_FIELDS

    order_history_columns = simplejson.dumps(columns)
    order_history_column_names = simplejson.dumps([unicode(s) for s in names])
    order_history_fields = simplejson.dumps(fields)
    history_data_url = reverse(get_passenger_orders_history_data)
    return custom_render_to_response(template_name, locals(), RequestContext(request))
Example #23
0
def business_registration(request):
    if request.method == 'POST':
        form = BusinessRegistrationForm(request.POST)
        if form.is_valid():
            business = form.save()
            log_event(EventType.BUSINESS_REGISTERED,
                      passenger=business.passenger)

            # send a welcoming email to the business
            business.send_welcome_email(form.cleaned_data["password"])
            response = {"business_created": True}

        else:  # form invalid
            errors = [{e: form.errors.get(e)} for e in form.errors.keys()]
            response = {"errors": errors}

        return JSONResponse(response)

    else:  # GET
        interest_id = request.GET.get('from_interest_id', None)
        if interest_id:
            interest = BusinessInterest.objects.get(id=int(interest_id))
            data = {
                "email": interest.email,
                "contact_person": interest.contact_person,
                "phone": interest.phone
            }

            if interest.from_station:
                data.update({"from_station": interest.from_station.id})
                from_station_name = interest.from_station.name

            form = BusinessRegistrationForm(initial=data)

        else:
            form = BusinessRegistrationForm()

        return custom_render_to_response(
            "business_registration.html",
            locals(),
            context_instance=RequestContext(request))
Example #24
0
def passenger_home(request):
    if not request.mobile and CURRENT_PASSENGER_KEY in request.session:
        del request.session[CURRENT_PASSENGER_KEY]

    hidden_fields = HIDDEN_FIELDS
    form = OrderForm()
    not_a_user, not_a_passenger = NOT_A_USER, NOT_A_PASSENGER
    waze_token = settings.WAZE_API_TOKEN
    telmap_user = settings.TELMAP_API_USER
    telmap_password = settings.TELMAP_API_PASSWORD
    telmap_languages = 'he' if str(
        get_language_from_request(request)) == 'he' else 'en'
    country_code = settings.DEFAULT_COUNTRY_CODE
    service_cities = ", ".join(
        set([s.city.name for s in Station.objects.filter(show_on_list=True)]))
    passenger = Passenger.from_request(request)

    if not passenger and request.GET.get("show_login", False):
        show_login = True

    if passenger and passenger.business:
        PENDING = models.PENDING
        ASSIGNED = models.ASSIGNED
        ACCEPTED = models.ACCEPTED
        ORDER_FAILED = models.FAILED  # groups together FAILED, ERROR and TIMED_OUT
        ORDER_MAX_WAIT_TIME = models.ORDER_MAX_WAIT_TIME
        FAILED_MSG = _(order_tracker.STATUS_MESSAGES[models.FAILED])

        show_tracker = True
        channel_key = get_channel_key(Passenger.from_request(request),
                                      request.session.session_key)
        init_token = channel.create_channel(channel_key)
        init_tracker_history = [
            simplejson.dumps(msg)
            for msg in order_tracker.get_tracker_history(passenger)
        ]

    return custom_render_to_response("passenger_home.html",
                                     locals(),
                                     context_instance=RequestContext(request))
def registration(request, step="auth"):
    country_code = settings.DEFAULT_COUNTRY_CODE
    page_specific_class = "registration"
    login_controller_url = reverse(
        "mobile_auth_login") if request.mobile else reverse("auth_login")

    BIEvent.log(BIEventType.REGISTRATION_START, request=request)

    login_link = "%s?next=%s" % (login_controller_url,
                                 reverse(post_login_redirect))
    form = UserRegistrationForm()

    ga_track_event(
        request, "registration", "register_now", "after_ordering"
        if request.session.get(CURRENT_BOOKING_DATA_KEY) else "direct")

    if request.user.is_authenticated() and step == "auth":
        return post_login_redirect(request)

    return custom_render_to_response("passenger_registration.html",
                                     locals(),
                                     context_instance=RequestContext(request))
def passenger_home(request):
    request.session[CURRENT_ORDER_KEY] = None

    page_specific_class = "wb_home"
    hidden_fields = HIDDEN_FIELDS

    sharing_time_factor = SHARING_TIME_FACTOR
    sharing_time_minutes = SHARING_TIME_MINUTES
    sharing_constraint = "minutes"

    order_types = simplejson.dumps({
        'private': OrderType.PRIVATE,
        'shared': OrderType.SHARED
    })

    country_code = settings.DEFAULT_COUNTRY_CODE
    cities = None
    if not request.mobile:
        cities = get_sharing_cities_data()

    return custom_render_to_response('wb_home.html',
                                     locals(),
                                     context_instance=RequestContext(request))
def change_credentials(request, passenger):
    user = passenger.user
    if not user:  # no user, can't change credentials
        return HttpResponseRedirect(reverse(registration))

    if request.method == "POST":
        form = CredentialsForm(user, data=request.POST)
        if form.is_valid():
            user = form.save()
            user = authenticate(username=user.username,
                                password=form.cleaned_data['new_password1'])
            login(request, user)

            redirect_url = settings.CLOSE_CHILD_BROWSER_URI if request.mobile else reverse(
                'wb_home')
            return HttpResponseRedirect(redirect_url)

    else:  # GET
        form = CredentialsForm(user, initial={'email': user.email})

    return custom_render_to_response("change_credentials.html",
                                     locals(),
                                     context_instance=RequestContext(request))
Example #28
0
def stations_tab(request):
    stations_data = []
    for station in Station.objects.filter(show_on_list=True):
        stations_data.append({
            "name":
            station.name,
            "description":
            station.description,
            "phones":
            u"|".join([p.local_phone for p in station.phones.all()]),
            "website":
            station.website_url,
            "address":
            u"%s, %s" % (station.address, station.city.name),
            "logo":
            blob_to_image_tag(station.logo),
            "station_page_url":
            station.get_station_page_link() if station.subdomain_name else ""
        })

    return custom_render_to_response("stations.html",
                                     locals(),
                                     context_instance=RequestContext(request))
Example #29
0
def get_passenger_orders_history(request, passenger):
    if passenger.business:
        template_name = "business_orders_history.html"
        columns = BUSINESS_ORDER_HISTORY_COLUMNS
        names = BUSINESS_ORDER_HISTORY_COLUMN_NAMES
        fields = BUSINESS_ORDER_HISTORY_FIELDS
    else:
        is_popup = True
        template_name = "orders_history.html"
        rating_choices = simplejson.dumps([{
            "val": c[0],
            "name": c[1]
        } for c in RATING_CHOICES])
        columns = ORDER_HISTORY_COLUMNS
        names = ORDER_HISTORY_COLUMN_NAMES
        fields = ORDER_HISTORY_FIELDS

    order_history_columns = simplejson.dumps(columns)
    order_history_column_names = simplejson.dumps([unicode(s) for s in names])
    order_history_fields = simplejson.dumps(fields)
    history_data_url = reverse(get_passenger_orders_history_data)
    return custom_render_to_response(template_name, locals(),
                                     RequestContext(request))
Example #30
0
def station_page(request, subdomain_name):
    station = get_object_or_404(models.Station, subdomain_name=subdomain_name)

    ua = request.META.get("HTTP_USER_AGENT", "").lower()

    if station.market_app_url and ua.find("android") > -1:
        ga_hit_page(request)
        return HttpResponseRedirect(station.market_app_url)
    elif station.itunes_app_url and ua.find("iphone") > -1:
        ga_hit_page(request)
        return HttpResponseRedirect(station.itunes_app_url)

    passenger = Passenger.from_request(request)
    if passenger and passenger.business:
        return station_business_page(request, subdomain_name)

    if not request.mobile and CURRENT_PASSENGER_KEY in request.session:
        del request.session[CURRENT_PASSENGER_KEY]

    page_specific_class = "station_page"
    hidden_fields = HIDDEN_FIELDS
    form = OrderForm()
    not_a_user, not_a_passenger = NOT_A_USER, NOT_A_PASSENGER
    waze_token = settings.WAZE_API_TOKEN
    telmap_user = settings.TELMAP_API_USER
    telmap_password = settings.TELMAP_API_PASSWORD
    telmap_languages = 'he' if str(get_language_from_request(request)) == 'he' else 'en'
    country_code = settings.DEFAULT_COUNTRY_CODE
    station_full_name = _("%s Taxi station") % station.name
    website_link = station.get_station_page_link()
    pretty_website_link = website_link.replace("http://", "")
    station_logo = blob_to_image_tag(station.logo)

    if not passenger and request.GET.get("show_login", False):
        show_login = True

    return custom_render_to_response("station_page.html", locals(), context_instance=RequestContext(request))
Example #31
0
def station_analytics(request, station):
    is_popup = True
    if request.META.has_key("HTTP_USER_AGENT"):
        workstation_agent = "adobeair" in request.META["HTTP_USER_AGENT"].lower()

    if request.POST: # date picker form submitted
        form = DatePickerForm(request.POST)
        if form.is_valid():
            start_date = datetime.datetime.combine(form.cleaned_data["start_date"], datetime.time.min)
            end_date = datetime.datetime.combine(form.cleaned_data["end_date"], datetime.time.max)
            assignments = OrderAssignment.objects.filter(station=station, create_date__gte=start_date, create_date__lte=end_date)
            pie_data, total_count = get_station_assignments_pie_data(assignments)
            return JSONResponse({'pie_data': pie_data, 'total_count': total_count})
        else:
            return JSONResponse({'error': 'error'})

    else:
        station_name = station.name
        form = DatePickerForm()
        accepted = models.ACCEPTED
        ignored = models.IGNORED
        not_taken = models.NOT_TAKEN
        rejected = models.REJECTED

        order_history_columns =  simplejson.dumps([unicode(s) for s in STATION_ASSIGNMENT_HISTORY_COLUMNS])
        order_history_column_names = simplejson.dumps([unicode(s) for s in STATION_ASSIGNMENT_HISTORY_COLUMN_NAMES])
        order_history_fields = simplejson.dumps([unicode(s) for s in STATION_ASSIGNMENT_HISTORY_FIELDS])

        end_date = datetime.datetime.combine(datetime.date.today(), datetime.time.max)
        start_date = datetime.datetime.combine(end_date - datetime.timedelta(weeks=1), datetime.time.min)
        assignments = OrderAssignment.objects.filter(station=station, create_date__gte=start_date, create_date__lte=end_date)
        pie_data, total_count = get_station_assignments_pie_data(assignments)
        pie_data = simplejson.dumps(pie_data)

        # stringify the dates to the format used in the page
        start_date, end_date = start_date.strftime("%d/%m/%Y"), end_date.strftime("%d/%m/%Y")
        return custom_render_to_response("station_analytics.html", locals(), context_instance=RequestContext(request))
def pg_home(request):
    request.mobile = True
    request.session[CURRENT_ORDER_KEY] = None

    page_specific_class = "wb_home"
    hidden_fields = HIDDEN_FIELDS

    order_types = simplejson.dumps({
        'private': OrderType.PRIVATE,
        'shared': OrderType.SHARED
    })

    country_code = settings.DEFAULT_COUNTRY_CODE

    cities = [{
        'id': city.id,
        'name': city.name
    } for city in City.objects.filter(name="תל אביב יפו")]
    #    cities = [{'id': city.id, 'name': city.name} for city in City.objects.filter(name__in=["תל אביב יפו", "אריאל"])]

    #    return render_to_response('wb_home.html', locals(), context_instance=RequestContext(request))
    return custom_render_to_response('wb_home_phonegap.html',
                                     locals(),
                                     context_instance=RequestContext(request))
def phone_activation(request):
    app_udid = request.GET.get("APP_UDID")
    phone = request.GET.get("phone")

    return custom_render_to_response("phone_activation.html", locals(), context_instance=RequestContext(request))
def landing_page(request):
    if request.mobile:
        return passenger_home(request)

    return custom_render_to_response("landing_page.html", locals(), context_instance=RequestContext(request))
            'value': user.email
        },
        {
            'name': "mobile",
            'label': _("Mobile Phone"),
            'value': phone_formatted
        },
        {
            'name': "billing",
            'label': _("Billing Info"),
            'value': bi_formatted
        },
    ]

    return custom_render_to_response("user_profile.html",
                                     locals(),
                                     context_instance=RequestContext(request))


def verify_passenger(request):
    if request.method == "POST":
        local_phone = request.POST.get('local_phone')
        country = get_object_or_404(Country,
                                    code=request.POST.get('country_code', ""))
        verification_code = int(request.POST.get('verification_code', -1))

        response, passenger = validate_passenger_phone(request, local_phone,
                                                       country,
                                                       verification_code)
        return response
        phone_formatted = passenger.phone
        profile_picture_url = passenger.picture_url
        if hasattr(passenger, "billing_info"):
            bi = passenger.billing_info
            card_formatted = "%s%s" % ("**** " * 4, bi.card_repr[-4:])
            exp_formatted = bi.expiration_date.strftime("%m/%y")
            bi_formatted = "%s %s: %s" % (card_formatted, _("Exp"), exp_formatted)

    user_data = [
            {'name': "fullname", 'label': _("Full Name"), 'value': user.get_full_name},
            {'name': "email", 'label': _("Email Address"), 'value': user.email},
            {'name': "mobile", 'label': _("Mobile Phone"), 'value': phone_formatted},
            {'name': "billing", 'label': _("Billing Info"), 'value': bi_formatted},
    ]

    return custom_render_to_response("user_profile.html", locals(), context_instance=RequestContext(request))


def verify_passenger(request):
    if request.method == "POST":
        local_phone = request.POST.get('local_phone')
        country = get_object_or_404(Country, code=request.POST.get('country_code', ""))
        verification_code = int(request.POST.get('verification_code', -1))

        response, passenger = validate_passenger_phone(request, local_phone, country, verification_code)
        return response

    else:
        country_code = settings.DEFAULT_COUNTRY_CODE
        return custom_render_to_response("verify_passenger.html", locals(), context_instance=RequestContext(request))
Example #37
0
def about(request):
    lib_ng = True
    return custom_render_to_response("about_faq_contact.html", locals(), context_instance=RequestContext(request))
Example #38
0
def info_pages(request):
    return custom_render_to_response("info.html",
                                     locals(),
                                     context_instance=RequestContext(request))
Example #39
0
def privacy(request):
    page_name = page_specific_class = "privacy"
    return custom_render_to_response("privacy.html", locals(), context_instance=RequestContext(request))
Example #40
0
def terms(request):
    page_name = page_specific_class = "terms"
    return custom_render_to_response("terms_of_service.html", locals(), context_instance=RequestContext(request))
Example #41
0
def my_rides(request, passenger):
    lib_ng = True
    passenger_picture_url = passenger.picture_url

    return custom_render_to_response("my_rides.html", locals(), context_instance=RequestContext(request))
def info_pages(request):
    return custom_render_to_response("info.html", locals(), context_instance=RequestContext(request))