def meetings_history(eigs): meetings = [ Meeting(eigs[0], eigs[3], done=True), Meeting(eigs[4], eigs[8], done=True), Meeting(eigs[6], eigs[10], done=True), Meeting(eigs[9], eigs[2], done=True), ] return MeetingSet(meetings=meetings)
def test_meeting_set_contains(): eig_1 = Eig(name="eig 1", project="project 1") eig_2 = Eig(name="eig 2", project="project 2") eig_3 = Eig(name="eig 3", project="project 3") meetings_set = MeetingSet(meetings=[Meeting(eig_1=eig_1, eig_2=eig_2)]) assert Meeting(eig_1=eig_1, eig_2=eig_2) in meetings_set # Reversed meeting assert Meeting(eig_1=eig_2, eig_2=eig_1) in meetings_set assert Meeting(eig_1=eig_2, eig_2=eig_3) not in meetings_set
def test_meeting_overlap(): eig_1 = Eig(name="eig 1", project="project 1") eig_2 = Eig(name="eig 2", project="project 2") eig_3 = Eig(name="eig 3", project="project 3") eig_4 = Eig(name="eig 4", project="project 3") meeting_1 = Meeting(eig_1=eig_1, eig_2=eig_2) meeting_2 = Meeting(eig_1=eig_1, eig_2=eig_3) meeting_3 = Meeting(eig_1=eig_3, eig_2=eig_4) assert meeting_1.overlap(meeting_2) assert not meeting_1.overlap(meeting_3)
def test_get_meeting_join_info(client: FlaskClient) -> None: user1 = User(uuid=example_uuid1) user2 = User(uuid=example_uuid2) user3 = User(uuid=example_uuid3) meeting = Meeting(uuid=example_uuid4, owner=user1, name='Lorem ipsum', description='Lorem ipsum sit dolor amet.', datetime=datetime(2020, 1, 2, 3, 4, 5)) membership1 = Membership(meeting=meeting, user=user1, nickname='Alice') membership2 = Membership(meeting=meeting, user=user2, nickname='Bob') membership3 = Membership(meeting=meeting, user=user3, nickname='Charlie') db.session.add(membership1) db.session.add(membership2) db.session.add(membership3) db.session.commit() response = client.get(f'/api/v1/meetings/{meeting.uuid}') assert response.status_code == 200 assert response.json == { 'name': 'Lorem ipsum', 'datetime': '2020-01-02T03:04:05', 'members_count': 3, 'owner_nickname': 'Alice', }
def test_meeting_participate(): eig_1 = Eig(name="eig 1", project="project 1") eig_2 = Eig(name="eig 2", project="project 2") eig_3 = Eig(name="eig 3", project="project 3") meeting = Meeting(eig_1=eig_1, eig_2=eig_2) assert meeting.eig_participate(eig_1) assert meeting.eig_participate(eig_2) assert not meeting.eig_participate(eig_3)
def test_leave_meeting_owner(client: FlaskClient) -> None: owner = User(uuid=example_uuid1) meeting = Meeting(uuid=example_uuid2, owner=owner) membership = Membership(meeting=meeting, user=owner) db.session.add(membership) db.session.commit() response = client.delete( f'/api/v1/memberships/{meeting.uuid}/{owner.uuid}') assert response.status_code == 403 assert response.json == {'error': 'Meeting owner cannot leave meeting'}
def test_get_from_hash(): eig_1 = Eig(name="eig 1", project="project 1") eig_2 = Eig(name="eig 2", project="project 2") promo = Promo(promo_number=1, eigs=[eig_1, eig_2]) done = True meeting = Meeting(eig_1=eig_1, eig_2=eig_2, done=done) hash = f"{eig_1.get_hash()}_{eig_2.get_hash()}" meeting_from_hash = Meeting.get_from_hash(meeting_hash=hash, promo=promo, done=done) assert meeting == meeting_from_hash
def test_get_membership_details(client: FlaskClient) -> None: user1 = User(uuid=example_uuid1) user2 = User(uuid=example_uuid2) meeting = Meeting(uuid=example_uuid3, owner=user1, name='Lorem ipsum', description='Lorem ipsum sit dolor amet.', datetime=datetime(2020, 1, 2, 3, 4, 5), stop_name='Czarnowiejska') membership1 = Membership(meeting=meeting, user=user1, nickname='Alice', stop_name='Kawiory') membership2 = Membership(meeting=meeting, user=user2, nickname='Bob', stop_name='Muzeum Narodowe') db.session.add(membership1) db.session.add(membership2) db.session.commit() response = client.get(f'/api/v1/memberships/{meeting.uuid}/{user2.uuid}') assert response.status_code == 200 assert response.json == { 'uuid': meeting.uuid, 'name': 'Lorem ipsum', 'description': 'Lorem ipsum sit dolor amet.', 'datetime': '2020-01-02T03:04:05', 'stop_name': 'Czarnowiejska', 'members': [ { 'nickname': 'Alice', 'is_owner': True, 'is_you': False, 'stop_name': 'Kawiory', }, { 'nickname': 'Bob', 'is_owner': False, 'is_you': True, 'stop_name': 'Muzeum Narodowe', }, ], 'membership': { 'is_owner': False, 'stop_name': 'Muzeum Narodowe', } }
def test_join_meeting_already_a_member(client: FlaskClient) -> None: owner = User(uuid=example_uuid1) user = User(uuid=example_uuid2) meeting = Meeting(uuid=example_uuid3, owner=owner) membership = Membership(meeting=meeting, user=user, nickname='Bob') db.session.add(membership) db.session.commit() response = client.put(f'/api/v1/memberships/{meeting.uuid}/{user.uuid}', json={'nickname': 'Bobby'}) assert response.status_code == 400 assert response.json == {'error': 'Already a member'}
def test_get_user_meetings(client: FlaskClient) -> None: user1 = User(uuid=example_uuid1) user2 = User(uuid=example_uuid2) user3 = User(uuid=example_uuid3) meeting1 = Meeting(uuid=example_uuid4, owner=user1, name='Lorem ipsum') meeting2 = Meeting(uuid=example_uuid5, owner=user2, datetime=datetime(2020, 1, 2, 3, 4, 5)) membership1 = Membership(meeting=meeting1, user=user1, nickname='Alice') membership2 = Membership(meeting=meeting1, user=user3, nickname='Charlie') membership3 = Membership(meeting=meeting2, user=user1, nickname='Ala') membership4 = Membership(meeting=meeting2, user=user2, nickname='Bob') membership5 = Membership(meeting=meeting2, user=user3, nickname='Charlie') db.session.add(membership1) db.session.add(membership2) db.session.add(membership3) db.session.add(membership4) db.session.add(membership5) db.session.commit() response = client.get(f'/api/v1/users/{user1.uuid}/meetings') assert response.status_code == 200 assert response.json == { 'meetings': [ { 'uuid': meeting1.uuid, 'name': 'Lorem ipsum', 'nickname': 'Alice', 'datetime': None, 'members_count': 2, }, { 'uuid': meeting2.uuid, 'name': None, 'nickname': 'Ala', 'datetime': '2020-01-02T03:04:05', 'members_count': 3, }, ] }
def meeting(meeting_id): if request.method == 'PUT': meeting_data = Meeting(**get_request_data(request), e_tag=request.headers.get('If-Match')) if not meeting_data.validate(): return json_response({"message": "Meeting form is invalid"}, 400) return meeting_data.update(db.meetings, meeting_id, db.rooms, g.user) elif request.method == 'GET': return find_one_response(db.meetings, meeting_id) else: return delete_one_response(db.meetings, meeting_id)
def get(self): calendar = ManUpCalendar() feed = calendar.get_feed() for entry in feed.entry: for a_when in entry.when: date_string = a_when.start_raw[:19] date = datetime.datetime.strptime(date_string, '%Y-%m-%dT%H:%M:%S') for where in entry.where: meeting = Meeting(name=entry.title.text, start_date=date, location=where.value) meeting.put()
def test_edit_membership_details(client: FlaskClient) -> None: user = User(uuid=example_uuid1) meeting = Meeting(uuid=example_uuid2, owner=user) membership = Membership(meeting=meeting, user=user) db.session.add(membership) db.session.commit() response = client.patch(f'/api/v1/memberships/{meeting.uuid}/{user.uuid}', json={'stop_name': 'Chopina'}) assert response.status_code == 204 assert response.data == b'' membership = Membership.query.get((meeting.uuid, user.uuid)) assert membership.stop_name == 'Chopina'
def fixtures_load(): User.query.delete() users = [ { 'full_name': 'Максим Скочинский', 'email': '*****@*****.**', 'role': User.ROLE_MANAGER, 'username': '******', 'password': '******' }, { 'full_name': 'Максим Скочинский', 'email': '*****@*****.**', 'role': User.ROLE_ADMINISTRATOR, 'username': '******', 'password': '******' }, ] for user in users: manager = User() manager.full_name = user.get('full_name') manager.email = user.get('email') manager.role = user.get('role') manager.username = user.get('username') manager.set_password(user.get('password')) manager.generate_token() db.session.add(manager) for i in range(10): client = Client() client.full_name = fake.name() client.user = manager client.organization_name = fake.company() client.address = fake.address() client.phone_number = fake.phone_number() db.session.add(client) meeting = Meeting() meeting.user = manager meeting.client = client meeting.datetime = datetime.today() - timedelta(minutes=30) meeting.goal = 'Договор' meeting.address = client.address db.session.add(meeting) db.session.commit() pass
def test_leave_meeting(client: FlaskClient) -> None: owner = User(uuid=example_uuid1) user = User(uuid=example_uuid2) meeting = Meeting(uuid=example_uuid3, owner=owner) membership1 = Membership(meeting=meeting, user=owner) membership2 = Membership(meeting=meeting, user=user) db.session.add(membership1) db.session.add(membership2) db.session.commit() response = client.delete(f'/api/v1/memberships/{meeting.uuid}/{user.uuid}') assert response.status_code == 204 assert response.data == b'' assert Membership.query.get((meeting.uuid, user.uuid)) is None
def test_delete_outdated_meetings(session: Session, dt: Optional[datetime], should_be_deleted: bool): owner = User(uuid=example_uuid1) user = User(uuid=example_uuid2) meeting = Meeting(uuid=example_uuid3, owner=owner, datetime=dt) membership1 = Membership(meeting=meeting, user=owner, nickname='Alice') membership2 = Membership(meeting=meeting, user=user, nickname='Bob') db.session.add(membership1) db.session.add(membership2) db.session.commit() delete_outdated_meetings(session) assert (Meeting.query.get(example_uuid3) is None) is should_be_deleted assert (Membership.query.get((example_uuid3, example_uuid1)) is None) is should_be_deleted assert (Membership.query.get((example_uuid3, example_uuid2)) is None) is should_be_deleted
def get_meeting_values(self): if not self.meet: self.meet = Meeting() self.meet.id = 0 validator = Valid() self.meet.main_referee_id = self.main_referee.id self.meet.main_clerk_id = self.main_clerk.id self.meet.name = validator.escape(self.ui.nameEdit.text()) self.meet.start_date = self.ui.startDate.date().toPyDate().strftime( '%Y-%m-%d') self.meet.end_date = self.ui.endDate.date().toPyDate().strftime( '%Y-%m-%d') self.meet.city = validator.escape(self.ui.cityEdit.text()) self.meet.meetcount = self.ui.meetCountEdit.text() self.meet.main_referee_id = self.main_referee.id self.meet.main_clerk_id = self.main_clerk.id return self.meet
def test_join_meeting(client: FlaskClient) -> None: owner = User(uuid=example_uuid1) user = User(uuid=example_uuid2) meeting = Meeting(uuid=example_uuid3, owner=owner) db.session.add(meeting) db.session.add(user) db.session.commit() response = client.put(f'/api/v1/memberships/{meeting.uuid}/{user.uuid}', json={'nickname': 'Bob'}) assert response.status_code == 204 assert response.data == b'' membership = Membership.query.get((meeting.uuid, user.uuid)) assert membership is not None assert membership.nickname == 'Bob' assert membership.stop_name is None
def test_delete_meeting(client: FlaskClient) -> None: owner = User(uuid=example_uuid1) user = User(uuid=example_uuid2) meeting = Meeting(uuid=example_uuid3, owner=owner) membership1 = Membership(meeting=meeting, user=owner, nickname='Alice') membership2 = Membership(meeting=meeting, user=user, nickname='Bob') db.session.add(membership1) db.session.add(membership2) db.session.commit() response = client.delete(f'/api/v1/meetings/{meeting.uuid}', json={'owner_uuid': owner.uuid}) assert response.status_code == 204 assert response.data == b'' assert Meeting.query.get(meeting.uuid) is None assert Membership.query.get((meeting.uuid, owner.uuid)) is None assert Membership.query.get((meeting.uuid, user.uuid)) is None
def generate_random_meetings(promo: Promo, meetings_history: MeetingSet) -> List[Meeting]: potential_meetings = [] for eig_1, eig_2 in itertools.combinations(promo.eigs, 2): meeting = Meeting(eig_1=eig_1, eig_2=eig_2, done=False) if (meeting not in meetings_history) and (eig_1.project != eig_2.project): potential_meetings.append(meeting) n_sample = int(len(promo.eigs) / 2) sampling_done = False n_max_try = 10 n_try = 0 while (not sampling_done) and (n_try < n_max_try): sampling_done, meetings = sample_meetings(potential_meetings, n_sample) n_try += 1 print("Number of try: ", n_try) return meetings
def minutes(): form = forms.AddMeetingForm() if request.method == 'POST' and form.validate_on_submit(): if Meeting.query.filter_by(date=form.date.data).first(): form.date.errors.append( "Meeting Minutes for this date already exist.") return redirect(url_for('minutes')) try: pdf_src = save_uploaded_pdf(form.pdf.data) except Exception: form.pdf.errors.append("Error saving submitted PDF") return redirect(url_for('minutes')) meeting = Meeting(form.date.data, pdf_src) db.session.add(meeting) db.session.commit() meetings = Meeting.query.order_by(db.desc(Meeting.date)).all() return render_template('main/minutes.html', form=form, meetings=meetings)
def create_meeting(): check_json_data() owner_uuid = get_owner_uuid() name = get_meeting_name() description = get_meeting_description() dt = get_datetime() nickname = get_nickname() owner = find_user(owner_uuid) meeting = Meeting(name=name, description=description, datetime=dt, owner=owner) membership = Membership(meeting=meeting, user=owner, nickname=nickname) db.session.add(membership) db.session.commit() return make_response({ 'uuid': meeting.uuid, }, 201, {'Location': f'/api/v1/meetings/{meeting.uuid}'})
def test_edit_meeting(client: FlaskClient) -> None: owner = User(uuid=example_uuid1) meeting = Meeting(uuid=example_uuid2, owner=owner) db.session.add(meeting) db.session.commit() response = client.patch(f'/api/v1/meetings/{meeting.uuid}', json={ 'owner_uuid': owner.uuid, 'name': 'Lorem ipsum', 'description': 'Lorem ipsum sit dolor amet.', 'datetime': '2020-01-02T03:04:05', 'stop_name': 'Czarnowiejska', }) assert response.status_code == 204 meeting = Meeting.query.get(meeting.uuid) assert meeting.name == 'Lorem ipsum' assert meeting.description == 'Lorem ipsum sit dolor amet.' assert meeting.datetime == datetime(2020, 1, 2, 3, 4, 5) assert meeting.stop_name == 'Czarnowiejska'
def postMeeting(): data = request.get_json() date = str(data['date']) meeting_time = str(data['meeting_time']) attended = str(data['attended']) topics = str(data['topics']) todo = str(data['todo']) completed = str(data['completed']) try: meeting= Meeting( date = date, meeting_time = meeting_time, attended = attended, topics = topics, todo = todo, completed = completed ) db.session.add(meeting) db.session.commit() return "Meeting Added" except Exception as e: return str(e)
def post(self): args = post_sched_parser.parse_args() meeting = Meeting(meeting_time=args['meeting_time'], location=args['location'], course_id=args['course_id'], conversation_id=args['conversation_id'], requestor_id=args['requestor_id'], group_requestor_id=args['group_requestor_id']) if meeting == None: return 401 convo = Conversation.query.filter_by( id=args['conversation_id']).first() if convo == None: return 401 if convo.group_id == None: if convo.student_id == int(args["requestor_id"]): meeting.tutor_id = convo.tutor_id else: meeting.student_id = convo.student_id elif convo.student_id == None: if convo.tutor_id == int(args["requestor_id"]): meeting.group_id = convo.group_id else: meeting.tutor_id = convo.tutor_id else: if convo.student_id == int(args["requestor_id"]): meeting.group_id = convo.group_id else: meeting.student_id = convo.student_id db.session.add(meeting) db.session.commit() return 201
def meetings(id=None): if request.method == 'GET': if id is not None: meeting = Meeting.query.get(id) if meeting: return jsonify(meeting.serialize()), 200 else: return jsonify({"msg": "meeting not found"}), 404 else: meetings = Meeting.query.all() meetings = list(map(lambda meeting: meeting.serialize(), meetings)) return jsonify(meetings), 200 if request.method == 'POST': #create_date = request.json.get('create_date', None) meeting_date = request.json.get('meeting_date', None) meeting_hour = request.json.get('meeting_hour', None) project_name = request.json.get('project_name', None) title = request.json.get('title', None) topics = request.json.get('topics', None) guests = request.json.get('guests', None) place = request.json.get('place', None) description = request.json.get('description', None) target = request.json.get('target', None) done = request.json.get('done', None) user_id = request.json.get('user_id', None) if not meeting_date: return jsonify({"msg": "date is required"}), 422 if not meeting_hour: return jsonify({"msg": "hour is required"}), 422 if not project_name: return jsonify({"msg": "project name is required"}), 422 if not title: return jsonify({"msg": "title is required"}), 422 if not place: return jsonify({"msg": "place is required"}), 422 meeting = Meeting() #meeting.create_date = create_date meeting.meeting_date = meeting_date meeting.meeting_hour = meeting_hour meeting.project_name = project_name meeting.title = title meeting.place = place meeting.description = description meeting.target = target meeting.done = done meeting.user_id = user_id db.session.add(meeting) db.session.commit() if topics: if len(topics) > 1: for x in range(len(topics)): top = Topic() top.title = topics[x]["title"] top.priority = topics[x]["priority"] top.notes = topics[x]["notes"] top.care = topics[x]["care"] top.tracking = topics[x]["tracking"] top.duration = topics[x]["duration"] top.meeting_id = meeting.id db.session.add(top) else: top = Topic() top.title = topics[0]["title"] top.priority = topics[0]["priority"] top.notes = topics[0]["notes"] top.care = topics[0]["care"] top.tracking = topics[0]["tracking"] top.duration = topics[0]["duration"] top.meeting_id = meeting.id db.session.add(top) db.session.commit() if guests: if len(guests) > 1: for x in range(len(guests)): gue = Guest() gue.fullname = guests[x]["fullname"] gue.email = guests[x]["email"] gue.rol = guests[x]["rol"] gue.meeting_id = meeting.id db.session.add(gue) else: gue = Guest() gue.fullname = guests[0]["fullname"] gue.email = guests[0]["email"] gue.rol = guests[0]["rol"] gue.meeting_id = meeting.id db.session.add(gue) db.session.commit() return jsonify(meeting.serialize()), 201 if request.method == 'PUT': #create_date = request.json.get('create_date', None) meeting_date = request.json.get('meeting_date', None) meeting_hour = request.json.get('meeting_hour', None) project_name = request.json.get('project_name', None) title = request.json.get('title', None) topics = request.json.get('topics', None) guests = request.json.get('guests', None) place = request.json.get('place', None) description = request.json.get('description', None) target = request.json.get('target', None) done = request.json.get('done', None) user_id = request.json.get('user_id', None) # if not meeting_date: # return jsonify({"msg": "date is required"}), 422 # if not meeting_hour: # return jsonify({"msg": "hour is required"}), 422 # if not project_name: # return jsonify({"msg": "project name is required"}), 422 # if not title: # return jsonify({"msg": "title is required"}), 422 # if not place: # return jsonify({"msg": "place is required"}), 422 meeting = Meeting.query.get(id) if not meeting: return jsonify({"msg": "meeting not found"}), 404 #meeting.create_date = create_date meeting.meeting_date = meeting_date meeting.meeting_hour = meeting_hour meeting.project_name = project_name meeting.title = title meeting.place = place meeting.description = description meeting.target = target meeting.done = done meeting.user_id = user_id db.session.commit() if topics: if len(topics) > 0: for x in range(len(topics)): if topics[x]["id"] == 0: top = Topic() top.title = topics[x]["title"] top.priority = topics[x]["priority"] top.notes = topics[x]["notes"] top.care = topics[x]["care"] top.tracking = topics[x]["tracking"] top.duration = topics[x]["duration"] top.meeting_id = meeting.id db.session.add(top) else: top = Topic.query.get(topics[x]["id"]) top.title = topics[x]["title"] top.priority = topics[x]["priority"] top.notes = topics[x]["notes"] top.care = topics[x]["care"] top.tracking = topics[x]["tracking"] top.duration = topics[x]["duration"] top.meeting_id = meeting.id db.session.commit() if guests: if len(guests) > 0: for x in range(len(guests)): if guests[x]["id"] == 0: gue = Guest() gue.fullname = guests[x]["fullname"] gue.email = guests[x]["email"] gue.rol = guests[x]["rol"] gue.meeting_id = meeting.id db.session.add(gue) else: gue = Guest.query.get(guests[x]["id"]) gue.fullname = guests[x]["fullname"] gue.email = guests[x]["email"] gue.rol = guests[x]["rol"] gue.meeting_id = meeting.id db.session.commit() return jsonify(meeting.serialize()), 200 if request.method == 'DELETE': Topic.query.filter_by(meeting_id=id).delete() Guest.query.filter_by(meeting_id=id).delete() meeting = Meeting.query.get(id) if not meeting: return jsonify({"msg": "meeting not found"}), 404 db.session.delete(meeting) db.session.commit() return jsonify({"msg": "meeting deleted"}), 200
def initdb_command(): """Reinitializes the database""" db.drop_all() db.create_all() db.session.commit() users = [] users.append(User('Bob', 'Smith', '*****@*****.**', '1111111111', '123')) #1 users.append(User('Carol', 'Stevens', '*****@*****.**', '1111111111', '123')) #2 users.append(User('Anna', 'Martin', '*****@*****.**', '1111111111', '123')) #3 users.append(User('Daniel', 'Rutgers', '*****@*****.**', '1111111111', '123')) #4 users.append(User('Frank', 'Lorris', '*****@*****.**', '1111111111', '123')) #5 users.append(User('John', 'McNault', '*****@*****.**', '1111111111', '123')) #6 users.append(User('Peter', 'Johnson', '*****@*****.**', '1111111111', '123')) #7 users.append(User('Laura', 'Smith', '*****@*****.**', '1111111111', '123')) #8 users.append(User('Jennifer', 'Raj', '*****@*****.**', '1111111111', '123')) #9 users.append(User('Quan', 'Billson', '*****@*****.**', '1111111111', '123')) #10 users.append(User('Jamil', 'Reckta', '*****@*****.**', '1111111111', '123')) #11 users.append(User('Victor', 'Rapedip', '*****@*****.**', '1111111111', '123')) #12 users.append(User('Mark', 'Zuck', '*****@*****.**', '1111111111', '123')) #13 users.append(User('Laura', 'shpeng', '*****@*****.**', '1111111111', '123')) #14 for x in users: db.session.add(x) db.session.commit() groups = [] groups.append( Group('CS1530 Guys', 'A bunch of dudes studying software engineering', 1)) #group 1 groups.append(Group('CS1530 Girls', 'Ladies is pimps too', 1)) #group 2 groups.append(Group('Go Eagles', 'Phily > PIttsburgh', users[3].id)) #group 3 for x in groups: db.session.add(x) db.session.commit() users[0].groups.append(groups[0]) users[3].groups.append(groups[0]) users[4].groups.append(groups[0]) users[1].groups.append(groups[1]) users[2].groups.append(groups[1]) users[5].groups.append(groups[0]) users[6].groups.append(groups[1]) users[7].groups.append(groups[1]) users[8].groups.append(groups[0]) users[9].groups.append(groups[2]) users[10].groups.append(groups[2]) users[11].groups.append(groups[2]) users[12].groups.append(groups[2]) users[13].groups.append(groups[1]) db.session.commit() courses = [] courses.append( Course('Software Engineering', 'Formal methods of software engineering', 'CS', 1530)) #0 courses.append( Course('Database Management Systems', 'Database Management Systems', 'CS', 1555)) #1 courses.append(Course('Web Applications', 'Web Applications', 'CS', 1520)) #2 courses.append(Course('Operating Systems', 'Operating Systems', 'CS', 1550)) #3 courses.append( Course('Interface Design Methodology', 'Interface design for mobile applications', 'CS', 1635)) #4 courses.append( Course('High performance computing', 'Introduction to high performance computing', 'CS', 1645)) #5 courses.append( Course('Intro to Data Science', 'Intro to Data Science', 'CS', 1656)) #6 courses.append( Course('Intmdt Prog Using Java', 'Intermediate programming with java', 'CS', 401)) #7 courses.append( Course('Data Structures', 'Intro to data structures', 'CS', 445)) #8 courses.append( Course('Intro to System Software', 'Introduction to system software', 'CS', 449)) #9 for x in courses: db.session.add(x) db.session.commit() for i, x in enumerate(users): if i < 5: x.current_courses.append(courses[0]) x.current_courses.append(courses[1]) x.current_courses.append(courses[2]) x.current_courses.append(courses[3]) x.current_courses.append(courses[4]) else: x.current_courses.append(courses[5]) x.current_courses.append(courses[6]) x.current_courses.append(courses[7]) x.current_courses.append(courses[8]) x.current_courses.append(courses[9]) users.append(User('John', 'Doe', '*****@*****.**', '1111111111', '123')) for i, x in enumerate(users): if i < 7: x.past_courses.append(courses[5]) x.past_courses.append(courses[6]) x.past_courses.append(courses[7]) x.past_courses.append(courses[8]) x.past_courses.append(courses[9]) else: x.past_courses.append(courses[0]) x.past_courses.append(courses[1]) x.past_courses.append(courses[2]) x.past_courses.append(courses[3]) x.past_courses.append(courses[4]) db.session.commit() groups[0].group_courses.append(courses[0]) groups[1].group_courses.append(courses[0]) groups[2].group_courses.append(courses[3]) db.session.commit() convos = [] # group_id, tutor_id, student_id convos.append(Conversation(None, users[2].id, users[3].id)) #1 convos.append(Conversation(groups[0].id, None, users[3].id)) #2 convos.append(Conversation(groups[1].id, None, users[1].id)) #3 convos.append(Conversation(None, users[1].id, users[0].id)) #4 convos.append(Conversation(groups[2].id, None, users[4].id)) #5 convos.append(Conversation(None, users[6].id, users[7].id)) #6 convos.append(Conversation(None, users[9].id, users[8].id)) #7 convos.append(Conversation(None, users[10].id, users[12].id)) #8 for x in convos: db.session.add(x) db.session.commit() messages = [] messages.append( Message(users[2].id, datetime.datetime.now(), "What time would be good to meet?", convos[0].id)) messages.append( Message(users[3].id, datetime.datetime.now(), "Never dumbass LOL", convos[0].id)) messages.append( Message(users[2].id, datetime.datetime.now(), "Why can't you help me?", convos[0].id)) messages.append( Message(users[3].id, datetime.datetime.now(), "Was just joking, send me a meeting request", convos[0].id)) messages.append( Message(users[1].id, datetime.datetime.now(), "Shalom, looks like a prety cool group", convos[1].id)) messages.append( Message(groups[0].id, datetime.datetime.now(), "Yeah I know were pretty sick", convos[1].id)) messages.append( Message(groups[0].id, datetime.datetime.now(), "I don't know how to do problem number 3 from quiz 1", convos[1].id)) messages.append( Message(groups[0].id, datetime.datetime.now(), "Can anyone help me?", convos[1].id)) messages.append( Message(users[1].id, datetime.datetime.now(), "What is this group for?", convos[2].id)) messages.append( Message(users[1].id, datetime.datetime.now(), "Read the BIO!", convos[2].id)) messages.append( Message(users[1].id, datetime.datetime.now(), "What grade did you get in data structures?", convos[3].id)) messages.append( Message(users[0].id, datetime.datetime.now(), "An A-", convos[3].id)) messages.append( Message(users[1].id, datetime.datetime.now(), "Great! Let's schedule a tutoring session", convos[3].id)) messages.append( Message( users[4].id, datetime.datetime.now(), "If anyone needs assistance with their homework 3, shoot me a message", convos[4].id)) #5 messages.append( Message(groups[2].id, datetime.datetime.now(), "I think we all do, can we set up a group tutoring session", convos[4].id)) messages.append( Message( users[6].id, datetime.datetime.now(), "Struggling alot in 445, I saw you recently took that class. Can we set up a tutoring sesson?", convos[5].id)) messages.append( Message(users[7].id, datetime.datetime.now(), "Yes absolutely", convos[5].id)) messages.append( Message(users[6].id, datetime.datetime.now(), "Great! Let's schedule a tutoring session", convos[5].id)) messages.append( Message( users[9].id, datetime.datetime.now(), "Struggling alot in 1501, I saw you recently took that class. Can we set up a tutoring sesson?", convos[6].id)) messages.append( Message(users[8].id, datetime.datetime.now(), "Yes absolutely", convos[6].id)) messages.append( Message(users[9].id, datetime.datetime.now(), "Great! Let's schedule a tutoring session", convos[6].id)) messages.append( Message( users[10].id, datetime.datetime.now(), "Struggling alot in system architecture, I saw you recently took that class. Can we set up a tutoring sesson?", convos[7].id)) messages.append( Message(users[12].id, datetime.datetime.now(), "Yes absolutely", convos[7].id)) messages.append( Message(users[10].id, datetime.datetime.now(), "Great! Let's schedule a tutoring session", convos[7].id)) for x in messages: db.session.add(x) db.session.commit() meeting_reqs = [] meeting_reqs.append( Meeting(str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M")), "Cathy", courses[2].id, convos[1].id, users[3].id, None)) meeting_reqs.append( Meeting(str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M")), "Benny", courses[2].id, convos[1].id, None, groups[0].id)) meeting_reqs.append( Meeting(str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M")), "Hillman", courses[0].id, convos[0].id, users[1].id, None)) meeting_reqs.append( Meeting(str(datetime.datetime.now().strftime("%Y-%m-%d %H:%M")), "Market", courses[1].id, convos[2].id, users[1].id, None)) for x in meeting_reqs: db.session.add(x) db.session.commit() contact_req = [] contact_req.append( ContactRequest("Yo yo yo, add me dawg", users[0].id, users[0].id, None, groups[1].id)) contact_req.append( ContactRequest("Hiyah I need a tutor", users[2].id, users[2].id, users[3].id, None)) for x in contact_req: db.session.add(x) db.session.commit()
def __init__(self, meet=[]): super(MeetingDialog, self).__init__() self.initialize = False self.ui = CreateMeetingSlots() self.ui.setupUi(self) self.ui.addButton.clicked.connect(self.add_member_pressed) self.ui.removeButton.clicked.connect(self.remove_member_pressed) self.ui.raddButton.clicked.connect(self.radd_pressed) self.ui.rremoveButton.clicked.connect(self.rremove_pressed) # self.ui.refShedule.clicked.connect(self.refshed_pressed) self.ui.wsortitionButton.clicked.connect(self.wsortition_pressed) self.ui.sortitionButton.clicked.connect(self.sortition_pressed) self.ui.cancel.clicked.connect(self.cancel_pressed) self.ui.weightcatCBox.currentIndexChanged.connect( self.weight_category_changed) self.ui.mainrefCBox.currentIndexChanged.connect( self.main_referee_changed) self.ui.mainclerkCBox.currentIndexChanged.connect( self.main_clerk_changed) # self.ring = 1 self.meet = None if meet: self.meet = Meeting(meet) self.dbm = dbmanager() self.members = [] self.referees = [] self.weight_categories = [] self.meet_referees = [] self.not_meet_referees = [] self.meet_members = [] self.not_meet_members = [] self.current_weight_category = None self.main_referee = None self.main_clerk = None #элементы листбокса участников храню отдельно self.meet_members_items = {} self.weight_categories_ids = [] self.fighting_service = FightingsService(self.meet) try: self.fill_data() except Exception as e: print(e) if self.fighting_service.fightings_count: self.ui.addButton.setEnabled(False) self.ui.removeButton.setEnabled(False) self.initialize = True self.ui.weightcatCBox.setCurrentIndex(-1) self.ui.weightcatCBox.setCurrentIndex(0) self.ui.membersList.setContextMenuPolicy(QtCore.Qt.CustomContextMenu) self.ui.membersList.customContextMenuRequested.connect(self.show_cmenu) self.ui.membersList.itemPressed.connect(self.memberListItem_pressed) self.ui.athletesList.itemPressed.connect(self.athletesListItem_pressed) '''# TODO: сделать список выбора и заполнить его весовыми категориями'''