availibility
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing

This commit is contained in:
scammo
2021-10-04 18:10:31 +02:00
parent 8bdc1564be
commit 8772a13163
7 changed files with 94 additions and 10 deletions

View File

@ -26,7 +26,15 @@ def seed_contacttypes():
db.session.add(ContactType(id=int(contacttype["id"]), name=contacttype["name"]))
def seed_user(nickname, visible=False, skills=[], languages=[], volunteerwork="", availability="", freetext=""):
def seed_user(nickname,
visible=False,
skills=[],
languages=[],
volunteerwork="",
availabilityStatus=False,
freetext="",
availabilityText="",
availabilityHoursPerWeek=42):
app.logger.info(f"seeding {nickname} \\o/")
user = User(auth_id=nickname)
@ -35,7 +43,9 @@ def seed_user(nickname, visible=False, skills=[], languages=[], volunteerwork=""
profile = Profile(nickname=nickname,
pronouns="",
volunteerwork=volunteerwork,
availability=availability,
availabilityStatus=availabilityStatus,
availabilityText=availabilityText,
availabilityHoursPerWeek=availabilityHoursPerWeek,
freetext=freetext,
visible=visible,
user=user)
@ -91,7 +101,9 @@ def seed(dev: bool):
peters_profile = Profile(nickname="peternichtlustig",
pronouns="Herr Dr. Dr.",
volunteerwork="Gartenverein",
availability="Immer",
availabilityStatus=True,
availabilityHoursPerWeek=42,
availabilityText="Immer",
freetext="Ich mag Kaffee",
user=peter)
db.session.add(peters_profile)
@ -135,7 +147,9 @@ def seed(dev: bool):
seed_user("dirtydieter",
visible=True,
volunteerwork="Müll sammeln",
availability="Nur nachts",
availabilityStatus=True,
availabilityHoursPerWeek=24,
availabilityText="Nur Nachts!",
freetext="1001010010111!!!",
skills=[(Skill.skill_id_php, 5)])

View File

@ -135,7 +135,9 @@ def update_profile(user_id: int):
profile.pronouns = request.json.get("pronouns", "")
profile.volunteerwork = request.json.get("volunteerwork", "")
profile.availability = request.json.get("availability", "")
profile.availabilityStatus = request.json.get("availabilityStatus", False)
profile.availabilityText = request.json.get("availabilityText", "")
profile.availabilityHoursPerWeek = request.json.get("availabilityHoursPerWeek", 0)
profile.freetext = request.json.get("freetext", "")
profile.visible = request.json.get("visible", False)

View File

@ -32,7 +32,11 @@ class Profile(db.Model):
pronouns = Column(String(25), default="")
volunteerwork = Column(String(4000), default="")
freetext = Column(String(4000), default="")
availability = Column(String(4000), default="")
availabilityStatus = Column(Boolean, default=False)
availabilityText = Column(String(4000), default="")
availabilityHoursPerWeek = Column(Integer, default=0)
visible = Column(Boolean, nullable=False, default=False)
created = Column(DateTime, nullable=False, default=datetime.now)
updated = Column(DateTime, onupdate=datetime.now, nullable=False, default=datetime.now)
@ -50,7 +54,9 @@ class Profile(db.Model):
"nickname": self.nickname,
"pronouns": self.pronouns,
"volunteerwork": self.volunteerwork,
"availability": self.availability,
"availabilityStatus": self.availabilityStatus,
"availabilityText": self.availabilityText,
"availabilityHoursPerWeek": self.availabilityHoursPerWeek,
"freetext": self.freetext,
"visible": self.visible,
"address": self.address.to_dict() if self.address else None,

View File

@ -33,7 +33,8 @@ class TestProfileEndpoint(ApiTest):
data = {
"pronouns": "Monsieur",
"volunteerwork": "ja",
"availability": "Nie",
"availabilityStatus": False,
"availabilityText": "Nie",
"freetext": "Hallo",
"visible": True,
"address": {
@ -110,7 +111,7 @@ class TestProfileEndpoint(ApiTest):
profile = user.profile
self.assertEqual("Monsieur", profile.pronouns)
self.assertEqual("ja", profile.volunteerwork)
self.assertEqual("Nie", profile.availability)
self.assertEqual("Nie", profile.availabilityText)
self.assertEqual("Hallo", profile.freetext)
self.assertTrue(profile.visible)
@ -198,7 +199,9 @@ class TestProfileEndpoint(ApiTest):
"user_id": 1,
"nickname": "peternichtlustig",
"pronouns": "Herr Dr. Dr.",
"availability": "Immer",
"availabilityStatus": True,
"availabilityHoursPerWeek": 25,
"availabilityText": "Immer",
"freetext": "Ich mag Kaffee",
"volunteerwork": "Gartenverein",
"visible": False,