[chronojump-server] LossByPower and LossBySpeed



commit 9cf972ed2f3b477e53391b9ef73dbe6a1933e9b5
Author: Marcos Venteo <mventeo gmail com>
Date:   Tue Feb 13 23:13:10 2018 +0100

    LossByPower and LossBySpeed

 chronojumpserver/api.py                     |   13 ++++-
 chronojumpserver/models.py                  |   11 +++-
 chronojumpserver/templates/player_list.html |   79 ++++++++++++++++++++++++---
 3 files changed, 91 insertions(+), 12 deletions(-)
---
diff --git a/chronojumpserver/api.py b/chronojumpserver/api.py
index a12a7a4..9ae9d76 100755
--- a/chronojumpserver/api.py
+++ b/chronojumpserver/api.py
@@ -51,7 +51,9 @@ def get_all_players():
                                      'load': task.load,
                                      'speed': task.speed,
                                      'percentMaxSpeed': task.percentMaxSpeed,
-                                     'laterality': task.laterality})
+                                     'laterality': task.laterality,
+                                     'lossBySpeed': task.lossBySpeed,
+                                     'lossByPower': task.lossByPower})
         players.append(_player)
     return jsonify(data=players)
 
@@ -150,6 +152,8 @@ def add_modify_delete_task():
         speed = request.form.get('speed', -1)
         percentMaxSpeed = request.form.get('percentMaxSpeed', -1)
         laterality = request.form.get('laterality', -1)
+        lossBySpeed = request.form.get('lossBySpeed', -1)
+        lossByPower = request.form.get('lossByPower', -1)
         print taskType
         if taskType == 'F':
             load = -1
@@ -164,7 +168,8 @@ def add_modify_delete_task():
             t = Task(type=taskType,  personId=personId, stationId=stationId,
                      exerciseId=exerciseId, sets=sets, nreps=nreps, load=load,
                      speed=speed, percentMaxSpeed=percentMaxSpeed,
-                     laterality=laterality, comment=description)
+                     laterality=laterality, comment=description,
+                     lossBySpeed=lossBySpeed, lossByPower=lossByPower)
             db_session.add(t)
             db_session.commit()
         else:
@@ -179,7 +184,9 @@ def add_modify_delete_task():
                 'speed': speed,
                 'percentMaxSpeed': percentMaxSpeed,
                 'laterality': laterality,
-                'comment': description.replace('{', '').replace('}', '')
+                'comment': description.replace('{', '').replace('}', ''),
+                'lossBySpeed': lossBySpeed,
+                'lossByPower': lossByPower
             })
             db_session.commit()
     elif request.method == "DELETE":
diff --git a/chronojumpserver/models.py b/chronojumpserver/models.py
index c73cf5e..8397e07 100755
--- a/chronojumpserver/models.py
+++ b/chronojumpserver/models.py
@@ -227,10 +227,13 @@ class Task(Base):
     laterality = Column(String(3))
     comment = Column(String(150))
     done = Column(Boolean)
