Ejemplo n.º 1
0
def edit(id):
    """Edit a place."""
    place = Place.query.get(id)
    form = PlaceForm()
    if form.validate_on_submit():
        form.populate_obj(place)
        db.session.commit()
    return redirect(url_for('.detail', id=id))
Ejemplo n.º 2
0
def edit_place(request, place_id, **kwargs):
    place = Place.objects.get(id=place_id)

    if request.POST:
        form = PlaceForm(request.POST)
        if form.is_valid():
            form.save(force_update=True)
    else:
        form = PlaceForm(instance=place)

    context = {'form':form}
    return render_to_response('place/form.html',context,RequestContext(request))
Ejemplo n.º 3
0
def add_place(request, **kwargs):
    form = None

    if request.POST:
        form = PlaceForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = PlaceForm()

    context = {'form':form}
    return render_to_response('place/form.html',context,RequestContext(request))
Ejemplo n.º 4
0
def place_edit(request, slug):
    """
    EDIT PLACE
    """
    place = get_object_or_404(Place, slug__iexact=slug)
    if request.method == 'POST':
        form = PlaceForm(request.POST, instance=place)
        if form.is_valid():
            form.save()
            return HttpResponse(place.get_absolute_url())
    else:
        form = PlaceForm(instance=place)
    return render_to_response('places/place_edit.html',
                              {'form': form},
                              context_instance = RequestContext(request))
Ejemplo n.º 5
0
def new():
    """Add a new place from a POST request."""
    form = PlaceForm()
    if form.validate_on_submit():
        if Place.query.filter(
                func.lower(Place.name) == func.lower(
                    form.name.data)).count() == 0:
            new_place = Place()
            form.populate_obj(new_place)
            new_place.id = None
            db.session.add(new_place)
            db.session.commit()
            return redirect(url_for('.list'))
        flash('a place with this name already exists')
    return redirect(url_for('.list'))
Ejemplo n.º 6
0
def place_add(request):
    """
    ADD A NEW PLACE
    """
    if request.method == 'POST':
        form = PlaceForm(request.POST)
        if form.is_valid():
            new_place = form.save()
            return HttpResponse(new_place.get_absolute_url())
    else:
        form = PlaceForm()
    return render_to_response('places/place_edit.html',
                              {'form': form,
                               'new': True
                              },
                              context_instance = RequestContext(request))
Ejemplo n.º 7
0
def places_add(request):
    profile = request.user.get_profile()
    token = oauth.OAuthToken.from_string(profile.access_token)
    client = OAuthClient(settings.PLACES_CONSUMER_KEY, settings.PLACES_CONSUMER_SECRET, access_token=token)
    request_method = request.method.upper()
    context = {}
    if request_method == 'GET':
        context['form'] = PlaceForm()
    elif request_method == 'POST':
        form = PlaceForm(request.POST)
        context['form'] = form
        if form.is_valid():
            result = client.add_place(name=form.cleaned_data['name'], url=form.cleaned_data['url'])
            if result.get('place', False):
                return HttpResponseRedirect('/places')
            else:
                context['error'] = 'Unable to save place.'
    return render_to_response('places/add.html', context_instance=RequestContext(request, context))
Ejemplo n.º 8
0
def place_add(request, format=None, *args, **kwargs):
    metadata = {}
    data = {}
    if format == 'html':
        metadata['template'] = 'places/add.html'
    request_method = request.method.upper()
    if request_method == 'GET':
        data['form'] = PlaceForm()
    elif request_method == 'POST':
        form = PlaceForm(request.POST)
        try:
            place = form.save()
            if format == 'html':
                raise HttpResponseException(HttpResponseRedirect(request.GET.get('next_page') or place.get_absolute_url()))
            else:
                data['place'] = place
        except ValueError:
            data['form'] = form
    return (metadata, data)
Ejemplo n.º 9
0
def detail(id):
    """View details about a place."""
    place = Place.query.get(id)
    form = PlaceForm(obj=place)
    if not place.lat and place.adr_street:
        geocode_place(id)
    api_key = app.config['API_KEY_MAPS']
    return render_template('place_info.html',
                           place=place,
                           api_key=api_key,
                           form=form)
