コード例 #1
0
ファイル: crud_events.py プロジェクト: mmaroja/PosGraduacao
def delete_events():
    """Render a view for deleting events."""

    form = CalendarForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.calendar_dao()
    json = pfactory.calendar_dao().find_one()
    json = dict(json)
    json = dumps(json)

    if form.validate_on_submit() and form.create.data:
        index = str(form.index.data)
        dao.find_one_and_update(None,
                                {'$set': {
                                    'events.' + index + '.deleted': ""
                                }})

        return redirect(
            url_for('crud_events.delete_events',
                    events=json,
                    success_msg='Evento deletado com sucesso.'))

    return render_template('admin/delete_events.html',
                           events=json,
                           form=form,
                           success_msg=request.args.get('success_msg'))
コード例 #2
0
def delete_events():
    """Render a view for deleting events."""

    form = CalendarForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.calendar_dao()
    json = pfactory.calendar_dao().find_one()
    json = dict(json)
    json = dumps(json)

    if form.validate_on_submit() and form.create.data:
        index = str(form.index.data)
        dao.find_one_and_update(None, {
            '$set': {'events.' + index + '.deleted' : ""}
        })

        return redirect(
            url_for(
                'crud_events.delete_events',
                events=json,
                success_msg='Evento deletado com sucesso.'
            )
        )

    return render_template(
        'admin/delete_events.html',
        events=json,
        form=form,
        success_msg=request.args.get('success_msg')
    )
コード例 #3
0
ファイル: crud_events.py プロジェクト: mmaroja/PosGraduacao
def add_events():
    """Render a view for adding events."""

    form = CalendarForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.calendar_dao()

    if form.validate_on_submit():
        initial_date = datetime.datetime.combine(form.initial_date.data,
                                                 datetime.datetime.min.time())
        if form.final_date.data != "":
            final_date = datetime.datetime.strptime(form.final_date.data,
                                                    '%d/%m/%Y')
            final_date = datetime.datetime.combine(
                final_date, datetime.datetime.min.time())
        else:
            final_date = form.final_date.data
        new_event = {
            'title': form.title.data,
            'initialDate': initial_date,
            'finalDate': final_date,
            'hour': form.hour.data,
            'link': form.link.data
        }

        dao.find_one_and_update(None, {'$push': {'events': new_event}})

        return redirect(
            url_for('crud_events.add_events',
                    success_msg='Evento adicionado adicionado com sucesso.'))

    return render_template('admin/add_events.html',
                           form=form,
                           success_msg=request.args.get('success_msg'))
コード例 #4
0
def edit_events():
    """Render a view for editing events."""

    form = CalendarForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.calendar_dao()
    json = pfactory.calendar_dao().find_one()
    json = dict(json)
    json = dumps(json)
    index = str(form.index.data)

    if form.validate_on_submit() and form.create.data:
        initial_date = datetime.datetime.combine(form.initial_date.data, datetime.datetime.min.time())
        if form.final_date.data != "":
            final_date = datetime.datetime.strptime(form.final_date.data, '%d/%m/%Y')
            final_date = datetime.datetime.combine(final_date, datetime.datetime.min.time())
        else:
            final_date = form.final_date.data
        new_event = {
            'title': form.title.data,
            'initialDate': initial_date,
            'finalDate': final_date,
            'hour': form.hour.data,
            'link': form.link.data
        }

        dao.find_one_and_update(None, {
            '$set': {'events.' + index : new_event}
        })

        return redirect(
            url_for(
                'crud_events.edit_events',
                events=json,
                success_msg='Evento editado com sucesso.'
            )
        )

    return render_template(
        'admin/edit_events.html',
        events=json,
        form=form,
        success_msg=request.args.get('success_msg')
    )
コード例 #5
0
ファイル: crud_events.py プロジェクト: mmaroja/PosGraduacao
def edit_events():
    """Render a view for editing events."""

    form = CalendarForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.calendar_dao()
    json = pfactory.calendar_dao().find_one()
    json = dict(json)
    json = dumps(json)
    index = str(form.index.data)

    if form.validate_on_submit() and form.create.data:
        initial_date = datetime.datetime.combine(form.initial_date.data,
                                                 datetime.datetime.min.time())
        if form.final_date.data != "":
            final_date = datetime.datetime.strptime(form.final_date.data,
                                                    '%d/%m/%Y')
            final_date = datetime.datetime.combine(
                final_date, datetime.datetime.min.time())
        else:
            final_date = form.final_date.data
        new_event = {
            'title': form.title.data,
            'initialDate': initial_date,
            'finalDate': final_date,
            'hour': form.hour.data,
            'link': form.link.data
        }

        dao.find_one_and_update(None, {'$set': {'events.' + index: new_event}})

        return redirect(
            url_for('crud_events.edit_events',
                    events=json,
                    success_msg='Evento editado com sucesso.'))

    return render_template('admin/edit_events.html',
                           events=json,
                           form=form,
                           success_msg=request.args.get('success_msg'))
コード例 #6
0
def view_calendar(initials):
    """Render a view for calendar."""

    pfactory = PosGraduationFactory(initials)
    post_graduation = pfactory.post_graduation

    calendar_info = pfactory.calendar_dao().find_one()

    # renders an own page or redirect to another (external/404)?
    return render_template('public/calendar.html',
                           std=get_std_for_template(post_graduation),
                           calendar_info=calendar_info)
コード例 #7
0
def view_calendar(initials):
    """Render a view for calendar."""

    pfactory = PosGraduationFactory(initials)
    post_graduation = pfactory.post_graduation

    calendar_info = pfactory.calendar_dao().find_one()

    # renders an own page or redirect to another (external/404)?
    return render_template(
        'public/calendar.html',
        std=get_std_for_template(post_graduation),
        calendar_info=calendar_info
    )
