Пример #1
0
def new(request):
    context = {'YAHOO_MAPS_API_KEY': lazy_key()}
    if request.method == 'POST':
        location_form = LocationForm(request.POST)
        if location_form.is_valid():
            y = geocoders.Yahoo(lazy_key())
            p = location_form.cleaned_data['place']
            try:
                (place, (lat, lng)) = list(y.geocode(p, exactly_one=False))[0]
                # Actually returns more than one result but I am taking only the
                # first result
            except HTTPError:
                request.user.message_set.create(
                    message=_('Location not found, Try something else.'))
                context['location_form'] = location_form
                return render_to_response("locations/new.html",
                    context,
                    context_instance=RequestContext(request)
                )
            context.update({
                'location': {'place': place, 'latitude': lat, 'longitude': lng},
                'checkin_form': CheckinForm(),
            })
            return render_to_response("locations/checkin.html",
                context,
                context_instance=RequestContext(request)
            )
        else:
            return HttpResponseRedirect(reverse('locations.views.your_locations'))
    else:
        return HttpResponseRedirect(reverse('locations.views.your_locations'))
Пример #2
0
def create_location(request, user_id):
    received_json_data = json.loads(request.body)
    form = LocationForm(received_json_data)
    if form.is_valid():
        new_location = Location()
        new_location.latitude = form.cleaned_data['latitude']
        new_location.longitude = form.cleaned_data['longitude']
        new_location.image_url = form.cleaned_data['image_url']
        try:
            request.user.location_set.add(new_location)
        except Exception as e:
            logger.error(
                "Error associating location to user. User %s Location %s. %s",
                request.user, new_location, e.message)
            return HttpResponseBadRequest(e.message)

        # Add tags to the location if any were passed
        tag_ids = form.cleaned_data['tag_ids']
        if tag_ids:
            tags = Tag.objects.filter(id__in=tag_ids)
            for tag in tags:
                LocationTags.objects.create(tag=tag, location=new_location)

        data = json.dumps(new_location.to_dict())
        return HttpResponse(data)
    else:
        logger.error("Form invalid. %s", form.errors)
        error_data = json.dumps(form.errors)
        return HttpResponseBadRequest(error_data)
Пример #3
0
def create_location(request, user_id):
    received_json_data = json.loads(request.body)
    form = LocationForm(received_json_data)
    if form.is_valid():
        new_location = Location()
        new_location.latitude = form.cleaned_data['latitude']
        new_location.longitude = form.cleaned_data['longitude']
        new_location.image_url = form.cleaned_data['image_url']
        try:
            request.user.location_set.add(new_location)
        except Exception as e:
            logger.error("Error associating location to user. User %s Location %s. %s", request.user, new_location, e.message)
            return HttpResponseBadRequest(e.message)

        # Add tags to the location if any were passed
        tag_ids = form.cleaned_data['tag_ids']
        if tag_ids:
            tags = Tag.objects.filter(id__in=tag_ids)
            for tag in tags:
                LocationTags.objects.create(tag=tag, location=new_location)

        data = json.dumps(new_location.to_dict())
        return HttpResponse(data)
    else:
        logger.error("Form invalid. %s", form.errors)
        error_data = json.dumps(form.errors)
        return HttpResponseBadRequest(error_data)
Пример #4
0
def add_location(request):
    context = {}
    if request.method == "POST":
        form = LocationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect("administrator.views.locations")
    else:
        form = LocationForm()
    context['form'] = form
    return render(request, "administrator/add_location.html", context)
Пример #5
0
def location_new(request):
    if request.method == 'POST': # If the form has been submitted...
        location_form = LocationForm(request.POST)

        if location_form.is_valid():
            location = location_form.save()
            location.save()

    if 'next' in request.GET:
        return redirect(request.GET['next'])
    else:
        return redirect('/talk/new')
Пример #6
0
def locations(request):
    context = {}
    context['locations'] = Location.objects.all()
    if request.method == "POST":
        form = LocationForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect("admin_locations")
    else:
        form = LocationForm()
    context['form'] = form
    return render(request, "administrator/locations.html", context)