Ejemplo n.º 10
0
def place_edit(request, format=None, *args, **kwargs):
    metadata = {}
    data = {}
    place_id = kwargs.get('place_id')
    request_method = request.method.upper()
    place = Place.objects.get(id=int(place_id))
    if format == 'html':
        metadata['template'] = 'places/edit.html'
    if request_method == 'GET':
        data['form'] = PlaceForm(instance=place)
    elif request_method == 'POST':
        form = PlaceForm(request.POST, instance=place)
        try:
            place = form.save()
            if format == 'html':
                raise HttpResponseException(HttpResponseRedirect(request.GET.get('next_page') or place.get_absolute_url()))
            else:
                data['place'] = place
        except ValueError:
            data['form'] = form
    return (metadata, data)
Ejemplo n.º 11
0
def edit_place(request):
    user = request.user
    place_id = request.REQUEST['place']
    if place_id != '-1':
        try:
            place = user.place.get(pk=place_id)
        except:
            # user does not own place
            raise Http404
    else:
        place = None


    if request.method == 'POST':
        form = PlaceForm(request.POST) 
        if form.is_valid():
            print 'form is valid', place
            form.save(request, place) 
            print 'form saved'
            return HttpResponseRedirect('/accounts/place/') # Redirect after POST
        print form.errors
    else:
        if place:
            form = PlaceForm({'name': place.name, 'addr':place.street,
                'zip':place.zip, 'apt':place.apt, 'city': place.city,  'state':place.state })
        else:
            form = PlaceForm()
    return render_to_response('places/edit_place.html', {
        'place_form': form, 'place': place
    }, context_instance=RequestContext(request))
Ejemplo n.º 12
0
def Place_add():
    form = PlaceForm()
    if request.method == 'POST':
        name = form.name.data
        coordinate = form.coordinate.data
        placeC_id = form.placeC_id.data
        if name and coordinate and placeC_id:
            try:
                new_place = Place(name=name,
                                  coordinate=coordinate,
                                  placeC_id=placeC_id)
                db.session.add(new_place)
                db.session.commit()
                return '上传成功'
            except Exception as e:
                print(e)
                flash('添加地点失败')
                db.session.rollback()
                return '添加失败'
        else:
            return '参数出错'

    return render_template('upload.html', form=form)
Ejemplo n.º 13
0
 def setUp(self):
     self.form = PlaceForm({
         'state': 'GA',
         'state_req': 'NC',
         'name': 'impossible'
     })
Ejemplo n.º 14
0
class USLocalflavorTests(TestCase):
    def setUp(self):
        self.form = PlaceForm({
            'state': 'GA',
            'state_req': 'NC',
            'name': 'impossible'
        })

    def test_get_display_methods(self):
        """Test that the get_*_display() methods are added to the model instances."""
        place = self.form.save()
        self.assertEqual(place.get_state_display(), 'Georgia')
        self.assertEqual(place.get_state_req_display(), 'North Carolina')

    def test_required(self):
        """Test that required USStateFields throw appropriate errors."""
        form = PlaceForm({'state': 'GA', 'name': 'Place in GA'})
        self.failIf(form.is_valid())
        self.assertEqual(form.errors['state_req'],
                         [u'This field is required.'])

    def test_field_blank_option(self):
        """Test that the empty option is there."""
        state_select_html = """\
<select name="state" id="id_state">
<option value="">---------</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AS">American Samoa</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FL">Florida</option>
<option value="GA" selected="selected">Georgia</option>
<option value="GU">Guam</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="MP">Northern Mariana Islands</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="PR">Puerto Rico</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VI">Virgin Islands</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>"""
        self.assertEqual(str(self.form['state']), state_select_html)
Ejemplo n.º 15
0
 def test_required(self):
     """Test that required USStateFields throw appropriate errors."""
     form = PlaceForm({'state': 'GA', 'name': 'Place in GA'})
     self.failIf(form.is_valid())
     self.assertEqual(form.errors['state_req'],
                      [u'This field is required.'])
Ejemplo n.º 16
0
        p._productions = m2m.get(p.id, [])

    return render(request, 'places/people.html', {
        'people': people,
        'place': place,
    })

@login_required
def place_edit(request, place_id, place):
    try:
        place = check_url(Place, place_id, place)
    except UnmatchingSlugException, e:
        return HttpResponsePermanentRedirect(e.args[0].get_absolute_url())

    place.name = place.get_name_display()
    form = PlaceForm(request.POST or None, instance=place)
    if request.method == 'POST':
        if request.POST.get('disregard'):
            messages.success(request, u"All right, we\u2019ve ignored any changes you made.")
            return HttpResponseRedirect(place.get_absolute_url())
        if form.is_valid():
            form.save()
            messages.success(request, "Your changes have been stored; thank you.")
            return HttpResponseRedirect(place.get_absolute_url())

    return render(request, 'places/place_edit.html', {
        'place': place,
        'form': form,
    })

