378 lines
11 KiB
JavaScript
378 lines
11 KiB
JavaScript
'use strict';
|
|
|
|
/* Services */
|
|
|
|
var appServices = angular.module('bananaraceApp.services', []);
|
|
|
|
appServices.service('ChampionshipService', function ($http) {
|
|
this.getChampionships = function () {
|
|
console.log('service.getChampionships called');
|
|
return $http.post('server/getchampionships.php', {});
|
|
};
|
|
|
|
this.deleteChampionship = function (championship) {
|
|
return $http.post('server/deletechampionship.php', {
|
|
idchampionship: championship.idchampionship
|
|
});
|
|
};
|
|
|
|
this.addChampionship = function (newchampionship) {
|
|
return $http.post('server/addchampionship.php', {
|
|
name: newchampionship.name
|
|
});
|
|
};
|
|
|
|
this.togglePublishResultsForChampionship = function (championship) {
|
|
console.log('toggling publish results for championship' + championship.idchampionship);
|
|
$http.post('server/config.php', {
|
|
action: 'togglePublishResultsForChampionship',
|
|
idchampionship: championship.idchampionship
|
|
}).success(function (data, status, headers, config) {
|
|
if (championship.publishresults === 'f') {
|
|
championship.publishresults = 't';
|
|
} else if (championship.publishresults === 't') {
|
|
championship.publishresults = 'f';
|
|
}
|
|
});
|
|
};
|
|
});
|
|
|
|
appServices.service('PouleService', function ($http) {
|
|
this.getPoules = function (idchampionship) {
|
|
return $http.post('server/getpoules.php', {
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.addPoule = function (newpoule, idchampionship) {
|
|
return $http.post('server/addpoule.php', {
|
|
tier: newpoule.tier,
|
|
poule: newpoule.poule,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.deletePoule = function (tier, poule, idchampionship) {
|
|
return $http.post('server/deletepoule.php', {
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.addTeam = function (team, idchampionship, tier, poule) {
|
|
return $http.post('server/addteamtopoule.php', {
|
|
idteam: team.idteam,
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.removeTeam = function (team, idchampionship, tier, poule) {
|
|
return $http.post('server/removeteamfrompoule.php', {
|
|
idteam: team.idteam,
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.getRacesInPoule = function (idchampionship, tier, poule) {
|
|
return $http.post('server/getracesinpoule.php', {
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.addRace = function (idchampionship, tier, poule, idteam) {
|
|
return $http.post('server/addracetopoule.php', {
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship,
|
|
idteam: idteam
|
|
});
|
|
};
|
|
|
|
this.deleteRace = function (idchampionship, tier, poule, idrace) {
|
|
return $http.post('server/deleterace.php', {
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship,
|
|
idrace: idrace
|
|
});
|
|
};
|
|
});
|
|
|
|
|
|
appServices.service('TeamService', function ($http) {
|
|
this.getTeams = function (idchampionship) {
|
|
return $http.post('server/getteams.php', {
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
this.getTeamsInPoule = function (idchampionship, tier, poule) {
|
|
return $http.post('server/getteams.php', {
|
|
idchampionship: idchampionship,
|
|
tier: tier,
|
|
poule: poule
|
|
});
|
|
};
|
|
|
|
this.deleteTeam = function (team, idchampionship) {
|
|
return $http.post('server/deleteteam.php', {
|
|
idteam: team.idteam,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
|
|
/**
|
|
* Filters: teams that are from the given championship and haven't been used in another poule...
|
|
*/
|
|
this.getTeamsAvailableForPoule = function (idchampionship, tier, poule) {
|
|
return $http.post('server/getteams.php', {
|
|
idchampionship: idchampionship,
|
|
tier: tier,
|
|
poule: poule,
|
|
available: true
|
|
});
|
|
};
|
|
|
|
this.addTeam = function (newteam, idchampionship) {
|
|
console.log('adding team');
|
|
return $http.post('server/addteam.php', {
|
|
name: newteam.name,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
});
|
|
|
|
|
|
appServices.service('RaceService', function ($http) {
|
|
this.getDrives = function (idrace) {
|
|
return $http.post('server/getdrives.php', {
|
|
idrace: idrace
|
|
});
|
|
};
|
|
|
|
this.getTeam = function (idrace) {
|
|
return $http.post('server/getraceteam.php', {
|
|
idrace: idrace
|
|
});
|
|
};
|
|
|
|
this.addDrive = function (race, driver, laps) {
|
|
console.log('raceservice.adddrive got called: ' + race + ' ' + driver.iddriver + ' ' + laps);
|
|
return $http.post('server/adddrive.php', {
|
|
idrace: race,
|
|
iddriver: driver.iddriver,
|
|
laps: laps
|
|
});
|
|
};
|
|
|
|
this.deleteDrive = function (drivenr, idrace) {
|
|
return $http.post('server/deletedrive.php', {
|
|
drivenr: drivenr,
|
|
idrace: idrace
|
|
});
|
|
};
|
|
|
|
this.addMeasurementNow = function (idrace) {
|
|
return $http.post('server/addmeasurement.php', {
|
|
type: 'now',
|
|
idrace: idrace
|
|
});
|
|
};
|
|
|
|
this.addMeasurementRelative = function (idrace, timestamp) {
|
|
return $http.post('server/addmeasurement.php', {
|
|
type: 'relative',
|
|
idrace: idrace,
|
|
timestamp: timestamp
|
|
});
|
|
};
|
|
|
|
this.getMeasurements = function (idrace) {
|
|
return $http.post('server/getmeasurements.php', {
|
|
idrace: idrace
|
|
});
|
|
};
|
|
|
|
this.updateMeasurement = function (measurement) {
|
|
return $http.post('server/updatemeasurement.php', {
|
|
idmeasurement: measurement.idmeasurement,
|
|
valid: measurement.valid
|
|
});
|
|
};
|
|
|
|
this.deleteMeasurement = function (measurement) {
|
|
console.log('deleting measurement');
|
|
console.log(measurement);
|
|
return $http.post('server/deletemeasurement.php', {
|
|
idmeasurement: measurement.idmeasurement
|
|
});
|
|
};
|
|
});
|
|
|
|
|
|
appServices.service('DriverService', function ($http) {
|
|
this.getDrivers = function (idchampionship, idteam) {
|
|
return $http.post('server/getdrivers.php', {
|
|
idchampionship: idchampionship,
|
|
idteam: idteam
|
|
});
|
|
};
|
|
|
|
this.addDriver = function (newdriver, idchampionship, idteam) {
|
|
console.log('adding driver');
|
|
return $http.post('server/adddriver.php', {
|
|
idchampionship: idchampionship,
|
|
name: newdriver.name,
|
|
idteam: idteam
|
|
});
|
|
};
|
|
|
|
this.deleteDriver = function (driver) {
|
|
console.log('removing driver');
|
|
return $http.post('server/deletedriver.php', {
|
|
iddriver: driver.iddriver
|
|
});
|
|
};
|
|
});
|
|
|
|
appServices.service('DriveService', function ($http) {
|
|
this.getComments = function (idrace, drivenr) {
|
|
console.log('getting comments for: ' + idrace + ' ' + drivenr);
|
|
return $http.post('server/getcomments.php', {
|
|
idrace: idrace,
|
|
drivenr: drivenr
|
|
});
|
|
};
|
|
|
|
this.addComment = function (idrace, drivenr, comment, penaltyseconds) {
|
|
return $http.post('server/addcomment.php', {
|
|
idrace: idrace,
|
|
drivenr: drivenr,
|
|
comment: comment,
|
|
penaltyseconds: penaltyseconds
|
|
});
|
|
};
|
|
|
|
this.deleteComment = function (idcomment) {
|
|
return $http.post('server/deletecomment.php', {
|
|
idcomment: idcomment
|
|
});
|
|
};
|
|
|
|
this.deleteDriver = function (driver) {
|
|
console.log('removing driver');
|
|
return $http.post('server/deletedriver.php', {
|
|
iddriver: driver.iddriver
|
|
});
|
|
};
|
|
});
|
|
|
|
|
|
appServices.service('OverviewService', function ($http) {
|
|
this.getData = function (idchampionship) {
|
|
return $http.post('server/getoverviewofchampionship.php', {
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
});
|
|
|
|
appServices.service('ViewerService', function ($http) {
|
|
|
|
this.getTeamsForPoule = function (idchampionship, tier, poule) {
|
|
return $http.post('server/getteamsforpoule.php', {
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship
|
|
});
|
|
};
|
|
});
|
|
|
|
appServices.service('MainService', function ($http, $cookies) {
|
|
|
|
var activerace = null;
|
|
|
|
this.refreshConfig = function () {
|
|
$http.post('server/config.php', {
|
|
action: 'getConfig'
|
|
}).success(function (data, status, headers, config) {
|
|
// console.log('refreshConfig successful...');
|
|
//refresh activerace
|
|
if (data.activeidrace != null) {
|
|
// console.log('setting the activerace...');
|
|
activerace = {
|
|
idrace: data.activeidrace,
|
|
tier: data.tier,
|
|
poule: data.poule,
|
|
idchampionship: data.idchampionship
|
|
};
|
|
} else {
|
|
// console.log('idrace was null, setting activerace to null');
|
|
activerace = null;
|
|
}
|
|
// console.log(activerace);
|
|
}).error(function (data, status, headers, config) {
|
|
console.log('getConfig failed...');
|
|
});
|
|
};
|
|
|
|
this.setActiveRace = function (idrace, tier, poule, idchampionship) {
|
|
if (idrace == null) {
|
|
activerace = null;
|
|
} else {
|
|
activerace = {
|
|
idrace: idrace,
|
|
tier: tier,
|
|
poule: poule,
|
|
idchampionship: idchampionship
|
|
};
|
|
}
|
|
$http.post('server/config.php', {
|
|
action: 'setActiveIdRace',
|
|
idrace: idrace
|
|
}).success(function (data, status, headers, config) {
|
|
//do something?
|
|
});
|
|
};
|
|
|
|
this.getActiveRace = function () {
|
|
return activerace;
|
|
};
|
|
|
|
this.toggleActiveRace = function (idrace, tier, poule, idchampionship) {
|
|
console.log('toggling active race' + idrace);
|
|
//if the race is not the same as the currently active on: switch it
|
|
if (activerace == null || activerace.idrace != idrace) {
|
|
this.setActiveRace(idrace, tier, poule, idchampionship);
|
|
} else {
|
|
//well, it's the same: we're disabling the activeness of the race
|
|
activerace = null;
|
|
this.setActiveRace(null, null, null, null);
|
|
}
|
|
};
|
|
|
|
this.togglePublishResults = function (race) {
|
|
console.log('toggling publish results ' + race.idrace);
|
|
$http.post('server/config.php', {
|
|
action: 'togglePublishResults',
|
|
idrace: race.idrace
|
|
}).success(function (data, status, headers, config) {
|
|
if (race.publishresults === 'f') {
|
|
race.publishresults = 't';
|
|
} else if (race.publishresults === 't') {
|
|
race.publishresults = 'f';
|
|
}
|
|
});
|
|
};
|
|
|
|
|
|
//load the current config
|
|
this.refreshConfig();
|
|
});
|