Пример #7
0
def your_locations(request):
    context = {
        'locations': Location.objects.filter(user=request.user),
        'location_form': LocationForm(),
        'YAHOO_MAPS_API_KEY': lazy_key(),
    }
    return render_to_response("locations/your_locations.html",
        context,
        context_instance=RequestContext(request)
    )
Пример #8
0
def create_location(request):
    if request.method == 'POST':
        form = LocationForm(request.POST)
        if form.is_valid():
            # TODO: check if is in Israel
            point = Point([form.cleaned_data['lng'], form.cleaned_data['lat']])
            form.instance.point = point
            location = form.save()
            if request.is_ajax():
                return JsonResponse({
                    'name':
                    html.escape(location.name),
                    'info':
                    linebreaks(location.information),
                    'lat':
                    format(location.point.coords[1], ".5f"),
                    'lng':
                    format(location.point.coords[0], ".5f"),
                })
            return redirect("home")
    else:
        form = LocationForm()

    return render(request, 'general/templates/locations/location_form.html', {
        'form': form,
    })
Пример #9
0
def index(request):
    if request.method != 'GET':
        return HttpResponseBadRequest()

    if request.user.is_superuser:
        return render(request, 'users/index.html', {
            'create_person_form': PersonForm(),
            'create_contact_form': ContactForm(),
            'create_author_form': AuthorForm(),
            'create_article_form': ArticleForm(),
            'create_invites_form': InvitesForm(),
            'invites': [x for x in Invite.objects.filter(sent=False).order_by('date_created') if not x.expired][:MAX_INVITES],
            'create_location_form': LocationForm(),
            'create_album_form': CreateAlbumForm(),
            'name': NAME,
            'year': datetime.now(TZ).year,
        })

    return render(request, 'users/index.html', {
        'create_location_form': LocationForm(),
        'name': NAME,
        'year': datetime.now(TZ).year,
    })
Пример #10
0
def create_location(request):
    f = LocationForm(data=request.POST)
    f.save()
    return list_locations(request)
Пример #11
0
def update_location(request, location_id):
    location = get_object_or_404(Location, pk=location_id)
    f = LocationForm(data=request.POST, instance=location)
    f.save()
    return list_locations(request)
Пример #12
0
def location_detail(request, location_id):
    location = get_object_or_404(Location, pk=location_id)
    form = LocationForm(instance=location)
    form.id = location.id
    return render(request, 'locations/detail.html', {'form': form})
Пример #13
0
def create_contact(request):
    if request.method != 'POST':
        return HttpResponseBadRequest()

    if not request.user.is_superuser:
        return HttpResponseForbidden()

    form = ContactForm(request.POST, request.FILES)

    if form.is_valid():
        contact = form.save(commit=False)

        if 'image' in request.FILES:
            profile_image = ContactImage.objects.create(
                image=request.FILES.get('image'))
            profile_image.image_ops()
            profile_image.save()
            contact.profile_image = profile_image

        contact.save()

        full_name = contact.full_name
        punctuation = full_name[-1]
        messages.success(
            request, 'You have successfully created a contact named "%s%s"' %
            (full_name, '' if punctuation == '?' or punctuation == '!'
             or punctuation == '.' else '.'))

        return redirect('users:index')

    messages.error(request, 'There was an error creating a contact.')

    if request.user.is_superuser:
        return render(
            request, 'users/index.html', {
                'create_person_form':
                PersonForm(),
                'create_contact_form':
                ContactForm(request.POST),
                'create_author_form':
                AuthorForm(),
                'create_article_form':
                ArticleForm(),
                'create_invites_form':
                InvitesForm(),
                'invites': [
                    x for x in Invite.objects.filter(
                        sent=False).order_by('date_created') if not x.expired
                ][:MAX_INVITES],
                'create_location_form':
                LocationForm(),
                'create_album_form':
                CreateAlbumForm(),
                'name':
                NAME,
                'year':
                datetime.now(TZ).year,
            })

    return render(
        request, 'users/index.html', {
            'create_location_form': LocationForm(),
            'name': NAME,
            'year': datetime.now(TZ).year,
        })