def place(request, place_id, place):
Ejemplo n.º 17
0
 def test_required(self):
     """Test that required USStateFields throw appropriate errors."""
     form = PlaceForm({"state": "GA", "name": "Place in GA"})
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors["state_req"], [u"This field is required."])
Ejemplo n.º 18
0
 def setUp(self):
     self.form = PlaceForm({"state": "GA", "state_req": "NC", "name": "impossible"})
Ejemplo n.º 19
0
def list():
    """List all available places."""
    form = PlaceForm()
    return render_template('place_list.html',
                           places=Place.query.all(),
                           form=form)
Ejemplo n.º 20
0
 def test_required(self):
     """Test that required USStateFields throw appropriate errors."""
     form = PlaceForm({'state':'GA', 'name':'Place in GA'})
     self.failIf(form.is_valid())
     self.assertEqual(form.errors['state_req'], [u'This field is required.'])
Ejemplo n.º 21
0
 def setUp(self):
     self.form = PlaceForm({'state':'GA', 'state_req':'NC', 'name':'impossible'})
Ejemplo n.º 22
0
class USLocalflavorTests(TestCase):
    def setUp(self):
        self.form = PlaceForm({'state':'GA', 'state_req':'NC', 'name':'impossible'})

    def test_get_display_methods(self):
        """Test that the get_*_display() methods are added to the model instances."""
        place = self.form.save()
        self.assertEqual(place.get_state_display(), 'Georgia')
        self.assertEqual(place.get_state_req_display(), 'North Carolina')

    def test_required(self):
        """Test that required USStateFields throw appropriate errors."""
        form = PlaceForm({'state':'GA', 'name':'Place in GA'})
        self.failIf(form.is_valid())
        self.assertEqual(form.errors['state_req'], [u'This field is required.'])

    def test_field_blank_option(self):
        """Test that the empty option is there."""
        state_select_html = """\
<select name="state" id="id_state">
<option value="">---------</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AS">American Samoa</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="CA">California</option>
<option value="CO">Colorado</option>
<option value="CT">Connecticut</option>
<option value="DE">Delaware</option>
<option value="DC">District of Columbia</option>
<option value="FL">Florida</option>
<option value="GA" selected="selected">Georgia</option>
<option value="GU">Guam</option>
<option value="HI">Hawaii</option>
<option value="ID">Idaho</option>
<option value="IL">Illinois</option>
<option value="IN">Indiana</option>
<option value="IA">Iowa</option>
<option value="KS">Kansas</option>
<option value="KY">Kentucky</option>
<option value="LA">Louisiana</option>
<option value="ME">Maine</option>
<option value="MD">Maryland</option>
<option value="MA">Massachusetts</option>
<option value="MI">Michigan</option>
<option value="MN">Minnesota</option>
<option value="MS">Mississippi</option>
<option value="MO">Missouri</option>
<option value="MT">Montana</option>
<option value="NE">Nebraska</option>
<option value="NV">Nevada</option>
<option value="NH">New Hampshire</option>
<option value="NJ">New Jersey</option>
<option value="NM">New Mexico</option>
<option value="NY">New York</option>
<option value="NC">North Carolina</option>
<option value="ND">North Dakota</option>
<option value="MP">Northern Mariana Islands</option>
<option value="OH">Ohio</option>
<option value="OK">Oklahoma</option>
<option value="OR">Oregon</option>
<option value="PA">Pennsylvania</option>
<option value="PR">Puerto Rico</option>
<option value="RI">Rhode Island</option>
<option value="SC">South Carolina</option>
<option value="SD">South Dakota</option>
<option value="TN">Tennessee</option>
<option value="TX">Texas</option>
<option value="UT">Utah</option>
<option value="VT">Vermont</option>
<option value="VI">Virgin Islands</option>
<option value="VA">Virginia</option>
<option value="WA">Washington</option>
<option value="WV">West Virginia</option>
<option value="WI">Wisconsin</option>
<option value="WY">Wyoming</option>
</select>"""
        self.assertEqual(str(self.form['state']), state_select_html)