예제 #1
0
 def post(self):  # use this module variable to validate.
     json_data = request.json
     token = request.headers.get("x-access-token")
     token_data = jwt.decode(token, app.config['SECRET_KEY'])
     type = token_data.get('type')
     username = token_data.get("username")
     if type == 'donor':
         user = Donor.query.filter_by(username=username).first()
         event = Event(name=json_data.get('name'),
                       description=json_data.get('description'),
                       start_date=json_data.get('start_date'),
                       end_date=json_data.get('end_date'),
                       image=json_data.get('image'),
                       donor_id=user.id,
                       lat=json_data.get('lat'),
                       lng=json_data.get('lng'),
                       time_stamp=json_data.get('time_stamp'),
                       phone_no=json_data.get('phone_no'))
     elif type == 'beneficiary':
         user = Beneficiary.query.filter_by(username=username).first()
         event = Event(name=json_data.get('name'),
                       description=json_data.get('description'),
                       start_date=json_data.get('start_date'),
                       end_date=json_data.get('end_date'),
                       image=json_data.get('image'),
                       time_stamp=json_data.get('time_stamp'),
                       beneficiary_id=user.id,
                       lat=json_data.get('lat'),
                       lng=json_data.get('lng'),
                       phone_no=json_data.get('phone_no'))
     db.session.add(event)
     db.session.commit()
     return {'message': "event added to database"}, 200
예제 #2
0
def vacancy(username, fi):
    
    user=User.query.filter_by(username=username).first_or_404()
    event_to_vacancy=  Event.query.get_or_404(fi)

    d= Event.query.filter(Event.user_id == user.id, Event.event_date==event_to_vacancy.event_date, Event.event_name=='vacancy').all()
    for i in d:
        db.session.delete(i)
        db.session.commit()
 
    e= Event.query.order_by('event_date', 'event_timeStart').filter(Event.user_id == user.id, Event.event_date==event_to_vacancy.event_date).all()
    eventarray = []
    for i in e:
        eventarray.append(i)
    
    if (eventarray[0].event_timeStart != '1900-01-01 00:00:00.000000'):
        q = Event(event_name = 'vacancy', event_date = eventarray[0].event_date, event_timeStart=datetime(1900,1,1,00,00,00), event_timeEnd = eventarray[0].event_timeStart, user = current_user)
        db.session.add(q)
        db.session.commit() 
    
    for j in range(len(eventarray)-1):
       c = Event(event_name = 'vacancy', event_date = eventarray[j].event_date, event_timeStart = eventarray[j].event_timeEnd, event_timeEnd = eventarray[j+1].event_timeStart, user = current_user)
       db.session.add(c)
       db.session.commit()  
      
    if (eventarray[-1].event_timeStart != datetime(1900, 1, 1, 23,59, 00)):
        l = Event(event_name = 'vacancy', event_date = eventarray[0].event_date, event_timeStart = eventarray[-1].event_timeEnd, event_timeEnd = datetime(1900,1,1,23,59,00), user = current_user)
        db.session.add(l)
        db.session.commit()  

    
    k= Event.query.filter(Event.user_id == user.id,Event.event_name== 'vacancy', Event.event_date==event_to_vacancy.event_date).all()

    return render_template('vacancy.html',user=user, title= 'Profile',k=k)
예제 #3
0
    def test_followed_events(self):
        u1 = User.query.filter_by(username='******').first()
        u2 = User.query.filter_by(username='******').first()
        u3 = User.query.filter_by(username='******').first()
        s1 = Service.query.filter_by(name='vision').first()
        s2 = Service.query.filter_by(name='translate').first()

        e1 = Event(created=datetime.utcnow() + timedelta(seconds=3),
                   service_id=1,
                   user_id=1)
        e2 = Event(created=datetime.utcnow() + timedelta(seconds=2),
                   service_id=1,
                   user_id=2)
        e3 = Event(created=datetime.utcnow() + timedelta(seconds=1),
                   service_id=2,
                   user_id=3)
        db.session.add_all([e1, e2, e3])
        db.session.commit()

        u1.follow(s1)
        u2.follow(s2)
        u3.follow(s1)
        u3.follow(s2)
        db.session.commit()

        f1 = u1.followed_events().all()
        f2 = u2.followed_events().all()
        f3 = u3.followed_events().all()

        assert f1 == [e1, e2]
        assert f2 == [e3]
        assert f3 == [e1, e2, e3]
