def logout(self): del session['user'] if 'current_trip' in session: del session['current_trip'] session.clear() session.save() tripsharing.cancel() redirect(h.url_for(controller='splash',action="index"))
def logout(self): del session['user'] if 'current_trip' in session: del session['current_trip'] session.clear() session.save() tripsharing.cancel() redirect(h.url_for(controller='splash', action="index"))
def shared(self): shares=meta.Session.query(SharedTrip).filter(SharedTrip.secret==request.params['secret']).all() if len(shares): myshare,=shares tripsharing.view_other(user=myshare.user,trip=myshare.trip) return redirect(h.url_for(controller='mapview',action="index")) tripsharing.cancel() return redirect(h.url_for(controller='mapview',action="index"))
def shared(self): shares = meta.Session.query(SharedTrip).filter( SharedTrip.secret == request.params['secret']).all() if len(shares): myshare, = shares tripsharing.view_other(user=myshare.user, trip=myshare.trip) return redirect(h.url_for(controller='mapview', action="index")) tripsharing.cancel() return redirect(h.url_for(controller='mapview', action="index"))
def upload_track(self): print "In upload", request.params.get("gpstrack", None) if 'asplan' in request.params: t = request.params.get("gpstrack", None) orderint = 0 curid = 100 tripsharing.cancel() tripname, waypoints = parse_gpx_fplan(t.value) tripname = self.get_free_tripname(tripname) trip = Trip(tripuser(), tripname) meta.Session.add(trip) meta.Session.flush() out = [] for waypoint in waypoints: name = waypoint['name'] pos = waypoint['pos'] alt = waypoint['alt'] waypoint = Waypoint(tripuser(), trip.trip, pos, curid, orderint, name, alt) meta.Session.add(waypoint) out.append(waypoint) orderint += 1 curid += 1 for w1, w2 in zip(out, out[1:]): r = Route(tripuser(), trip.trip, w1.id, w2.id, altitude=str(w2.altitude)) meta.Session.add(r) acs = meta.Session.query(Aircraft).filter( sa.and_(Aircraft.user == tripuser())).all() if len(acs): trip.aircraft = acs[0].aircraft session['current_trip'] = tripname session.save() meta.Session.commit() redirect( h.url_for(controller='mapview', action="zoom", zoom='auto')) return t = request.params.get("gpstrack", None) if t != None: if len(t.value) > 30000000: redirect( h.url_for(controller='error', action="document", message="GPX file is too large.")) session['showtrack'] = parse_gpx(t.value, request.params.get('start'), request.params.get('end')) session['showarea'] = '' session['showarea_id'] = '' session.save() redirect(h.url_for(controller='mapview', action="zoom", zoom='auto'))
def actual_login(user,firsturl=None): session['user']=user.user if 'current_trip' in session: del session['current_trip'] if 'showtrack' in session: del session['showtrack'] if 'showarea' in session: del session['showarea'] tripsharing.cancel() session.save() user.lastlogin=datetime.utcnow() meta.Session.flush() meta.Session.commit() if firsturl==None: firsturl=h.url_for(controller='mapview',action="index") redirect(firsturl)
def actual_login(user, firsturl=None): session['user'] = user.user if 'current_trip' in session: del session['current_trip'] if 'showtrack' in session: del session['showtrack'] if 'showarea' in session: del session['showarea'] tripsharing.cancel() session.save() user.lastlogin = datetime.utcnow() meta.Session.flush() meta.Session.commit() if firsturl == None: firsturl = h.url_for(controller='mapview', action="index") redirect(firsturl)
def upload_track(self): print "In upload",request.params.get("gpstrack",None) if 'asplan' in request.params: t=request.params.get("gpstrack",None) orderint=0 curid=100 tripsharing.cancel() tripname,waypoints=parse_gpx_fplan(t.value) tripname=self.get_free_tripname(tripname) trip=Trip(tripuser(), tripname) meta.Session.add(trip) meta.Session.flush() out=[] for waypoint in waypoints: name=waypoint['name'] pos=waypoint['pos'] alt=waypoint['alt'] waypoint=Waypoint(tripuser(),trip.trip,pos,curid,orderint,name,alt) meta.Session.add(waypoint) out.append(waypoint) orderint+=1 curid+=1 for w1,w2 in zip(out,out[1:]): r=Route(tripuser(),trip.trip, w1.id,w2.id,altitude=str(w2.altitude)) meta.Session.add(r) acs=meta.Session.query(Aircraft).filter(sa.and_( Aircraft.user==tripuser())).all() if len(acs): trip.aircraft=acs[0].aircraft session['current_trip']=tripname session.save() meta.Session.commit() redirect(h.url_for(controller='mapview',action="zoom",zoom='auto')) return t=request.params.get("gpstrack",None) if t!=None: if len(t.value)>30000000: redirect(h.url_for(controller='error',action="document",message="GPX file is too large.")) session['showtrack']=parse_gpx(t.value,request.params.get('start'),request.params.get('end')) session['showarea']='' session['showarea_id']='' session.save() redirect(h.url_for(controller='mapview',action="zoom",zoom='auto'))
def trip_actions(self): #print "trip actions:",request.params if request.params.get('addtripname', None): tripsharing.cancel() tripname = self.get_free_tripname(request.params['addtripname']) trip = Trip(tripuser(), tripname) acs = meta.Session.query(Aircraft).filter( sa.and_(Aircraft.user == tripuser())).all() if len(acs): trip.aircraft = acs[0].aircraft print "Adding trip:", trip meta.Session.add(trip) session['current_trip'] = tripname session.save() if request.params.get('opentripname', None): tripsharing.cancel() tripname = request.params['opentripname'] if meta.Session.query(Trip).filter( sa.and_(Trip.user == tripuser(), Trip.trip == tripname)).count(): session['current_trip'] = tripname session.save() if request.params.get('reversetripname', None): tripsharing.cancel() username = tripuser() print "Reversing" tripname = request.params['reversetripname'] wps = list( meta.Session.query(Waypoint).filter( sa.and_(Waypoint.user == username, Waypoint.trip == tripname)).order_by( Waypoint.ordering).all()) if len(wps): maxord = max([wp.ordering for wp in wps]) for wp in wps: wp.ordering = maxord + 1 - wp.ordering print "Reversed order of", wp.waypoint, " = ", wp.ordering meta.Session.add(wp) firststays = meta.Session.query(Stay).filter( sa.and_(Stay.user == username, Stay.trip == tripname, Stay.waypoint_id == wps[0].id)).all() if len(firststays) == 1: stay, = firststays stay.waypoint_id = wps[-1].id if request.params.get('copytripname', None): tripsharing.cancel() tripobj = meta.Session.query(Trip).filter( sa.and_(Trip.user == tripuser(), Trip.trip == request.params['copytripname'])).first() newtripname = self.get_free_tripname(tripobj.trip + "(copy)") trip = Trip(tripuser(), newtripname) meta.Session.add(trip) acs = meta.Session.query(Aircraft).filter( sa.and_(Aircraft.user == tripuser(), Aircraft.aircraft == tripobj.aircraft)).all() if len(acs): trip.aircraft = acs[0].aircraft for origwp in meta.Session.query(Waypoint).filter( sa.and_(Waypoint.user == tripuser(), Waypoint.trip == tripobj.trip)).all(): wp = Waypoint(user=origwp.user, trip=newtripname, pos=origwp.pos, id_=origwp.id, ordering=origwp.ordering, waypoint=origwp.waypoint, altitude=origwp.altitude) meta.Session.add(wp) for origrt in meta.Session.query(Route).filter( sa.and_(Route.user == tripuser(), Route.trip == tripobj.trip)).all(): rt = Route(user=origrt.user, trip=newtripname, waypoint1=origrt.waypoint1, waypoint2=origrt.waypoint2, tas=origrt.tas, winddir=origrt.winddir, windvel=origrt.windvel, variation=origrt.variation) meta.Session.add(rt) for origstay in meta.Session.query(Stay).filter( sa.and_(Stay.user == tripuser(), Stay.trip == tripobj.trip)).all(): stay = Stay(user=origstay.user, trip=newtripname, waypoint_id=origstay.waypoint_id, fuel=origstay.fuel, date_of_flight=origstay.date_of_flight, departure_time=origstay.departure_time, nr_persons=origstay.nr_persons, fueladjust=origstay.fueladjust) meta.Session.add(stay) print "Adding trip:", trip session['current_trip'] = newtripname session.save() if request.params.get('deletetripname', None) and not tripsharing.sharing_active(): meta.Session.query(Trip).filter( sa.and_( Trip.user == tripuser(), Trip.trip == request.params['deletetripname'])).delete() del session['current_trip'] session.save() meta.Session.flush() meta.Session.commit() redirect(h.url_for(controller='mapview', action="index"))
def trip_actions(self): #print "trip actions:",request.params if request.params.get('addtripname',None): tripsharing.cancel() tripname=self.get_free_tripname(request.params['addtripname']) trip = Trip(tripuser(), tripname) acs=meta.Session.query(Aircraft).filter(sa.and_( Aircraft.user==tripuser())).all() if len(acs): trip.aircraft=acs[0].aircraft print "Adding trip:",trip meta.Session.add(trip) session['current_trip']=tripname session.save() if request.params.get('opentripname',None): tripsharing.cancel() tripname=request.params['opentripname'] if meta.Session.query(Trip).filter(sa.and_(Trip.user==tripuser(), Trip.trip==tripname)).count(): session['current_trip']=tripname session.save() if request.params.get('reversetripname',None): tripsharing.cancel() username=tripuser() print "Reversing" tripname=request.params['reversetripname'] wps=list(meta.Session.query(Waypoint).filter(sa.and_(Waypoint.user==username,Waypoint.trip==tripname)).order_by(Waypoint.ordering).all()) if len(wps): maxord=max([wp.ordering for wp in wps]) for wp in wps: wp.ordering=maxord+1-wp.ordering print "Reversed order of",wp.waypoint," = ",wp.ordering meta.Session.add(wp) firststays=meta.Session.query(Stay).filter(sa.and_(Stay.user==username,Stay.trip==tripname,Stay.waypoint_id==wps[0].id)).all() if len(firststays)==1: stay,=firststays stay.waypoint_id=wps[-1].id if request.params.get('copytripname',None): tripsharing.cancel() tripobj=meta.Session.query(Trip).filter(sa.and_(Trip.user==tripuser(), Trip.trip==request.params['copytripname'])).first() newtripname=self.get_free_tripname(tripobj.trip+"(copy)") trip = Trip(tripuser(), newtripname) meta.Session.add(trip) acs=meta.Session.query(Aircraft).filter(sa.and_( Aircraft.user==tripuser(),Aircraft.aircraft==tripobj.aircraft)).all() if len(acs): trip.aircraft=acs[0].aircraft for origwp in meta.Session.query(Waypoint).filter(sa.and_(Waypoint.user==tripuser(),Waypoint.trip==tripobj.trip)).all(): wp=Waypoint(user=origwp.user,trip=newtripname,pos=origwp.pos,id_=origwp.id, ordering=origwp.ordering,waypoint=origwp.waypoint,altitude=origwp.altitude) meta.Session.add(wp) for origrt in meta.Session.query(Route).filter(sa.and_(Route.user==tripuser(),Route.trip==tripobj.trip)).all(): rt=Route(user=origrt.user,trip=newtripname,waypoint1=origrt.waypoint1,waypoint2=origrt.waypoint2,tas=origrt.tas, winddir=origrt.winddir,windvel=origrt.windvel,variation=origrt.variation) meta.Session.add(rt) for origstay in meta.Session.query(Stay).filter(sa.and_(Stay.user==tripuser(),Stay.trip==tripobj.trip)).all(): stay=Stay(user=origstay.user,trip=newtripname,waypoint_id=origstay.waypoint_id, fuel=origstay.fuel,date_of_flight=origstay.date_of_flight, departure_time=origstay.departure_time, nr_persons=origstay.nr_persons,fueladjust=origstay.fueladjust) meta.Session.add(stay) print "Adding trip:",trip session['current_trip']=newtripname session.save() if request.params.get('deletetripname',None) and not tripsharing.sharing_active(): meta.Session.query(Trip).filter(sa.and_(Trip.user==tripuser(), Trip.trip==request.params['deletetripname'])).delete() del session['current_trip'] session.save() meta.Session.flush() meta.Session.commit(); redirect(h.url_for(controller='mapview',action="index"))