def import_document(document: Document, rows: List, name_field: str,
                    last_name_field: str, birth_date_field: str,
                    birth_place_field: str, fiscal_code_field: str,
                    address_field: str, zip_code_field: str, city_field: str,
                    province_field: str, gender_field: str, phone_field: str,
                    email_field: str) -> List:
    documents = []
    for row in rows:
        date = row[birth_date_field].split("/")
        birth_date = "-".join([date[2], date[1], date[0]
                               ]) if len(date) > 1 else ""

        doc = document(name=row.get(name_field, ""),
                       last_name=row.get(last_name_field, ""),
                       birth_date=birth_date,
                       birth_place=row.get(birth_place_field),
                       fiscal_code=row.get(fiscal_code_field),
                       address=row.get(address_field, ""),
                       zip_code=row.get(zip_code_field, ""),
                       city=row.get(city_field, ""),
                       province=row.get(province_field, ""),
                       gender=row.get(gender_field, ""),
                       phone=row.get(phone_field, ""),
                       email=row.get(email_field, ""))

        if not doc.is_empty():
            documents.append(doc)

    document.objects.insert(documents)
    return [document.jsonify() for document in documents]
Esempio n. 2
0
def _delete_membership(document: Document, id: str, membership_id: str):
    if not bson.ObjectId.is_valid(id):
        flask.abort(400)

    document: Document = document.objects(id=id).first()
    if not document:
        flask.abort(404)
    document.update(pull__memberships___id=membership_id)
    document.reload()

    return flask.jsonify(document.jsonify())
Esempio n. 3
0
def _create_membership(document: Document, id: str):
    if not bson.ObjectId.is_valid(id):
        flask.abort(400)

    start_date = flask.request.form.get('start_date')
    end_date = flask.request.form.get('end_date')

    if start_date is None or end_date is None:
        flask.abort(400)

    document: Document = document.objects(id=id).first()
    if not document:
        flask.abort(404)

    document.memberships.create(start_date=start_date, end_date=end_date)

    document.save()

    return flask.jsonify(document.jsonify())