예제 #4
0
 def setUp(self) -> None:
     self.app = create_app("testing")
     self.app_context = self.app.app_context()
     self.app_context.push()
     self.session = sessionmaker()
     db.create_all()
     self.source_1 = WebSource(source_name="test1")
     self.source_2 = WebSource(source_name="test2")
     self.date_start = datetime(2019, 7, 2)
     self.date_start_2 = datetime(2019, 7, 4)
     self.date_end = datetime(2019, 8, 2)
     self.event_1 = Event(
         event_name="test_event_1",
         event_start=self.date_start,
         event_end=self.date_end,
         source=self.source_1,
     )
     self.event_2 = Event(
         event_name="test_event_2",
         event_start=self.date_start_2,
         event_end=self.date_end,
         source=self.source_1,
     )
     self.event_3 = Event(event_name="test_event_3",
                          event_start=self.date_start,
                          source=self.source_2)
     db.session.add_all([
         self.source_1, self.source_2, self.event_1, self.event_2,
         self.event_3
     ])
     db.session.commit()
     self.client = self.app.test_client(use_cookies=False)
예제 #5
0
def reset_db():
    flash("Resetting database: deleting old data and repopulating with dummy data")
    # clear all data from all tables
    meta = db.metadata
    for table in reversed(meta.sorted_tables):
        print('Clear table {}'.format(table))
        db.session.execute(table.delete())
    db.session.commit()
    artist1 = Artist(name='Shane Fox', hometown='Delmar', description='He rocks')
    artist2 = Artist(name='Doug Turnbull', hometown='Ithaca', description='He always rocks')
    artist3 = Artist(name='John Doe', hometown='Cortland', description='He never rocks')
    db.session.add_all([artist1, artist2, artist3])
    db.session.commit()
    d1 = datetime(2019, 10, 19, 20, 0)
    event1 = Event(title='Jam Fest', date=d1, venueID=1)
    d2 = datetime(2019, 11, 15, 21, 0)
    event2 = Event(title='Turn up', date=d2, venueID=1)
    d3 = datetime(2019, 12, 5, 19, 0)
    event3 = Event(title='Fun Time', date=d3, venueID=3)
    db.session.add_all([event1, event2, event3])
    db.session.commit()
    venue1 = Venue(title='The Haunt', city='Ithaca', state='New York', capacity=100)
    venue2 = Venue(title='Moonies', city='Ithaca', state= 'New York', capacity=200)
    venue3 = Venue(title='Silky Jones', city='Ithaca', state='New York', capacity=300)
    db.session.add_all([venue1, venue2, venue3])
    db.session.commit()
    a2e1 = ArtistToEvent(artist=artist1, event=event1)
    a2e2 = ArtistToEvent(artist=artist2, event=event1)
    a2e3 = ArtistToEvent(artist=artist3, event=event3)
    a2e4 = ArtistToEvent(artist=artist1, event=event3)
    db.session.add_all([a2e1, a2e2, a2e3, a2e4])
    db.session.commit()
    return render_template('index.html', title='Home')
예제 #6
0
def reset_db():
    flash(
        "Resetting database: deleting old data and repopulating with dummy data"
    )
    # clear all data from all tables
    meta = db.metadata
    for table in reversed(meta.sorted_tables):
        print('Clear table {}'.format(table))
        db.session.execute(table.delete())
    db.session.commit()
    default_venues = [
        Venue(name='Stewart Park',
              address='1 James L Gibbs Dr, Ithaca, NY 14850'),
        Venue(name='The Haunt', address='702 Willow Ave, Ithaca, NY 14850'),
        Venue(name='Ithaca College', address='953 Danby Rd, Ithaca, NY 14850')
    ]
    dates = [
        datetime(2018, 9, 21, 20, 0, 0),
        datetime(2018, 3, 7, 20, 0, 0),
        datetime(2034, 5, 18, 21, 0, 0)
    ]
    default_events = [
        Event(name='Cayuga Sound Festival', time=dates[0], venue_id=1),
        Event(name='Matt and Kim Concert', time=dates[1], venue_id=2),
        Event(name='Young The Giant Concert', time=dates[2], venue_id=2),
        Event(name='Jon Bellion Concert', time=dates[1], venue_id=3)
    ]
    default_artists = [
        Artist(name='X Ambassadors',
               hometown='Ithaca, NY',
               description='The X Ambassadors description'),
        Artist(name='Young The Giant',
               hometown='Irvine, CA',
               description='Young The Giant description'),
        Artist(name='Matt and Kim',
               hometown='Boston, MA',
               description='Matt and Kim description'),
        Artist(name='Roots',
               hometown='Philadelphia, PA',
               description='Roots description'),
        Artist(name='Jon Bellion',
               hometown='Smithtown, NY',
               description='Jon Bellion description')
    ]
    default_a_to_e = [
        ArtistToEvent(artist_id=1, event_id=1),
        ArtistToEvent(artist_id=2, event_id=1),
        ArtistToEvent(artist_id=3, event_id=1),
        ArtistToEvent(artist_id=3, event_id=2),
        ArtistToEvent(artist_id=2, event_id=3),
        ArtistToEvent(artist_id=4, event_id=1),
        ArtistToEvent(artist_id=5, event_id=4)
    ]
    db.session.add_all(default_artists)
    db.session.add_all(default_venues)
    db.session.add_all(default_events)
    db.session.add_all(default_a_to_e)
    db.session.commit()
    return redirect(url_for('index'))
