def new_task(): form = AnnouncementForm() if form.validate_on_submit(): task = Task(title = form.title.data, content = form.content.data, author = current_user) db.session.add(poll) db.session.commit() flash('A new task has been created', 'success') return redirect(url_for('main')) return render_template('new_task.html', title='New task', form = form, legend = 'New Task')
def new_announcement(): form = AnnouncementForm() if form.validate_on_submit(): announcement = Announcement(title = form.title.data, content = form.content.data, author = current_user) db.session.add(announcement) db.session.commit() flash('Your accoucement has been created', 'success') return redirect(url_for('main')) return render_template('new_announcement.html', title='New accouncement', form = form, legend = 'New Announcement')
def update_announcement(announcement_id): announcement = Announcement.query.get_or_404(announcement_id) if announcement.author != current_user: abort(403) form = AnnouncementForm() if form.validate_on_submit(): announcement.title = form.title.data announcement.content = form.content.data db.session.commit() flash('Your post has been updated!', 'success') return redirect(url_for('announcement',announcement_id = announcement.id)) elif request.method == 'GET': form.title.data = announcement.title form.content.data = announcement.content return render_template('new_announcement.html', title= 'Update Annoucnement' , form = form, legend = 'Update Annoucnement')
def update_announcement(announcement_id): announcement = Announcement.query.get_or_404(announcement_id) if announcement.author != current_user: abort(403) form = AnnouncementForm() form.audience.choices = audience_groups if form.validate_on_submit(): announcement.title = form.title.data announcement.content = form.content.data db.session.commit() audi_groups = form.audience.data ann_id = announcement_id # first we remove this announcements from all original audience ann_rec = db.session.query(Announcement_recipient).filter( Announcement_recipient.announcement_id == announcement_id).filter( Announcement_recipient.recipient != current_user.id).all() for p in ann_rec: db.session.delete(p) db.session.commit() # loop over different scenarios if ('All' in audi_groups) or ('Managers' in audi_groups and 'Employees' in audi_groups): all_users = User.query.all() for user in all_users: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=user.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() db.session.commit() else: if 'Managers' in audi_groups: managers = User.query.filter(User.is_manager) for man in managers: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=man.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() if 'Employees' in audi_groups: employees = User.query.filter(User.is_manager == False) for emp in employees: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=emp.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() for dept in departments: dept_members = User.query.filter(User.dept == dept) for mem in dept_members: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=mem.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() flash('Your post has been updated!', 'success') return redirect( url_for('announcement', announcement_id=announcement.id)) elif request.method == 'GET': form.title.data = announcement.title form.content.data = announcement.content form.audience.choices = audience_groups return render_template('new_announcement.html', title='Update Announcement', form=form, legend='Update Announcement')
def new_announcement(): form = AnnouncementForm() form.audience.choices = audience_groups if form.validate_on_submit(): announcement = Announcement(title=form.title.data, content=form.content.data, author=current_user) db.session.add(announcement) db.session.commit() ann_id = db.session.query(Announcement).order_by( Announcement.id.desc()).first().id audi_groups = form.audience.data announcement_rec = Announcement_recipient(announcement_id=ann_id, recipient=current_user.id, read=1) db.session.add(announcement_rec) db.session.commit() # loop over different scenarios if ('All' in audi_groups) or ('Managers' in audi_groups and 'Employees' in audi_groups): all_users = User.query.all() for user in all_users: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=user.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() db.session.commit() else: if 'Managers' in audi_groups: managers = User.query.filter(User.is_manager) for man in managers: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=man.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() if 'Employees' in audi_groups: employees = User.query.filter(User.is_manager == False) for emp in employees: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=emp.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() for dept in departments: dept_members = User.query.filter(User.dept == dept) for mem in dept_members: try: announcement_rec = Announcement_recipient( announcement_id=ann_id, recipient=mem.id, read=0) db.session.add(announcement_rec) db.session.commit() except exc.IntegrityError as e: db.session.rollback() flash('Your annoucement has been created', 'success') return redirect(url_for('main')) return render_template('new_announcement.html', title='New accouncement', form=form, legend='New Announcement')