示例#1
0
def edit(id):
    try:
        party = Party.objects.filter(id=bson.ObjectId(id)).first()
    except bson.errors.InvalidId:
        abort(404)

    user = User.objects.filter(email=session.get('email')).first()

    if party and party.host == user.id:
        error = None
        message = None
        form = EditPartyForm(obj=party)
        if request.method == 'POST' and form.validate():
            if form.end_datetime.data < form.start_datetime.data:
                error = 'A party must end after it starts!'
            if not error:
                form.populate_obj(party)
                if form.lng.data and form.lat.data:
                    party.location = [form.lng.data, form.lat.data]
                image_url = upload_image_file(request.files.get('photo'),
                                              'party_photo/', str(party.id))
                if image_url:
                    party.party_photo = image_url
                party.save()
                message = 'Party updated'
        return render_template('party/edit.html',
                               form=form,
                               error=error,
                               message=message,
                               party=party)
    else:
        abort(404)
示例#2
0
文件: view.py 项目: wuzeshixp/Happy
def edit():
    user = User.objects.filter(email=session['email']).first()
    if user:
        error = None
        message = None
        form = EditForm(obj=user)

        if request.method == 'POST' and form.validate():
            if user.email != form.email.data: #if change email
                if User.objects.filter(email=form.email.data).first():
                    error = "Email is already in use"
                else:
                    session['email'] = form.email.data.lower()
            if not error:
                form.populate_obj(user) # rewrite in to form
                image_url = upload_image_file(request.files.get('image'), 'proflie_image', str(user.id))
                if image_url:
                    user.profile_image = image_url

                user.save()
                message = "Profile updated"

        return render_template('user/edit.html', user=user,form=form,error =error, message=message)
    else:
        abort(404)
示例#3
0
def edit(id):
    try:
        home = Home.objects.filter(id=bson.ObjectId(id)).first()
    except bson.error.InvalidId:
        abort(404)

    user = User.objects.filter(email=session.get('email')).first()
    if home and home.host == user.id:  # only host(admin) can modify
        error = None
        message = None
        form = EditForm(obj=home)
        if request.method == "POST" and form.validate():
            if not error:
                form.populate_obj(home)
                if form.lng.data and form.lat.data:
                    home.location = [form.lng.data, form.lat.data]
                image_url = upload_image_file(request.files.get('photo'),
                                              'party_photo', str(home.id))
                if image_url:
                    home.party_photo = image_url
                    home.save()
                message = "HOMe updated"
        return render_template('home/edit.html',
                               form=form,
                               error=error,
                               message=message,
                               home=home)
    else:
        abort(404)
示例#4
0
def edit(id):
    try:
        event = Event.objects.filter(id=bson.ObjectId(id)).first()
    except bson.errors.InvalidId:
        abort(404)
        
    user = User.objects.filter(email=session.get('email')).first()
    
    if event and event.host == user.id:
        error = None
        message = None
        form = EditEventForm(obj=event)
        if request.method == 'POST' and form.validate():
            if form.end_datetime.data < form.start_datetime.data:
                error = 'A event must end after it starts!'
            if not error:
                form.populate_obj(event)
                if form.lng.data and form.lat.data:
                    event.location = [form.lng.data, form.lat.data]
                image_url = upload_image_file(request.files.get('photo'), 'event_photo', str(event.id))
                if image_url:
                    event.event_photo = image_url
                event.save()
                message = 'Event updated'
        return render_template('event/edit.html', form=form, error=error,
                              message=message, event=event)
    else:
        abort(404)
示例#5
0
def edit(id):
    try:
        #filtar id denuncia
        complaint = Complaint.objects.filter(id=bson.ObjectId(id)).first()
    except bson.errors.InvalidId:
        abort(404)
        #si el usuario tiene sesion activa
    user = User.objects.filter(email=session.get('email')).first()
    if complaint and complaint.complainer == user.id:
        error = None
        message = None
        #instanciar formulario
        form = EditComplaintForm(obj=complaint)
        if request.method == 'POST' and form.validate():
            if not error:
                form.populate_obj(complaint)
                #tomar valores de latitud y longitud y guardarlos en un array 'location'
                if form.lng.data and form.lat.data:
                    complaint.location = [form.lng.data, form.lat.data]
                # guardar imagen denuncia
                image_url = upload_image_file(request.files.get('photo'),
                                              'complaint_photo',
                                              str(complaint.id))
                if image_url:
                    complaint.complaint_photo = image_url
                complaint.save()
                message = 'Complaint updated'
        return render_template('complaint/edit.html',
                               form=form,
                               error=error,
                               message=message,
                               complaint=complaint)
    else:
        abort(404)
示例#6
0
def edit():
    #validar que inicio sesion
    user = User.objects.filter(email=session['email']).first()
    if user: 
        error = None
        message = None
        form = EditProfileForm(obj=user)

        #validar que los datos actualizados no esten en uso
        if request.method == 'POST' and form.validate():
            if user.email != form.email.data.lower():
                if User.objects.filter(email=form.email.data.lower()).first():
                    error = 'Email is already in use'
                else: 
                    session['email'] = form.email.data.lower()
            if not error:
                form.populate_obj(user)
                image_url = upload_image_file(request.files.get('image'), 'profile_image', str(user.id))
                print(str(request.files.get('image')))
                if image_url:
                    user.profile_image = image_url

                user.save()  
                message = 'Profile updated'

        return render_template('user/edit.html', user=user, form=form, error=error, message=message)
    else:
        abort(404)