예제 #7
0
 def test_event_find(self):
     event = Event().find()
     self.assertIsNone(event)
     event = Event(1).find()
     self.assertIsNotNone(event)
     self.assertTupleEqual(
         event, (1, '19 Da', '2017-10-01 00:00', '2017-10-01 23:59',
                 'Renmin Dahuitang', 'Follow the party', 1))
     self.assertIsNone(Event(4).find())
예제 #8
0
def loadData(db):
    from app.models import User, Event, User_Event

    db.drop_all()
    db.create_all()

    jack = User(username='******', password='******')
    jane = User(username='******', password='******')
    jacob = User(username='******', password='******')
    jerry = User(username='******', password='******')
    jesse = User(username='******', password='******')
    josef = User(username='******', password='******')
    jude = User(username='******', password='******')
    jackson = User(username='******', password='******')
    jupiter = User(username='******', password='******')

    db.session.add_all(
        [jack, jane, jacob, jerry, jesse, josef, jude, jackson, jupiter])
    db.session.commit()

    hiking = Event(title="Let's go to Mountain Tai!", host_id=jane.user_id, \
     description="We wish you'll enjoy it~", city='Jinan', quota_limit=30, \
     location='Road 23', date='2019-05-30', poster='mountain.jpg')
    pythonConf = Event(title="Python Conference", host_id=jacob.user_id, \
     description="A conference for Python lovers.", city='Tianjin', quota_limit=100,  \
     location='Road 67', date='2019-08-10', poster='code.jpg')
    skateboardingDay = Event(title="World Skateboarding Day", host_id=jude.user_id, \
     description="All skaters in town, come celebrate the day!", city='Beijing', quota_limit=200, \
     location='XX Square', date='2019-06-21', poster='skateboarding.jpg')
    cycling = Event(title="Yuantong Mountain Riding", host_id=jerry.user_id, \
     description="We look for cycle lovers!", city='Kunming', quota_limit=14, \
     location='Yuantong Mountain', date='2019-12-07', poster='cycle.jpg')
    readingShareSession = Event(title="Reading Share Session", host_id=jacob.user_id, \
     description="New Book Sharing Session", city='Beijing', quota_limit=18, \
     location='Kubrick Book Store', date='2019-11-12', poster='bookstore.jpg')

    db.session.add_all(
        [hiking, pythonConf, skateboardingDay, cycling, readingShareSession])
    db.session.commit()

    jackGoHiking = User_Event(attendee_id=jack.user_id, event_id=hiking.event_id, \
     status=1, form="I wanna join!")
    jesseGoPythonCof = User_Event(attendee_id=jesse.user_id, event_id=pythonConf.event_id, \
     status=1, form="Pythonist here~")
    jerryGoSkateboardingDay = User_Event(attendee_id=jerry.user_id, event_id=skateboardingDay.event_id, \
     status=1, form="A 3 years sk8er.")
    jerryGoReadingShareSession = User_Event(attendee_id=jerry.user_id, event_id=readingShareSession.event_id, \
     status=1, form="Excited about the new book!")
    janeGoReadingShareSession = User_Event(attendee_id=jane.user_id, event_id=readingShareSession.event_id, \
     status=1, form="I'm a fan of the author ;)")

    db.session.add_all([
        jackGoHiking, jesseGoPythonCof, jerryGoSkateboardingDay,
        jerryGoReadingShareSession, janeGoReadingShareSession
    ])
    db.session.commit()
