예제 #1
0
def check_request_funding(meeting_id):
    sugar.get_object_or_404(models.Meeting, id=meeting_id)
    category_id = flask.request.form['category_id']
    country_code = flask.request.form['country_code']

    resp = {'request_funding': False}
    category = sugar.get_person_category_or_404(
        meeting_id,
        category_id=category_id
    )
    try:

        country = models.Country.get(data__contains={'iso': country_code})
    except models.Country.DoesNotExist:
        country = None

    if category.data.get('request_funding', False):
        resp['request_funding'] = True
    if category.data.get('credentials_file', False):
        resp['credentials_file'] = True

    if (category.data.get('request_funding_with_country', False)
        and country
        and country.data.get('request_funding', False)):
        resp['request_funding'] = True
    if (category.data.get('credentials_file_with_country', False)
        and country
        and country.data.get('request_funding', False)):
        resp['credentials_file'] = True

    return flask.jsonify(resp)
예제 #2
0
def view_pdf(meeting_id, person_id):
    meeting = sugar.get_object_or_404(models.Meeting, id=meeting_id)
    person = sugar.get_person_or_404(meeting_id, person_id)
    labeled = schema.common.labels_for_values(person.data, meeting_id)
    category = sugar.get_person_category_or_404(meeting_id,
        category_id=person.category_id(meeting.id))
    phrases = {p.data['name']: p for p in meeting.get_phrases}
    event_form = EventCitesForm(meeting_model=meeting, person=person)

    # render form in participant language
    participant_lang = {"E": "en", "S": "es", "F": "fr"}.get(person.lang, "E")
    sugar.set_lang(participant_lang)

    pdf = sugar.generate_pdf_from_html(
        flask.render_template('participant/credentials.html', **{
            'person': person,
            'category': category,
            'meeting': meeting,
            'labeled': labeled,
            'phrases': phrases,
            'credentials_strings': refdata.credentials_strings,
            'event_form': event_form,
        })
    )
    return flask.Response(response=pdf, mimetype='application/pdf')
예제 #3
0
 def table_row(person, meeting):
     cat = sugar.get_person_category_or_404(meeting_id,
         category_id=person.category_id(meeting.id))
     url = flask.url_for('.view', meeting_id=meeting.id,
                         media_person_id=person.id)
     link = "<a href='%s'>%s</a>" % (jinja2.escape(url), person.name)
     return {
         'id': person.id,
         'name': link,
         'category': cat.data['name_E'],
         'media': person.decoded_data['media'],
     }
예제 #4
0
        def table_row(person, meeting):
            cat = sugar.get_person_category_or_404(meeting_id,
                category_id=person.category_id(meeting.id))
            url = flask.url_for('participant.view', meeting_id=meeting.id,
                                person_id=person.id)
            link = "<a href='%s'>%s %s</a>" % (
                jinja2.escape(url),
                person.decoded_data['personal_first_name'],
                person.decoded_data['personal_last_name'])

            return {
                'id': person.id,
                'name': link,
                'category': cat.data['name_E'],
                'representing': person.data['printout_representing'],
                'attended': render_column(person, 'attended'),
                'verified': render_column(person, 'verified'),
                'credentials': render_column(person, 'credentials'),
            }
예제 #5
0
    def table_row(person):
        c = sugar.get_person_category_or_404(meeting_id,
            category_id=person.category_id(meeting_id))
        representing = person.decoded_data['printout_representing']
        url = flask.url_for('participant.view', meeting_id=meeting_id,
                            person_id=person.id)

        if person.data.get('photo'):
            url_for_image = flask.url_for('participant.avatar',
                                           meeting_id=meeting_id,
                                           person_id=person.id)
        else:
            url_for_image = flask.url_for('static',
                                          filename="img/no-avatar.jpg")

        return {
            'name': person.name,
            'representing': representing[:40] + (representing[40:] and '..'),
            'url': url,
            'url_for_image': url_for_image,
            'url_for_registration': url_for_registration,
        }
예제 #6
0
def credentials(meeting_id, person_id):
    meeting = sugar.get_object_or_404(models.Meeting, id=meeting_id)
    fees = meeting.get_fees

    person = sugar.get_person_or_404(meeting_id, person_id)
    category = sugar.get_person_category_or_404(meeting_id, person_id=person_id)
    labeled = schema.labels_for_values(person.decoded_data, meeting_id,
                                       in_participant_language=True,
                                       category=category)
    phrases = {p.data['name']: p for p in meeting.get_phrases}
    event_form = EventCitesForm(meeting_model=meeting, person=person)
    # render form in participant language
    participant_lang = {"E": "en", "S": "es", "F": "fr"}.get(person.lang, "E")
    sugar.set_lang(participant_lang)

    return {
        'meeting': meeting,
        'category': category,
        'phrases': phrases,
        'person': person,
        'labeled': labeled,
        'credentials_strings': refdata.credentials_strings,
        'event_form': event_form,
    }