http://somedomain.com/api/users/123/notes/234
всегда будет доступна заметка с id=234 пользователя у которого id=123, например, в виде json-объекта:{
"authorId": 123,
"content": "Текст заметки под номером 234"
}
angular.element(document).ready(function () { $scope.isReady = true }
$scope.isReady = true
ng-hide=isReady
, которая сработает сразу после инициализации контроллера. var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var paths = {
srcLibs = [
'bower/angular/angular.min.js',
'bower/angular-translate/angular-translate.min.js',
...
],
srcApp = [
'app/app.js',
'app/auth/AuthFactory.js',
...
]
}
gulp.task('libsbundle', function() {
return gulp.src(paths.srcLibs)
.pipe(concat('lib.js'))
.pipe(gulp.dest('build/'))
});
gulp.task('app', function() {
return gulp.src(paths.srcApp)
.pipe(concat('app.js'))
// минимизация для продакшн
//.pipe(uglify())
.pipe(gulp.dest('build/'))
});
gulp.task('watch', function() {
gulp.watch(paths.srcApp, ['app']);
});
angular.module('app', []).config(function($interpolateProvider){
$interpolateProvider.startSymbol('{$');
$interpolateProvider.endSymbol('$}');
def has_permission(self, request, view):
user_id = getattr(request.user, 'id')
parent_id = request.data['parent']
if parent_id is not None:
parent_obj = ParentModel.objects.get(id=parent_id)
serialized = ParentSerializer(parent_obj)
return user_id == serialized.data['creator']
return False
// На входе - массив с командами и опционально - необходимый тур
function schedule(array, round) { // если тур не указан - создаётся всё расписание целиком
if (!round) {
var teams = array.length,
// точка, после которой команды будут меняться местами "дома - гость"
halfTour = (teams - 1),
totalRounds = halfTour * 2,
matchesPerRound = teams / 2,
matches = [],
rounds = [],
round,
match,
home,
away,
swap,
currentRoundText;
for (round = 0; round < totalRounds; round++) {
currentRoundText = [(round + 1)];
matches = [];
for (match = 0; match < matchesPerRound; match++) {
home = (round + match) % (teams - 1);
away = (teams - 1 - match + round) % (teams - 1);
if (match === 0) {
away = teams - 1;
}
if (round >= halfTour) {
swap = home;
home = away;
away = swap;
}
currentRoundText += ('[' + array[home]+ ' ' + array[away] + ']');
matches.push([array[home], array[away]]);
}
console.log(currentRoundText);
rounds.push(matches);
}
return rounds;
}
// Если раунд указан, просчитывается весь турнир и берется нужный элемент массива
return schedule(array)[round - 1];
}