예제 #9
0
    def test_event_end_datetimes_none_with_incomplete_data(self):
        """Test that when events are created without both of end_date and
        end_time, end_datetime() returns None.
        """
        e = Event(title=self.TITLE,
                  creator=self.USER,
                  end_date=self.END.date())
        self.assertIsNone(e.end_datetime())

        f = Event(title=self.TITLE,
                  creator=self.USER,
                  end_time=self.END.time())
        self.assertIsNone(f.end_datetime())
예제 #10
0
    def test_event_start_datetimes_none_with_incomplete_data(self):
        """Test that when events are created without both of start_date and
        start_time, start_datetime() returns None.
        """
        e = Event(title=self.TITLE,
                  creator=self.USER,
                  start_date=self.START.date())
        self.assertIsNone(e.start_datetime())

        f = Event(title=self.TITLE,
                  creator=self.USER,
                  start_time=self.START.time())
        self.assertIsNone(f.start_datetime())
예제 #11
0
def populate_db():
    c1 = City(name='Ithaca, NY')
    c2 = City(name='Binghamton, NY')
    c3 = City(name='Syracuse, NY')
    c4 = City(name='Rochester, NY')
    db.session.add_all([c1, c2, c3, c4])
    db.session.commit()
    a1 = Artist(name="Driftwood", description="Folk Rock", cityID=c2.id)
    a2 = Artist(name="Quail", description="Funk and Brass", cityID=c1.id)
    a3 = Artist(name="VeeDaBee", description="Rock Band", cityID=c1.id)
    a4 = Artist(name="Danielle Ponder", description="Soul", cityID=c4.id)
    db.session.add_all([a1, a2, a3, a4])
    db.session.commit()
    v1 = Venue(name='The Haunt', cityID=c2.id)
    v2 = Venue(name='State Theater', cityID=c1.id)
    v3 = Venue(name='Stewart Park', cityID=c1.id)
    v4 = Venue(name='University', cityID=c2.id)
    v5 = Venue(name='Oncenter', cityID=c3.id)
    db.session.add_all([v1, v2, v3, v4, v5])
    db.session.commit()
    e1 = Event(name='Ithaca Porchfest',
               time=datetime(2020, 11, 5, 20, 00),
               venueID=v3.id)
    e2 = Event(name='2020 Tour',
               time=datetime(2020, 10, 20, 18, 00),
               venueID=v5.id)
    e3 = Event(name='Anniversary Concert',
               time=datetime(2020, 10, 20, 19, 00),
               venueID=v1.id)
    e4 = Event(name='2020 Tour',
               time=datetime(2020, 10, 29, 18, 00),
               venueID=v2.id)
    e5 = Event(name='2020 Tour',
               time=datetime(2020, 10, 20, 12, 00),
               venueID=v4.id)
    db.session.add_all([e1, e2, e3, e4, e5])
    db.session.commit()
    x1 = ArtistToEvent(artistID=a1.id, eventID=e3.id)
    x2 = ArtistToEvent(artistID=a2.id, eventID=e3.id)
    x3 = ArtistToEvent(artistID=a1.id, eventID=e1.id)
    x4 = ArtistToEvent(artistID=a3.id, eventID=e4.id)
    x5 = ArtistToEvent(artistID=a4.id, eventID=e5.id)
    x6 = ArtistToEvent(artistID=a3.id, eventID=e2.id)
    db.session.add_all([x1, x2, x3, x4, x5, x6])
    db.session.commit()
    u1 = User(username='******',
              email=('*****@*****.**'),
              password_hash='Password')
    db.session.add(u1)
    db.session.commit()
    return render_template('base.html', title='Populate DB')