コード例 #8
0
def add_events():
    """Render a view for adding events."""

    form = CalendarForm()

    pfactory = PosGraduationFactory(current_user.pg_initials)
    dao = pfactory.calendar_dao()
    
    if form.validate_on_submit():
        initial_date = datetime.datetime.combine(form.initial_date.data, datetime.datetime.min.time())
        if form.final_date.data != "":
            final_date = datetime.datetime.strptime(form.final_date.data, '%d/%m/%Y')
            final_date = datetime.datetime.combine(final_date, datetime.datetime.min.time())
        else:
            final_date = form.final_date.data
        new_event = {
            'title': form.title.data,
            'initialDate': initial_date,
            'finalDate': final_date,
            'hour': form.hour.data,
            'link': form.link.data
        }

        dao.find_one_and_update(None, {
            '$push': {'events': new_event}
        })

        return redirect(
            url_for(
                'crud_events.add_events',
                success_msg='Evento adicionado adicionado com sucesso.'
            )
        )

    return render_template(
        'admin/add_events.html',
        form=form,
        success_msg=request.args.get('success_msg')
    )
コード例 #9
0
def home(initials):
    """
    Render a post-graduation program page.

    Try to find which program has been requested.

    If it's here: signed in Minerva, show its main page,
    otherwise the user is redirected to that programs external web site.

    If couldn't find which program has been requested, show a 404 page error.
    """

    pfactory = PosGraduationFactory(initials)
    post_graduation = pfactory.post_graduation

    # renders an own page or redirect to another (external/404)?
    if post_graduation is None:
        return page_not_found()

    if not post_graduation['isSignedIn']:
        return redirect(post_graduation['oldURL'])

    # query google maps api
    google_maps_api_dict = keyring.get(keyring.GOOGLE_MAPS)

    google_maps_api_key = 'none'
    if google_maps_api_dict is not None:
        google_maps_api_key = google_maps_api_dict['key']

    # search for home data
    final_reports = pfactory.final_reports_dao().find_one()
    calendar = pfactory.calendar_dao().find_one()['events']
    selections = []
    events = []
    for event in range(len(calendar)):
        if "deleted" not in calendar[event]:
            if "Seleção" in calendar[event]['title']:
                selections.append(calendar[event])
            else:
                events.append(calendar[event])
    final_reports = final_reports['scheduledReports']
    news = pfactory.news_dao().find_one()['news']
    classes = pfactory.classes_database_dao().find_one()['firstClasses']
    integrations_infos = pfactory.integrations_infos_dao().find_one()
    if integrations_infos is None:
        integrations_infos = {
            'name': "",
            'initials': "",
            'logoFile': "",
        }
        institutions_with_covenant = integrations_infos
    else:
        institutions_with_covenant = integrations_infos['institutionsWithCovenant']
    attendance = pfactory.attendances_dao().find_one()
    if attendance is None:
        attendance = {
            'location' : {
                'building' : '',
                'floor' : '',
                'room' : '',
                'opening' : ''
                },
            'email' : '',
            'phones' : {
                'type' : '',
                'number' : ''
                }
        }

    # ready... fire!
    return render_template(
        'public/home.html',
        std=get_std_for_template(post_graduation),
        google_maps_api_key=google_maps_api_key,
        final_reports=final_reports,
        events=events,
        selections=selections,
        classes=classes,
        news=news,
        institutions_with_covenant=institutions_with_covenant,
        attendance=attendance,
    )
コード例 #10
0
def home(initials):
    """
    Render a post-graduation program page.

    Try to find which program has been requested.

    If it's here: signed in Minerva, show its main page,
    otherwise the user is redirected to that programs external web site.

    If couldn't find which program has been requested, show a 404 page error.
    """

    pfactory = PosGraduationFactory(initials)
    post_graduation = pfactory.post_graduation

    # renders an own page or redirect to another (external/404)?
    if post_graduation is None:
        return page_not_found()

    if not post_graduation['isSignedIn']:
        return redirect(post_graduation['oldURL'])

    # query google maps api
    google_maps_api_dict = keyring.get(keyring.GOOGLE_MAPS)

    google_maps_api_key = 'none'
    if google_maps_api_dict is not None:
        google_maps_api_key = google_maps_api_dict['key']

    # search for home data
    final_reports = pfactory.final_reports_dao().find_one()
    calendar = pfactory.calendar_dao().find_one()['events']
    selections = []
    events = []
    for event in range(len(calendar)):
        if "deleted" not in calendar[event]:
            if "Seleção" in calendar[event]['title']:
                selections.append(calendar[event])
            else:
                events.append(calendar[event])
    final_reports = final_reports['scheduledReports']
    news = pfactory.news_dao().find_one()['news']
    classes = pfactory.classes_database_dao().find_one()['firstClasses']
    integrations_infos = pfactory.integrations_infos_dao().find_one()
    if integrations_infos is None:
        integrations_infos = {
            'name': "",
            'initials': "",
            'logoFile': "",
        }
        institutions_with_covenant = integrations_infos
    else:
        institutions_with_covenant = integrations_infos[
            'institutionsWithCovenant']
    attendance = pfactory.attendances_dao().find_one()
    if attendance is None:
        attendance = {
            'location': {
                'building': '',
                'floor': '',
                'room': '',
                'opening': ''
            },
            'email': '',
            'phones': {
                'type': '',
                'number': ''
            }
        }

    # ready... fire!
    return render_template(
        'public/home.html',
        std=get_std_for_template(post_graduation),
        google_maps_api_key=google_maps_api_key,
        final_reports=final_reports,
        events=events,
        selections=selections,
        classes=classes,
        news=news,
        institutions_with_covenant=institutions_with_covenant,
        attendance=attendance,
    )