+    lossBySpeed = Column(Integer, default = -1)
+    lossByPower = Column(Integer, default = -1)
 
     def __init__(self, type=None, ts=None, stationId=None, personId=None,
                  exerciseId=None, nreps=-1, sets=-1, load=-1, speed=-1,
-                 percentMaxSpeed=-1, laterality=None, comment="", done=False):
+                 percentMaxSpeed=-1, laterality=None, comment="", done=False,
+                 lossBySpeed=-1, lossByPower=-1):
         """Initialize a Task object."""
         """laterality can have these values:
                 'RL' is done by both arms or legs at the same time
@@ -255,6 +258,8 @@ class Task(Base):
         self.laterality = laterality
         self.done = done
         self.comment = comment.replace('{', '').replace('}', '')
+        self.lossBySpeed = int(lossBySpeed)
+        self.lossByPower = int(lossByPower)
 
     @property
     def serialize(self):
@@ -271,7 +276,9 @@ class Task(Base):
             'nreps':       self.nreps,
             'load':        self.load,
             'laterality':  self.laterality,
-            'description': self.comment.decode('Utf-8')
+            'description': self.comment.decode('Utf-8'),
+            'lossByPower': self.lossByPower,
+            'lossBySpeed': self.lossBySpeed
         }
 
     def add_free_task(self):
diff --git a/chronojumpserver/templates/player_list.html b/chronojumpserver/templates/player_list.html
index 86c5017..ae51d12 100755
--- a/chronojumpserver/templates/player_list.html
+++ b/chronojumpserver/templates/player_list.html
@@ -67,9 +67,10 @@
                                                                        <input id="taskLoad" name="taskLoad" 
type="number" class="form-control"  ></input>
                                                                </div>
                                                        </div>
+
                                                        <div class="form-group taskParameter">
 
-                                                               <label for="taskpercentMax" class="col-sm-2 
control-label" style="padding-top:0;margin-top: -5px;">Max Vm<br>registrada (m/s):</label>
+                                                               <label for="taskMaxSpeed" class="col-sm-2 
control-label" style="padding-top:0;margin-top: -5px;">Max Vm<br>registrada (m/s):</label>
                                                                <div class="col-sm-2">
                                                                        <input id="taskMaxSpeed" 
name="taskMaxSpeed" type="number" class="form-control" disabled readonly></input>
                                                                </div>
@@ -82,6 +83,19 @@
                                                                        <input id="taskSpeed" 
name="taskSpeed" type="number" class="form-control" min="-1" step="0.1" disabled></input>
                                                                </div>
                                                        </div>
+
+                                                       <div class="form-group taskParameter">
+
+                                                               <label for="taskLossByPower" class="col-sm-2 
control-label" style="padding-top:0;margin-top: -5px;">Perdua per potencia:</label>
+                                                               <div class="col-sm-2">
+                                                                       <input id="taskLossByPower" 
name="taskLossByPower" type="number" class="form-control"></input>
+                                                               </div>
+                                                               <label for="taskLossBySpeed" class="col-sm-2 
control-label" style="padding-top:0;margin-top: -5px;">Perdua per velocitat:</label>
+                                                               <div class="col-sm-2">
+                                                                       <input id="taskLossBySpeed" 
name="taskLossBySpeed" type="number" class="form-control"></input>
+                                                               </div>
+                                                       </div>
+
                                                        <div class="form-group taskParameter">
                                                                <label for="recipient-name" class="col-sm-2 
control-label">Lateralitat:</label>
                                                                <div class="col-sm-10">
@@ -140,6 +154,17 @@
                                                                </div>
                                                        </div>
                                                        <div class="form-group taskParameter">
+
+                                                               <label for="taskLossByPower2" class="col-sm-2 
control-label" style="padding-top:0;margin-top: -5px;">Perdua per potencia:</label>
+                                                               <div class="col-sm-2">
+                                                                       <input id="taskLossByPower2" 
name="taskLossByPower2" type="number" class="form-control"></input>
+                                                               </div>
+                                                               <label for="taskLossBySpeed2" class="col-sm-2 
control-label" style="padding-top:0;margin-top: -5px;">Perdua per velocitat:</label>
+                                                               <div class="col-sm-2">
+                                                                       <input id="taskLossBySpeed2" 
name="taskLossBySpeed2" type="number" class="form-control"></input>
+                                                               </div>
+                                                       </div>
+                                                       <div class="form-group taskParameter">
                                                                <label for="recipient-name" class="col-sm-2 
control-label">Lateralitat:</label>
                                                                <div class="col-sm-10">
                                                                        <select class="form-control" 
id="taskLaterality2" name="taskLaterality2">
@@ -164,7 +189,8 @@
                                                                                <th>Carrega (Kg)</th>
                                                                                <th>Max Vm registrada (%)</th>
                                                                                <th>Velocitat (m/s)</th>
-                                                                               <!--<th>Perdua</th>-->
+                                                                               <th>Perdua per potencia</th>
+                                                                               <th>Perdua per velocitat</th>
                                                                        </tr>
                                                                </thead>
                                                                <tbody>
@@ -254,8 +280,12 @@ function removeMacroTasksTable() {
        $('.mTask').remove();
        $('#tasksTable').addClass("hidden");
        if (taskTypeInt == 1) {
+               console.log('Hola');
                $('#btnCreateTasks').removeClass('hidden');
                $('#btnAddMacroTask').addClass('hidden');
+       } else {
+               $('#btnCreateTasks').addClass('hidden');
+               $('#btnAddMacroTask').addClass('hidden');
        }
 }
 
@@ -264,6 +294,9 @@ function createTaskInTable(numTask) {
        var html = "<tr class='mTask'>";
        var load = $('#taskLoad2').val();
        var speed = $('#taskSpeed2').val();
+       var lossBySpeed = $('#taskLossBySpeed2').val();
+       var lossByPower = $('#taskLossByPower2').val();
+
        $('#tasksTable').removeClass("hidden");
        var percentMaxSpeed = $('#taskpercentMaxSpeed2').val();
        html += "<td>" + (numTask + 1) + "</td>";
@@ -275,6 +308,10 @@ function createTaskInTable(numTask) {
                html += "<td><input class='macroPercentMaxSpeed form-control' type='number' value='"+ 
percentMaxSpeed + "' /></td>";
        }
        html += "<td><input class='macroSpeed form-control' type='number' value='" + speed + "' /></td>";
+       html += "<td><input class='macroLossByPower form-control' type='number' value='" + lossByPower + 
"'/></td>";
+       html += "<td><input class='macroLossBySpeed form-control' type='number' value='" + lossBySpeed + 
"'/></td>";
+
+
        html += "</tr>";
        $('#tasksTable tr:last').after(html);
 }
@@ -304,8 +341,16 @@ function addMacroTask() {
                if (load == '') load=-1;
                var percentMaxSpeed = console.log($('.macroPercentMaxSpeed').eq(i).val());
                if (percentMaxSpeed == '') percentMaxSpeed = -1;
+
                var speed = ($('.macroSpeed').eq(i).val());
                if (speed == '') speed=-1;
+
+               var lossBySpeed = ($('.macroLossBySpeed').eq(i).val());
+               if (lossBySpeed == '') lossBySpeed=-1;
+
+               var lossByPower = ($('.macroLossByPower').eq(i).val());
+               if (lossByPower == '') lossByPower=-1;
+
                $.ajax({
                        url: '/api/v1/tasks',
                        method: method,
@@ -321,7 +366,9 @@ function addMacroTask() {
                                load: load,
                                speed: speed,
                                percentMaxSpeed: percentMaxSpeed,
-                               laterality: laterality
+                               laterality: laterality,
+                               lossBySpeed: lossBySpeed,
+                               lossByPower: lossByPower
                        }
                }).done(function(data) {
                        var table = $('#players').DataTable();
@@ -361,6 +408,13 @@ function addModifyDeleteTask(action) {
        if (percentMaxSpeed == '') percentMaxSpeed = -1;
        var laterality = $('#taskLaterality').val();
 
+       var lossByPower = $('#taskLossByPower').val();
+       if (lossByPower == '') lossByPower=-1;
+
+       var lossBySpeed = $('#taskLossBySpeed').val();
+       if (lossBySpeed == '') lossBySpeed=-1;
+
+
        // Set the method
        if (action == 2) {
                method = 'DELETE';
@@ -385,7 +439,9 @@ function addModifyDeleteTask(action) {
                        load: load,
                        speed: speed,
                        percentMaxSpeed: percentMaxSpeed,
-                       laterality: laterality
+                       laterality: laterality,
+                       lossBySpeed: lossBySpeed,
+                       lossByPower: lossByPower
                }
        }).done(function(data) {
                var table = $('#players').DataTable();
@@ -498,7 +554,9 @@ $(document).ready(function() {
                                        html += "data-task-speed='" + task.speed + "' "
                                        html += "data-task-percent-max-speed='" + task.percentMaxSpeed + "' "
                                        html += "data-task-laterality='" + task.laterality + "' "
-                                       html += "data-task-comment='" + task.description + "'"
+                                       html += "data-task-comment='" + task.description + "' "
+                                       html += "data-task-loss-by-power='" + task.lossByPower + "' "
+                                       html += "data-task-loss-by-speed='" + task.lossBySpeed + "'"
                                        html += ">" + _desc + "</a></li>";
                                });
                                html += "</ol>";
@@ -604,6 +662,8 @@ $('#players').on('click', 'a.task-link', function() {
        var stationId = $(this).attr('data-task-station-id');
        var exerciseId = $(this).attr('data-task-exercise-id');
        var taskComment = $(this).attr('data-task-comment');
+       var taskLossBySpeed = $(this).attr('data-task-loss-by-speed');
+       var taskLossByPower = $(this).attr('data-task-loss-by-power');
 
        $('#taskParamSelector').removeClass('active');
        $('#taskFreeSelector').removeClass('active');
@@ -631,10 +691,13 @@ $('#players').on('click', 'a.task-link', function() {
        $('#numReps').val(taskReps);
        $('#taskLoad').val(taskLoad);
        $('#taskSpeed').val(taskSpeed);
+       $('#taskLossBySpeed').val(taskLossBySpeed);
+       $('#taskLossByPower').val(taskLossByPower);
        $('#taskpercentMaxSpeed').val(taskPercentMaxSpeed);
        $('#taskLaterality').val(taskLaterality);
        $('#taskComment').val(taskComment);
 
+
        // Hide and show the buttons
        $('#btnDeleteTask').removeClass('hidden').addClass('show');
        $('#btnUpdateTask').removeClass('hidden').addClass('show');
@@ -649,13 +712,15 @@ $('#players').on('click', 'a.task-link', function() {
        }
 
        /* Hide the Macro Tasks */
-       $('#btnCreateTasks').addClass('hide');
-       $('#btnAddMacroTasks').addClass('hide');
+       $('#btnCreateTasks').addClass('hidden');
+       $('#btnAddMacroTasks').addClass('hidden');
 
        /* Hide the option to select individual and macro task */
        $('#taskParamSelector').addClass('hide');
        $('#taskFreeSelector').addClass('hide');
 
+       removeMacroTasksTable();
+
 });
 
 /* Each time the user selects a station, the exercise from this station is


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]