예제 #12
0
def populate_db():
    b1 = Bard(name="Marillion",
              description="I'm drunk but talented and know many sad lays.")
    b1.set_password("Marillion")
    b2 = Bard(
        name="Tom O Sevenstrings",
        description="No one plays quite like me. I know hundreds of songs.")
    b3 = Bard(name="The Blue Bard",
              description="My hair is bright blue and I know a tune or two.")
    b4 = Bard(
        name="Symon Silvertongue",
        description=
        "I am not merely a reciter of tunes. I am an accomplished lyricist.")
    b5 = Bard(name="Shylock the Shy", description="I prefer to play alone.")
    db.session.add_all([b1, b2, b3, b4, b5])
    db.session.commit()
    e1 = Event(eventname="The Great Tourney",
               venueID=1,
               startTime=datetime(1604, 3, 5))
    e2 = Event(eventname="Bilbo's 111th Birthday",
               venueID=2,
               startTime=datetime(3001, 9, 22))
    e3 = Event(eventname="Frodo's Birthday",
               venueID=2,
               startTime=datetime(3001, 9, 22))
    e4 = Event(eventname="Joffrey's Wedding",
               venueID=1,
               startTime=datetime(1207, 3, 9))
    e5 = Event(eventname="Manwe's Great Feast",
               venueID=3,
               startTime=datetime(1006, 3, 19))
    db.session.add_all([e1, e2, e3, e4, e5])
    db.session.commit()
    be1 = BardToEvent(bardID=b1.id, eventID=e1.id)
    be2 = BardToEvent(bardID=b1.id, eventID=e5.id)
    be3 = BardToEvent(bardID=b2.id, eventID=e1.id)
    be4 = BardToEvent(bardID=b4.id, eventID=e1.id)
    be5 = BardToEvent(bardID=b3.id, eventID=e4.id)
    be6 = BardToEvent(bardID=b2.id, eventID=e3.id)
    be7 = BardToEvent(bardID=b3.id, eventID=e5.id)
    db.session.add_all([be1, be2, be3, be4, be5, be6, be7])
    db.session.commit()
    v1 = Venue(village="King's Landing", kingdom="Westeros")
    v2 = Venue(village="The Shire", kingdom="Middle Earth")
    v3 = Venue(village="Valinor", kingdom="Arda")
    db.session.add_all([v1, v2, v3])
    db.session.commit()
    return render_template('base.html', title='Populate DB')
예제 #13
0
def create_timepunch(punch_type, punch_time, reason):
    """
    Creates a timepunch, adds it to the database, and sends an email to the appropriate user so
    that it may be approved or denied.
    :param punch_type: [String] type of requested punch (True for in, False for out)
    :param punch_time: [datetime] time of requested punch
    :param reason: [string] reason for timepunch submission
    :return: None
    """
    current_app.logger.info("Start function create_timepunch()")
    punch_type = (
        punch_type == "In"
    )  # Must manually cast string to bool because wtf doesn't support coerce bool
    event = Event(
        time=punch_time,
        type=punch_type,
        note=reason,
        user=current_user,
        timepunch=True,
        approved=False,
        pending=True,
    )
    db.session.add(event)
    db.session.commit()
    send_email(
        current_user.supervisor.email,
        "Timeclock - TimePunch Request from {} {}".format(
            current_user.first_name, current_user.last_name),
        "/main/email/request_timepunch",
        user=current_user,
        punch_time=punch_time,
        type=punch_type,
        note=reason,
    )
예제 #14
0
파일: routes.py 프로젝트: eyalfoni/trek
def add_resource(resource_type, trip_id):
    location_json = json.loads(request.form['place'])
    if resource_type == 'hotel':
        stay = Stay(name=location_json['name'],
                    trip_id=trip_id,
                    start_date=request.form['check_in_date'],
                    end_date=request.form['check_out_date'],
                    location=location_json)
        stay.users.append(current_user)
        db.session.add(stay)
        db.session.commit()
    elif resource_type == 'event':
        event_type = None
        if request.form['event_type'] != 'other':
            event_type = request.form['event_type']
        event = Event(name=request.form['name'],
                      user_id=current_user.id,
                      trip_id=trip_id,
                      start_datetime=to_utc_time(
                          datetime.strptime(request.form['start_time'],
                                            '%Y-%m-%dT%H:%M')),
                      end_datetime=to_utc_time(
                          datetime.strptime(request.form['end_time'],
                                            '%Y-%m-%dT%H:%M')),
                      event_type=event_type,
                      location=location_json)
        db.session.add(event)
        db.session.commit()
    return jsonify({})
