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]
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())
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())