[chronojump-server/develop: 1/2] Change Person model by Player model.
- From: Marcos Venteo Garcia <mventeo src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump-server/develop: 1/2] Change Person model by Player model.
- Date: Tue, 16 Jan 2018 19:09:34 +0000 (UTC)
commit f84b5d8ff83fbe719dda764445eb05105f6a07e7
Author: Marcos Venteo García <mventeo gmail com>
Date: Tue Jan 16 20:08:07 2018 +0100
Change Person model by Player model.
chronojumpserver/api.py | 16 ++++----
chronojumpserver/models.py | 42 ++++++++++++---------
chronojumpserver/scripts/create_organization.sql | 9 +++++
chronojumpserver/views.py | 18 +++++-----
4 files changed, 50 insertions(+), 35 deletions(-)
---
diff --git a/chronojumpserver/api.py b/chronojumpserver/api.py
index a12a7a4..cac2f40 100755
--- a/chronojumpserver/api.py
+++ b/chronojumpserver/api.py
@@ -5,7 +5,7 @@
"""
from chronojumpserver import app
from chronojumpserver.database import db_session
-from chronojumpserver.models import Person, ResultEncoder, Station, Task
+from chronojumpserver.models import Player, ResultEncoder, Station, Task
from chronojumpserver.models import ResultSprint, Exercise, RFIDHistory
from flask import jsonify, request
from flask_login import login_required
@@ -34,7 +34,7 @@ def get_all_sprints():
def get_all_players():
"""Return all the playes with the active tasks."""
players = []
- for player in Person.query.all():
+ for player in Player.query.all():
_player = player.serialize
_player['tasks'] = []
# Add description of active tasks
@@ -137,7 +137,7 @@ def register_rfid():
def add_modify_delete_task():
"""Add/Modify or delete a task."""
if request.method == 'PUT':
- personId = request.form['playerId']
+ PlayerId = request.form['playerId']
stationId = request.form['stationId']
exerciseId = request.form['exerciseId']
taskType = request.form['type']
@@ -161,7 +161,7 @@ def add_modify_delete_task():
# Create the Task
if int(taskId) == -1:
""" New task."""
- t = Task(type=taskType, personId=personId, stationId=stationId,
+ t = Task(type=taskType, PlayerId=PlayerId, stationId=stationId,
exerciseId=exerciseId, sets=sets, nreps=nreps, load=load,
speed=speed, percentMaxSpeed=percentMaxSpeed,
laterality=laterality, comment=description)
@@ -284,7 +284,7 @@ def players_with_active_tasks_in_station(station_id):
tasks = [task.serialize for task in Task.query.filter(Task.stationId == station_id and Task.done==False)]
players = []
for task in tasks:
- players.append({ 'name' : task['personName'] for task in tasks })
+ players.append({ 'name' : task['PlayerName'] for task in tasks })
print players
return jsonify(data=players)
@@ -294,7 +294,7 @@ def active_tasks_in_station():
# Get the players in this station with active tasks
players_stations = []
- for player in Person.query.all():
+ for player in Player.query.all():
stations = [ task.stationId for task in player.active_tasks]
players_stations.append({ 'id' : player.id, 'stations': stations})
@@ -328,7 +328,7 @@ def remove_sprints():
@app.route('/api/v1/get_maximum_mean_velocity')
def get_maximum_mean_velocity():
stationId = request.args.get('station_id', 0)
- personId = request.args.get('personId', 0)
+ PlayerId = request.args.get('PlayerId', 0)
exerciseId = request.args.get('exerciseId', 0)
resistance = request.args.get('resistance', 0)
laterality = request.args.get('laterality', '')
@@ -336,7 +336,7 @@ def get_maximum_mean_velocity():
sql = "select max(vmeanBySpeed) from resultEncoder where "
sql += "stationId = %d AND " % int(stationId)
sql += "exerciseId = %d AND " % int(exerciseId)
- sql += "personId = %d AND " % int(personId)
+ sql += "PlayerId = %d AND " % int(PlayerId)
sql += "format(resistance,2) = format(%f,2) AND " % float(resistance)
sql += "laterality = '%s'" % laterality
print sql
diff --git a/chronojumpserver/models.py b/chronojumpserver/models.py
index 40bf70a..21fe046 100755
--- a/chronojumpserver/models.py
+++ b/chronojumpserver/models.py
@@ -34,7 +34,7 @@ class Organization(HelperMixin, Base):
class Gym(HelperMixin, Base):
__tablename__ = 'gym'
- org_id = Column(Integer, nullable=False)
+ orgId = Column(Integer, nullable=False)
name = Column(String(50), unique=True)
responsable = Column(String(50), nullable=False)
@@ -42,8 +42,8 @@ class Gym(HelperMixin, Base):
class Group(HelperMixin, Base):
__tablename__ = 'group'
- org_id = Column(Integer, nullable=False)
- gym_id = Column(Integer, nullable=False)
+ orgId = Column(Integer, nullable=False)
+ gymId = Column(Integer, nullable=False)
name = Column(String(50), unique=True)
responsable = Column(String(50), nullable=False)
@@ -51,7 +51,7 @@ class Group(HelperMixin, Base):
class Coach(HelperMixin, Base):
__tablename__ = 'coach'
- org_id = Column(Integer, nullable=False)
+ orgId = Column(Integer, nullable=False)
name = Column(String(50), unique=True)
details = Column(String(100), nullable=False)
@@ -70,14 +70,15 @@ class groupPlayer(HelperMixin, Base):
player_id = Column(Integer, nullable=False)
-class Person(HelperMixin, Base):
- """Person model.
+class Player(HelperMixin, Base):
+ """Player model.
Relationships with other tables:
Person table has a one to many relationship with results
"""
- __tablename__ = 'person'
+ __tablename__ = 'player'
+ org_id = Column(Integer, nullable=False)
name = Column(String(30), unique=True)
weight = Column(Float, nullable=False)
height = Column(Float, nullable=False)
@@ -85,20 +86,20 @@ class Person(HelperMixin, Base):
imageName = Column(String(50))
results = relationship("ResultEncoder",
order_by="desc(ResultEncoder.dt)",
- primaryjoin="ResultEncoder.personId==Person.id",
+ primaryjoin="ResultEncoder.personId==Player.id",
cascade="save-update, merge, delete")
tasks = relationship("Task",
order_by="desc(Task.ts)",
- primaryjoin="Task.personId==Person.id",
+ primaryjoin="Task.personId==Player.id",
cascade="save-update, merge, delete")
active_tasks = relationship("Task",
order_by="desc(Task.ts)",
- primaryjoin="and_(Task.personId==Person.id,"
+ primaryjoin="and_(Task.personId==Player.id,"
"Task.done==0)")
def __init__(self, name=None, weight=None, height=None, rfid=None,
imageName=None):
- """Initialize Person class."""
+ """Initialize Player class."""
self.name = name
self.weight = weight
self.height = height
@@ -119,7 +120,7 @@ class Person(HelperMixin, Base):
def __repr__(self):
"""Representation of the object."""
- return '<Person %r>' % (self.name,)
+ return '<Player %r>' % (self.name,)
def add(self):
db_session.add(self)
@@ -159,11 +160,16 @@ class Station(HelperMixin, Base):
"""
__tablename__ = 'station'
+
+ gymId = Column(Integer, nullable=False)
+
name = Column(String(30), unique=True)
# G - gravitory, I - inertial, S - sprint
type = Column(String(1), nullable=True)
# Relationships
+ gymId = Column('gymId', ForeignKey('gym.id'))
+ station = relationship(Gym, primaryjoin=gymId == Gym.id)
results = relationship("ResultEncoder",
order_by="desc(ResultEncoder.dt)",
primaryjoin="ResultEncoder.stationId==Station.id",
@@ -262,8 +268,8 @@ class Task(Base):
id = Column(Integer, primary_key=True)
type = Column(String(1)) # F - Free, P - Parametrized
ts = Column(DateTime, default=datetime.now)
- personId = Column('personId', ForeignKey('person.id'))
- person = relationship(Person, primaryjoin=personId == Person.id)
+ personId = Column('personId', ForeignKey('player.id'))
+ person = relationship(Player, primaryjoin=personId == Player.id)
stationId = Column('stationId', ForeignKey('station.id'))
station = relationship(Station, primaryjoin=stationId == Station.id)
exerciseId = Column('exerciseId', ForeignKey('exercise.id'))
@@ -342,8 +348,8 @@ class ResultEncoder(Base):
__tablename__ = 'resultEncoder'
id = Column('id', Integer, primary_key=True)
dt = Column('dt', DateTime, default=datetime.now)
- personId = Column('personId', ForeignKey('person.id'))
- person = relationship(Person, primaryjoin=personId == Person.id)
+ personId = Column('personId', ForeignKey('player.id'))
+ person = relationship(Player, primaryjoin=personId == Player.id)
stationId = Column('stationId', ForeignKey('station.id'))
station = relationship(Station, primaryjoin=stationId == Station.id)
exerciseId = Column('exerciseId', ForeignKey('exercise.id'))
@@ -446,8 +452,8 @@ class ResultSprint(Base):
__tablename__ = 'resultSprint'
id = Column('id', Integer, primary_key=True)
dt = Column('dt', DateTime, default=datetime.now)
- personId = Column('personId', ForeignKey('person.id'))
- person = relationship(Person, primaryjoin=personId == Person.id)
+ personId = Column('personId', ForeignKey('player.id'))
+ person = relationship(Player, primaryjoin=personId == Player.id)
distances = Column('distances', String(50))
k = Column('k', Float)
vmax = Column('vmax', Float)
diff --git a/chronojumpserver/scripts/create_organization.sql
b/chronojumpserver/scripts/create_organization.sql
new file mode 100644
index 0000000..a8a9b4f
--- /dev/null
+++ b/chronojumpserver/scripts/create_organization.sql
@@ -0,0 +1,9 @@
+insert into organization values(1, 'FC Barcelona', 'Catalunya', 'Antonio Gomez');
+
+insert into gym values(1, 1, 'Gimnàs 1', 'Antonio Gomez');
+
+insert into `group` values (1, 1 ,1, 'Grup 1', 'Antonio Gómez');
+
+insert into coach values (1, 1, 'Antonio Gomez', '');
+
+insert into player (id, org_id, name, weight, height, rfid, imageName) select id, 1, name, weight, height,
rfid, imageName from person;
diff --git a/chronojumpserver/views.py b/chronojumpserver/views.py
index 792b623..f2cede1 100755
--- a/chronojumpserver/views.py
+++ b/chronojumpserver/views.py
@@ -4,7 +4,7 @@ from chronojumpserver import app
from flask import render_template, request, redirect, url_for, abort, flash
from urlparse import urlparse, urljoin
from flask_wtf.file import FileField
-from chronojumpserver.models import Person, Station, RFIDHistory, User
+from chronojumpserver.models import Player, Station, RFIDHistory, User
from chronojumpserver.forms import PersonForm, LoginForm
from flask_login import login_required, login_user, logout_user
from chronojumpserver.database import db_session
@@ -34,7 +34,7 @@ def airport():
#stations = [ station.serialize for station in Station.query.filter(Station.type != 'S')]
stations = [ station.serialize for station in Station.query.all()]
- players = [ player.serialize for player in Person.query.all()]
+ players = [ player.serialize for player in Player.query.all()]
return render_template('airport.html', stations=stations, players=players)
@app.route('/results')
@@ -96,7 +96,7 @@ def _update_player_photo(player_id, photo, previous_imageName):
# save the photo in the disk
photo.save(full_path)
# Update the photo in the database
- db_session.query(Person).filter_by(id=player_id).update({
+ db_session.query(Player).filter_by(id=player_id).update({
"imageName": new_photo
})
# Commit the changes
@@ -110,7 +110,7 @@ def player_detail(player_id):
has_errors = False
msg = None
# Get the player id passed by argument
- player = Person.query.filter(Person.id == player_id).first()
+ player = Player.query.filter(Player.id == player_id).first()
form = PersonForm()
if request.method == "GET":
@@ -125,7 +125,7 @@ def player_detail(player_id):
if form.validate_on_submit():
"""Form Valid. Update the player."""
# Update the player
- db_session.query(Person).filter_by(id=player_id).update({
+ db_session.query(Player).filter_by(id=player_id).update({
"name": form.fullname.data,
"height": form.height.data,
"weight": form.weight.data,
@@ -143,7 +143,7 @@ def player_detail(player_id):
if not r:
# Add this new rfid into rfidHistory table
r = RFIDHistory(rfid=form.rfid.data,
- person_id=player_id)
+ Player_id=player_id)
db_session.add(r)
db_session.commit()
@@ -171,7 +171,7 @@ def add_player():
if request.method == "POST":
if form.validate_on_submit():
"""Form is valid, add the new player."""
- player = Person(
+ player = Player(
name=form.fullname.data,
height=form.height.data,
weight=form.weight.data,
@@ -180,13 +180,13 @@ def add_player():
db_session.add(player)
# Commit the changes
db_session.commit()
- # If a photo has given, update after person creation
+ # If a photo has given, update after Player creation
if form.photo.data:
_update_player_photo(player.id, form.photo.data, None)
# Add the rfid into rfidHistory table
r = RFIDHistory(rfid=form.rfid.data,
- person_id=player.id)
+ Player_id=player.id)
db_session.add(r)
db_session.commit()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]