예제 #15
0
def new_event(equipment_id, date_input, timeslot):
    """Display the event creation page & process data from the creation form."""
    form = EventForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            event = Event(
                title=form.title.data,
                color=form.color.data,
                date=form.date.data,
                timeslot=form.timeslot.data,
                user=
                current_user,  #User(id= 3, username= "******", password= "******"),
                equipment=form.equipment.data)
            db.session.add(event)
            db.session.commit()
            flash('Event Created.')
        print(form.errors)
        return redirect(url_for('main.home'))
    else:
        context = {
            "timeslot_input": timeslot,
            "date_input": date_input,
            "min_date": datetime.now(),
            'max_date': datetime.now() + timedelta(days=25),
        }
        form.date.default = date_input
        form.timeslot.default = timeslot
        form.equipment.default = [equipment_id]
        print(form.errors)
        return render_template('new_event.html', form=form)
예제 #16
0
def event_validation(event_dict):
    response_dict = {}

    if (event_dict['start_time'] > event_dict['end_time']):
        response_dict['success'] = 'false'
        response_dict['message'] = 'Invalid start or end time'
        return response_dict

    events_in_db = Event.objects(track=event_dict['track'])

    for db_event in events_in_db:
        if (event_dict['start_time'] <= db_event.start_time <= event_dict['end_time']) \
        or (event_dict['start_time'] <= db_event.end_time <= event_dict['end_time']) \
        or ((event_dict['start_time'] >= db_event.start_time) and (event_dict['end_time'] <= db_event.end_time)) \
        or ((event_dict['start_time'] <= db_event.start_time) and (event_dict['end_time'] >= db_event.end_time)):
            response_dict['success'] = 'false'
            response_dict['message'] = 'Selected time is in use'
            return response_dict
    response_dict['success'] = 'true'
    response_dict['message'] = 'confirmed'

    new_event = Event(name=event_dict['name'], start_time=event_dict['start_time'], \
                      end_time=event_dict['end_time'], track=event_dict['track'])
    new_event.save()
    return response_dict
예제 #17
0
def createEvent():
    form = EventForm()
    if form.validate_on_submit():
        new_event = Event(
            name=form.eventName.data,
            start=form.startTime.data,
            end=form.endTime.data,
            dates=form.dates.data,
            creator=(current_user.username if current_user.is_authenticated
                     else random.choice(anonymousNames)),
            creatorId=(current_user.user_id
                       if current_user.is_authenticated else 0))
        if current_user.is_authenticated:
            new_event.users.append(current_user)
        colors = {}
        schedule = Schedule(new_event)
        for time in schedule.times:
            for date in schedule.dates:
                colors[date + " " + time] = "#f0f0f0"
        new_event.overlap_colors = colors
        new_event.user_schedules = {}
        db.session.add(new_event)
        db.session.commit()
        flash('|' + form.eventName.data + ' has been created with ID ' +
              str(new_event.event_id) + '.')
    else:
        flash_errors(form, '-')
        return redirect('/')
    return redirect('/' + str(new_event.event_id))
예제 #18
0
def parse(msg):
    msg = msg.split('::: A USER HAS ENTERED A REQUEST FOR A AUDIO VISUAL WORK ORDER ::::')
    if len(msg) != 2:
        # decline all messages that aren't work orders
        logging.error("Message is not a valid work order. Disposing message.")
        return

    # split up the divider between info and equipment
    vals = msg[1].split('================================================')

    if len(vals) != 2: # decline all messages that aren't work orders
        return

    info = parse_info(vals[0], vals[1])
    logging.info(info)

    if info is None:
        return

    events_query = Event.query(
        ndb.AND(Event.name == info['name'], Event.date == info['date']),
        ndb.AND(Event.end_time == info['end_time'], Event.start_time == info['start_time'])
    )
    events_list = events_query.fetch()

    if len(events_list) == 0:
        Event(**info).put()
예제 #19
0
파일: events.py 프로젝트: jack0x539/cycleng
def update_event(id):
    data = {
        "name": querystring_get("name"),
        "description": querystring_get("description")
    }

    if not data["name"]:
        Alert.bad("The <strong>name</strong> field is required")
        return render_template("event/view.html", **data)

    create = str(id).lower() == "create"

    item = None
    if create:
        item = Event()
    else:   
        item = api.get(Event, id)
        if not item:
            Alert.bad("Could not find <strong>Event</strong> {}; {}".format(id, api.error))
            return render_template("event/view.html", **data)

    item.name = data["name"]
    item.description = data["description"]
    item = api.update(Event, item)
    
    if not item:
        Alert.bad(api.error)
        return render_template("event/view.html", **data)
    
    Alert.good("Event <strong>{}</strong> {}".format(item.name, "created" if create else "updated"))
    return redirect("/events/{}".format(item.id))
