コード例 #1
0
def addlocation():

    if not session.get('username'):
        return redirect(url_for('login'))

    if session.get('designation') != "Administrator":
        return resirect(url_for('page_not_found'))

    form = AddLocationForm()
    if form.validate_on_submit():
        locationID = Location.objects.count()
        locationID += 1

        title = form.title.data
        IPaddress = form.IPaddress.data
        category = form.category.data
        description = form.description.data
        location = Location(locationID=locationID,
                            title=title,
                            IPaddress=IPaddress,
                            category=category,
                            description=description)
        location.save()
        flash("Location added successfully!", "success")
        return redirect(url_for('index'))
    return render_template("addLocation.html",
                           title="ADD LOCATION",
                           form=form,
                           addLocation=True)
コード例 #2
0
ファイル: tests.py プロジェクト: YuseqYaseq/pytajnix
 def setUp(self):
     with transaction.atomic():
         location = Location(name='Centrum Informatyki', street='Kawiory', local_number='5', city='Krakow')
         location.save()
         lecture = Lecture(hash='3j7t950',
                           title='How to IT', start_time=timezone.now(),
                           end_time=timezone.now() + timezone.timedelta(hours=2),
                           location=location)
         lecture.save()
コード例 #3
0
def add_location():
    try:
        name = request.json.get('name')
        latitude = request.json.get('latitude')
        longtitude = request.json.get('longtitude')
        # jwttoken = request.headers.get('Authorization').split(' ')[1]
        # user = jwt_auth.get_user_from_token(jwttoken)

        if not name:
            raise Exception('name cannot be empty')
        if not latitude:
            raise Exception('latitude cannot be empty')
        if not longtitude:
            raise Exception('longtitude cannot be empty')

        location_object = Location(name=name,
                                   latitude=latitude,
                                   longtitude=longtitude)

        db.session.add(location_object)
        db.session.commit()
        return jsonify(dict(success=True, code=201))

    except Exception as e:
        db.session.rollback()
        return jsonify(dict(success=False, message=str(e), code=400))
コード例 #4
0
def specific_location(idx=None):
    if not session.get('username'):
        return redirect(url_for('login'))

    if (idx == None):
        return redirect(url_for('page_not_found'))

    location = Location.objects(locationID=int(idx)).first()
    #print(location)
    return render_template("location.html",
                           title=location.title,
                           ip=location.IPaddress,
                           category=location.category)
コード例 #5
0
ファイル: routes.py プロジェクト: andretheronsa/rescue-me
def locate(name):
    data = False
    static_data = {
        "GOOGLE_API": app.config["GOOGLE_API"],
        "W3W_API": app.config["W3W_API"],
        "url_valid": True
    }
    # Ensure track ID has been issued
    exists = db.session.query(
        Track.name).filter_by(name=name).scalar() is not None
    if not exists:
        static_data["url_valid"] = False
    else:
        # Ensure track ID has not expired yet
        track_time = db.session.query(
            Track.create_time).filter_by(name=name).scalar()
        track_time_db = date_parser.parse(track_time.strftime('%c'))
        current_time = dt.utcnow()
        difference = current_time - track_time_db
        if difference.days >= 3:
            static_data["url_valid"] = False
    # Recieve track data from client
    if request.method == "POST":
        # Parse position object return
        data = request.get_json(force=True)
        data["timeStamp"] = date_parser.parse(
            data["timeStamp"].split("GMT")[0])
        # Insert extra info about request
        data["ip"] = request.remote_addr
        data["track_id"] = db.session.query(Track.id).filter_by(name=name)
        geocoder = what3words.Geocoder(app.config["W3W_API"])
        w3w = geocoder.convert_to_3wa(
            what3words.Coordinates(data["latitude"], data["longitude"]))
        data["w3w"] = w3w["words"]
        # Add message to user
        location_insert = Location(**data)
        try:
            db.session.add(location_insert)
            db.session.commit()
        except Exception as e:
            print(e)
            sys.stdout.flush()
        return render_template("locate.html",
                               title='Locate',
                               static_data=static_data,
                               data=data)
    return render_template("locate.html",
                           title='Locate',
                           static_data=static_data,
                           data=data)
コード例 #6
0
ファイル: routes.py プロジェクト: LeoKnox/python_dungeon
def edit():
    room_id = request.form.get('room_id')
    room_name = request.form.get('room_name')
    room_material = request.form.get('room_material')
    character_id = 1

    if room_id:
        if Room.object(room_id=room_id, character_id=character_id):
            flash(f"Already roomed {character_name}")
        else:
            Location(character_id=character_id, room_id=room_id)
            flash(f"You have roomed {character_name}")

    rooms = list(
        Character.objects.aggregate(*[{
            '$lookup': {
                'from': 'location',
                'localField': 'character_id',
                'foreignField': 'character_id',
                'as': 'r1'
            }
        }, {
            '$unwind': {
                'path': '$r1',
                'includeArrayIndex': 'r1.character_id',
                'preserveNullAndEmptyArrays': False
            }
        }, {
            '$lookup': {
                'from': 'room',
                'localField': 'r1.character_id',
                'foreignField': 'character_id',
                'as': 'r2'
            }
        }, {
            '$unwind': {
                'path': '$r2',
                'preserveNullAndEmptyArrays': False
            }
        }]))

    return render_template("edit.html", data=rooms, title="Rooms")
