add profile visible flag

This commit is contained in:
weeman 2021-07-02 16:26:36 +02:00
parent 3b6225f621
commit 9f4795b9f1
Signed by untrusted user: weeman
GPG Key ID: 34F0524D4DA694A1
4 changed files with 11 additions and 4 deletions

View File

@ -107,6 +107,7 @@ def update_profile(user_id: int):
profile.pronouns = request.json.get("pronouns", "")
profile.volunteerwork = request.json.get("volunteerwork", "")
profile.freetext = request.json.get("freetext", "")
profile.visible = request.json.get("visible", False)
update_address(profile, request.json.get("address", {}))
update_contacts(profile, request.json.get("contacts", {}))

View File

@ -1,6 +1,6 @@
from datetime import datetime
from sqlalchemy import Column, Integer, SmallInteger, String, DateTime, ForeignKey
from sqlalchemy import Boolean, Column, Integer, SmallInteger, String, DateTime, ForeignKey
from sqlalchemy.orm import relationship
from app import db
@ -28,6 +28,7 @@ class Profile(db.Model):
pronouns = Column(String(25), default="")
volunteerwork = Column(String(4000), default="")
freetext = Column(String(4000), default="")
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)
@ -44,6 +45,7 @@ class Profile(db.Model):
"pronouns": self.pronouns,
"volunteerwork": self.volunteerwork,
"freetext": self.freetext,
"visible": self.visible,
"address": self.address.to_dict(),
"contacts": list(map(lambda contact: contact.to_dict(), self.contacts)),
"skills": list(map(lambda skill: skill.to_dict(), self.skills)),

View File

@ -30,6 +30,7 @@ class TestProfileEndpoint(ApiTest):
"pronouns": "Monsieur",
"volunteerwork": "ja",
"freetext": "Hallo",
"visible": True,
"address": {
"name": "Peeeda",
"street": "Bachstraße",
@ -92,6 +93,7 @@ class TestProfileEndpoint(ApiTest):
self.assertEqual("Monsieur", profile.pronouns)
self.assertEqual("ja", profile.volunteerwork)
self.assertEqual("Hallo", profile.freetext)
self.assertTrue(profile.visible)
address = profile.address
self.assertEqual(address.name, "Peeeda")
@ -156,6 +158,7 @@ class TestProfileEndpoint(ApiTest):
"pronouns": "Herr Dr. Dr.",
"freetext": "Ich mag Kaffee",
"volunteerwork": "Gartenverein",
"visible": False,
"address": {
"additional": "Hinterhaus",
"city": "Bielefeld",

View File

@ -1,8 +1,8 @@
"""Initial migration.
Revision ID: f95308aceda1
Revision ID: ebb2dd1fb371
Revises:
Create Date: 2021-06-20 19:11:47.086814
Create Date: 2021-07-02 16:20:18.160228
"""
from alembic import op
@ -10,7 +10,7 @@ import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = 'f95308aceda1'
revision = 'ebb2dd1fb371'
down_revision = None
branch_labels = None
depends_on = None
@ -34,6 +34,7 @@ def upgrade():
sa.Column('pronouns', sa.String(length=25), nullable=True),
sa.Column('volunteerwork', sa.String(length=4000), nullable=True),
sa.Column('freetext', sa.String(length=4000), nullable=True),
sa.Column('visible', sa.Boolean(), nullable=False),
sa.Column('created', sa.DateTime(), nullable=False),
sa.Column('updated', sa.DateTime(), nullable=False),
sa.PrimaryKeyConstraint('id'),