예제 #20
0
def create_event_on_patient(request, pid):
    patient = Patient.objects.get(pk=pid)
    instance = Event()
    form = EventForm(request.POST or None,
                     instance=instance,
                     initial={'patient': patient})
    return handle_create_form(request, form)
예제 #21
0
def save():
    try:
        #get headers first
        day = request.headers.get('day')
        month = request.headers.get('month')
        year = request.headers.get('year')
        title = request.headers.get('title')
        notes = request.headers.get('notes')

        #if not all exist, return error
        if not day and not month and not year and not title and not notes:
            return jsonify({'error': 'Invalid parameters.'})

        #create an event
        event = Event(day=day,
                      month=month,
                      year=year,
                      title=title,
                      notes=notes)

        #add and commit to db
        db.session.add(event)
        db.session.commit()
        return jsonify({'success': 'Saved Event'})
    except:
        return jsonify({'error': 'Invalid parameters, did not save'})
예제 #22
0
def event_new():
    form=EventForm()
    form.school.choices = [(s.school_name) for s in School.query.order_by(School.school_name)]
    if current_user.access_level==1:
        del form.person_completed
    else:
        form.person_completed.choices = [(e.employee_id, e.full_name) for e in User.query.order_by('last_name')]
    if form.validate_on_submit():
        dt = datetime.now()
        x= dt.strftime("%Y-%m-%d %H:%M:%S")
        if current_user.access_level==1:
            person_completed=current_user.employee_id
        else:
            person_completed=form.person_completed.data
        new_event=Event(event_type=form.event_type.data, school=form.school.data, summary=form.summary.data, complete_timestamp=datetime_sql(x), \
        person_completed=person_completed, last_edited_timestamp=datetime_sql(x), person_last_edited=current_user.employee_id, \
        role_contacted=form.role_contacted.data)
        if form.student_id.data:
            new_event.student_id=form.student_id.data
        if form.name_contacted.data:
            new_event.name_contacted=form.name_contacted.data
        db.session.add(new_event)
        db.session.commit()
        return {'success' : 'Event Successfully Created!'}
        
    return render_template('event_boot.html', user=current_user, form=form, edit=None, task=None, event=None)  
예제 #23
0
def add_entry_to_db(entry, is_event=True):
    """
    @purpose:   Adds an entry to the database
    @args:  The entry as a dictionary, a bool to tell if it is an event
    @return:    True / False based on the commit to the database
    """
    if is_event:
        try:
            entry_id = len(Event.query.all())
            if entry_id == 0:
                entry_id = 1
            else:
                entry_id += 1
            new_event = Event(entry['event_name'], entry['start_time'],
                              entry['end_time'], entry_id)
            db.session.add(new_event)
            db.session.commit()
            return entry_id
        except:
            return 0
    else:
        try:
            new_driver = DD(entry['name'], entry['pwd'], entry['phone'])
            db.session.add(new_driver)
            db.session.commit()
            return len(new_driver)
        except:
            return 0
예제 #24
0
    def delete(self, eventId):
        event = Event()
        if 'token' not in request.headers:
            return {'message': 'User not signed in'}, 401

        token = request.headers['token']
        user_id = event.decode_token(token)
        delete_event = Event.query.get(eventId)

        if not delete_event:
            return jsonify({
                'success': 'false',
                'message': 'Event does not exist'
            }), 404

        if user_id != delete_event.user_id:
            return {
                'message': 'You do not have permission to delete this event'
            }, 401

        db.session.delete(delete_event)
        db.session.commit()

        return {
            'success': 'true',
            'message': 'Event deleted successfully'
        }, 200
예제 #25
0
파일: views.py 프로젝트: vtzk/dodo.md
def event():
    form = EventForm(request.form, csrf_enabled=True)
    print request.method
    if request.method == 'POST':
        print form.target_group_id.data
        target_group = form.target_group_id.data
        type_event = form.type_event_id.data
        category = form.category_id.data
        district = form.district_id.data
        print target_group, type_event, category, district

        print "method POST - save data to database"
        # print form.district_id.enco  de('utf8')
        form_tasks = Event(titlu=form.titlu.data,
                           start_date=form.start_date.data,
                           end_date=form.end_date.data,
                           organizers=form.organizers.data,
                           price=form.price.data,
                           photo=form.photo.data,
                           phone=form.phone.data,
                           content=form.content.data,
                           additional_info=form.additional_info.data,
                           location=unicode(form.location.data),
                           target_group_id=target_group.id,
                           type_event_id=type_event.id,
                           category_id=category.id,
                           district_id=district.id)
        # form.populate_obj(form_tasks)
        db.session.add(form_tasks)
        db.session.commit()
        return redirect("/")
    return render_template("event.html", form=form)