コード例 #7
0
ファイル: routes.py プロジェクト: Poonam1390/TagAlong
def interest():
    form = InterestForm()
    if form.validate_on_submit():
        locationData = Location(l_name=form.l_name.data, time=form.time.data)
        db.session.add(locationData)
        db.session.commit()
        l_id = Location.query.filter_by(l_id=locationData.l_id).first()
        hobbyData = Hobby(name=form.name.data,
                          h_name=form.h_name.data,
                          email=form.email.data,
                          plans=l_id)

        db.session.add(hobbyData)
        db.session.commit()

        return redirect(url_for('plan'))

    else:
        print(form.errors)

    return render_template('interest.html', title='Interests', form=form)
コード例 #8
0
ファイル: test_backend.py プロジェクト: Poonam1390/TagAlong
    def setUp(self):
        """
        Will be called before every test
        """
        # ensure there is no data in the test database when the test starts
        db.session.commit()
        db.drop_all()
        db.create_all()

        # register a plan
        locationData = Location(l_name="Spain", time="June")
        db.session.add(locationData)
        db.session.commit()
        l_id = Location.query.filter_by(l_id=locationData.l_id).first()
        hobbyData = Hobby(name="Jane",
                          h_name="Hiking",
                          email="*****@*****.**",
                          plans=l_id)

        # save plan to database
        db.session.add(hobbyData)
        db.session.commit()
コード例 #9
0
 def make_location(self, data, **kwargs):
     return Location(**data)
コード例 #10
0
def create_activity(plannerid):
    try:
        jwttoken = request.headers.get('Authorization').split(' ')[1]
        user = jwt_auth.get_user_from_token(jwttoken)
        desiredplanner = Planner.query.filter_by(id=plannerid).one()
        if user.id != desiredplanner.user_id:
            raise Exception('access denied')
        activity_name = request.json.get('activity_name')
        start_date = request.json.get('start_date')
        start_time = request.json.get('start_time')
        end_date = request.json.get('end_date')
        end_time = request.json.get('end_time')
        description = request.json.get('description')
        atype = request.json.get('type')
        if not activity_name:
            raise Exception('activity_name cannot be empty')
        if not start_date:
            raise Exception('start_date cannot be empty')
        if not start_time:
            raise Exception('start_time cannot be empty')
        if not end_date:
            raise Exception('end_date cannot be empty')
        if not end_time:
            raise Exception('end_time cannot be empty')
        if not description:
            raise Exception('description cannot be empty')

        start_datetime = start_date + ' ' + start_time
        end_datetime = end_date + ' ' + end_time

        if atype == 1:
            start = request.json.get('start')
            stop = request.json.get('stop')
            if (start['name'] == "" or start['lat'] == ""
                    or start['lng'] == ""):
                raise Exception(
                    'Start location name, latitude or longtitude is missing')
            if (stop['name'] == "" or stop['lat'] == "" or stop['lng'] == ""):
                raise Exception(
                    'Stop location name, latitude or longtitude is missing')
            start_object = Location(name=start['name'],
                                    latitude=str(start['lat']),
                                    longtitude=str(start['lng']))
            stop_object = Location(name=stop['name'],
                                   latitude=str(stop['lat']),
                                   longtitude=str(stop['lng']))
            db.session.add(start_object)
            db.session.add(stop_object)
            db.session.commit()
            activity_object_stop = Activity(
                name=activity_name + " (end)",
                start=dt.datetime.strptime(end_datetime, '%Y-%m-%d %H:%M'),
                end=dt.datetime.strptime(end_datetime, '%Y-%m-%d %H:%M'),
                description=description,
                planner_ID=int(plannerid),
                serviceType_ID=int(atype),
                location_ID=stop_object.id)
            db.session.add(activity_object_stop)
            db.session.commit()
            activity_object_start = Activity(name=activity_name+" (start)",
            start=dt.datetime.strptime(start_datetime, '%Y-%m-%d %H:%M'),
            end=dt.datetime.strptime(start_datetime, '%Y-%m-%d %H:%M'),
            description=description, planner_ID=int(plannerid), serviceType_ID=int(atype),location_ID=start_object.id\
               , ref=activity_object_stop.id )
            db.session.add(activity_object_start)
            db.session.commit()
            return jsonify(dict(success=True, code=201))
        else:
            inl = request.json.get('in')
            if (inl['name'] == "" or inl['lat'] == "" or inl['lng'] == ""):
                raise Exception(
                    'Location name, latitude or longtitude is missing')
            in_object = Location(name=inl['name'],
                                 latitude=str(inl['lat']),
                                 longtitude=str(inl['lng']))
            db.session.add(in_object)
            db.session.commit()
            activity_object_in = Activity(
                name=activity_name,
                start=dt.datetime.strptime(start_datetime, '%Y-%m-%d %H:%M'),
                end=dt.datetime.strptime(end_datetime, '%Y-%m-%d %H:%M'),
                description=description,
                planner_ID=int(plannerid),
                serviceType_ID=int(atype),
                location_ID=in_object.id)
            db.session.add(activity_object_in)
            db.session.commit()
            return jsonify(dict(success=True, code=201))

    except Exception as e:
        db.session.rollback()
        return jsonify(dict(success=False, message=str(e), code=400))