[chronojump-server/develop: 1/2] Change Person model by Player model.



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]