예제 #26
0
def home2(request):
    if request.method=='POST':
        nam1= request.POST['name']
        loc1= request.POST['location']
        lin1= request.POST['link']
        fro1= request.POST['from']
        to1= request.POST['to']
        dea1= request.POST['dead']
        ema1= request.POST['email']
        pas1= request.POST['password']
        des1=request.POST['desc']
        fti1= request.POST['ftime']
        tti1= request.POST['ttime']
        dti1= request.POST['dtime']
        data= Event(name=nam1,location=loc1,link=lin1,from_date=fro1,to_date=to1,Reg_deadline=dea1,email=ema1,password=pas1,from_time=fti1,to_time=tti1,deadline_time=dti1,description=des1)
        data.save()
        subject="Event registered successfully..."
        message="Thank you for using our service..\n"\
                +"Event name : "+ nam1\
                +"\nEvent ID : "+ str(data.id)\
                +"\n\nUse this ID to access Event Dashboard"
        send_mail(subject,message,
        '*****@*****.**',
        [ema1],
        fail_silently=False)
        return render(request,"home.html")
    return render(request,"event.html")
예제 #27
0
def save():
    # get headers first
    # NOTE: nothing to do with html headers
    title = request.headers.get('title')
    day = request.headers.get('day')
    month = request.headers.get('month')
    year = request.headers.get('year')
    notes = request.headers.get('notes')
    email = request.headers.get('email')

    # if any info is missing, give back an error jsonified message
    if not day or not title or not month or not year or not notes:
        return jsonify({ 'error' : 'Invalid parameters' })

    # all info is included, save the event
    event = Event(title=title, day=day, month=month, year=year, notes=notes)

    # add to db
    db.session.add(event)
    db.session.commit()


    sendEmail(title, day, month, year, notes, email)


    return jsonify({ 'success' : 'Saved Event' })

    return jsonify({ 'error' : 'Error #002: Could not save event' })
예제 #28
0
def post_event(user):
	data = json.loads(request.data)

	print data

	begin = parse(data['begin'])
	end = parse(data['end'])

	for event in Event.query.filter(Event.room_id == data['room_id']).all():
		if event.begin < begin < event.end or \
		begin < event.begin < end or (event.begin == begin and event.end == end):
			return 'time unavailable', 400

	event = Event(
		title=data['title'],
		description=data['description'],
		begin=begin,
		end=end,
		room_id=data['room_id'],
		user_id=user.id
	)

	db.session.add(event)
	db.session.commit()

	send_info_mail(user.email, event)

	return 'success', 201
예제 #29
0
def add_event():
    events_form = EventsForm()
    print(f'add_event request.method {request.method} ')
    if request.method == 'POST':

        if events_form.validate_on_submit():

            author = request.form.get('author')
            from_date = request.form.get('from_date')
            to_date = request.form.get('to_date')
            theme = request.form.get('theme')
            description = request.form.get('description')
            author = current_user.email
            print(f'author {author}')
            ev = Event(author=author,
                       from_date=from_date,
                       to_date=to_date,
                       theme=theme,
                       description=description)
            db.session.add(ev)
            db.session.commit()
            return redirect('/events_list')
        flash(f'Form was not validated {events_form.errors}')

    return render_template('events.html', form=events_form)
예제 #30
0
def createEvent():
    formpage = formCreateEvent()

    if formpage.validate_on_submit():
        reg = Event(name=formpage.name.data,
                    date=formpage.date.data,
                    bp_id=session.get('id'),
                    description=formpage.description.data,
                    numofPeople=0,
                    location=formpage.location.data)

        db.session.add(reg)
        db.session.commit()

        return redirect(
            url_for('home'))  # btw the BP should see the new event on its wall
    #if BP then ok
    if session.get('student') == False:
        return render_template('createevent.html',
                               formpage=formpage,
                               title='Create new Event')
    elif session.get('student') == True:
        return render_template('youcannot.html')
    else:
        return redirect('login')