API & Client: Activity display update
This commit is contained in:
@ -21,6 +21,8 @@ def upgrade():
|
||||
op.create_table('sports',
|
||||
sa.Column('id', sa.Integer(), nullable=False),
|
||||
sa.Column('label', sa.String(length=50), nullable=False),
|
||||
sa.Column('img', sa.String(length=255), nullable=True),
|
||||
sa.Column('is_default', sa.Boolean(), default=False, nullable=False),
|
||||
sa.PrimaryKeyConstraint('id'),
|
||||
sa.UniqueConstraint('label')
|
||||
)
|
||||
|
@ -76,6 +76,8 @@ class Sport(db.Model):
|
||||
__tablename__ = "sports"
|
||||
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
|
||||
label = db.Column(db.String(50), unique=True, nullable=False)
|
||||
img = db.Column(db.String(255), unique=True, nullable=True)
|
||||
is_default = db.Column(db.Boolean, default=False, nullable=False)
|
||||
activities = db.relationship('Activity',
|
||||
lazy=True,
|
||||
backref=db.backref('sports', lazy='joined'))
|
||||
@ -93,7 +95,9 @@ class Sport(db.Model):
|
||||
return {
|
||||
'id': self.id,
|
||||
'label': self.label,
|
||||
'_can_be_deleted': len(self.activities) == 0
|
||||
'img': self.img,
|
||||
'_can_be_deleted':
|
||||
len(self.activities) == 0 and not self.is_default
|
||||
}
|
||||
|
||||
|
||||
|
@ -43,7 +43,7 @@ def create_activity(
|
||||
duration=duration
|
||||
)
|
||||
|
||||
if title is not None:
|
||||
if title is not None and title != '':
|
||||
new_activity.title = title
|
||||
else:
|
||||
sport = Sport.query.filter_by(id=new_activity.sport_id).first()
|
||||
|
@ -3,12 +3,14 @@ import json
|
||||
expected_sport_1_cycling_result = {
|
||||
'id': 1,
|
||||
'label': 'Cycling',
|
||||
'img': None,
|
||||
'_can_be_deleted': True
|
||||
}
|
||||
|
||||
expected_sport_2_running_result = {
|
||||
'id': 2,
|
||||
'label': 'Running',
|
||||
'img': None,
|
||||
'_can_be_deleted': True
|
||||
}
|
||||
|
||||
|
@ -27,12 +27,30 @@ def init_data():
|
||||
password='mpwoadmin')
|
||||
admin.admin = True
|
||||
db.session.add(admin)
|
||||
db.session.add(Sport(label='Cycling (Sport)'))
|
||||
db.session.add(Sport(label='Cycling (Transport)'))
|
||||
db.session.add(Sport(label='Hiking'))
|
||||
db.session.add(Sport(label='Mountain Biking'))
|
||||
db.session.add(Sport(label='Running'))
|
||||
db.session.add(Sport(label='Walking'))
|
||||
sport = Sport(label='Cycling (Sport)')
|
||||
sport.img = '/img/sports/cycling-sport.png'
|
||||
sport.is_default = True
|
||||
db.session.add(sport)
|
||||
sport = Sport(label='Cycling (Transport)')
|
||||
sport.img = '/img/sports/cycling-transport.png'
|
||||
sport.is_default = True
|
||||
db.session.add(sport)
|
||||
sport = Sport(label='Hiking')
|
||||
sport.img = '/img/sports/hiking.png'
|
||||
sport.is_default = True
|
||||
db.session.add(sport)
|
||||
sport = Sport(label='Mountain Biking')
|
||||
sport.img = '/img/sports/mountain-biking.png'
|
||||
sport.is_default = True
|
||||
db.session.add(sport)
|
||||
sport = Sport(label='Running')
|
||||
sport.img = '/img/sports/running.png'
|
||||
sport.is_default = True
|
||||
db.session.add(sport)
|
||||
sport = Sport(label='Walking')
|
||||
sport.img = '/img/sports/walking.png'
|
||||
sport.is_default = True
|
||||
db.session.add(sport)
|
||||
db.session.commit()
|
||||
print('Initial data stored in database.')
|
||||
|
||||
|
Reference in New Issue
Block a user