commit
0c3559787c
|
@ -53,7 +53,7 @@ loadPlugins = (plugins) ->
|
|||
|
||||
promise = $.getJSON "/conf.json"
|
||||
promise.done (data) ->
|
||||
window.taigaConfig = _.extend({}, window.taigaConfig, data)
|
||||
window.taigaConfig = _.assign({}, window.taigaConfig, data)
|
||||
|
||||
promise.always ->
|
||||
if window.taigaConfig.contribPlugins.length > 0
|
||||
|
|
|
@ -586,7 +586,7 @@ init = ($log, $rootscope, $auth, $events, $analytics, $translate, $location, $na
|
|||
|
||||
# Taiga Plugins
|
||||
$rootscope.contribPlugins = @.taigaContribPlugins
|
||||
$rootscope.adminPlugins = _.where(@.taigaContribPlugins, {"type": "admin"})
|
||||
$rootscope.adminPlugins = _.filter(@.taigaContribPlugins, {"type": "admin"})
|
||||
|
||||
$rootscope.$on "$translateChangeEnd", (e, ctx) ->
|
||||
lang = ctx.language
|
||||
|
|
|
@ -108,7 +108,7 @@ class ProjectValuesController extends taiga.Controller
|
|||
loadValues: =>
|
||||
return @rs[@scope.resource].listValues(@scope.projectId, @scope.type).then (values) =>
|
||||
@scope.values = values
|
||||
@scope.maxValueOrder = _.max(values, "order").order
|
||||
@scope.maxValueOrder = _.maxBy(values, "order").order
|
||||
return values
|
||||
|
||||
moveValue: (ctx, itemValue, itemIndex) =>
|
||||
|
@ -436,7 +436,7 @@ class ProjectCustomAttributesController extends mixOf(taiga.Controller, taiga.Pa
|
|||
loadCustomAttributes: =>
|
||||
return @rs.customAttributes[@scope.type].list(@scope.projectId).then (customAttributes) =>
|
||||
@scope.customAttributes = customAttributes
|
||||
@scope.maxOrder = _.max(customAttributes, "order").order
|
||||
@scope.maxOrder = _.maxBy(customAttributes, "order").order
|
||||
return customAttributes
|
||||
|
||||
createCustomAttribute: (attrValues) =>
|
||||
|
|
|
@ -251,7 +251,7 @@ NewRoleDirective = ($tgrepo, $confirm) ->
|
|||
project: $scope.projectId
|
||||
name: target.val()
|
||||
permissions: DEFAULT_PERMISSIONS
|
||||
order: _.max($scope.roles, (r) -> r.order).order + 1
|
||||
order: _.maxBy($scope.roles, (r) -> r.order).order + 1
|
||||
computable: false
|
||||
}
|
||||
|
||||
|
|
|
@ -103,7 +103,7 @@ WebhookDirective = ($rs, $repo, $confirm, $loading, $translate) ->
|
|||
$rs.webhooklogs.list(webhook.id).then (webhooklogs) =>
|
||||
for log in webhooklogs
|
||||
log.validStatus = 200 <= log.status < 300
|
||||
log.prettySentHeaders = _.map(_.pairs(log.request_headers), ([header, value]) -> "#{header}: #{value}").join("\n")
|
||||
log.prettySentHeaders = _.map(_.toPairs(log.request_headers), ([header, value]) -> "#{header}: #{value}").join("\n")
|
||||
log.prettySentData = JSON.stringify(log.request_data)
|
||||
log.prettyDate = moment(log.created).format(prettyDate)
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ class ContribController extends taiga.Controller
|
|||
]
|
||||
|
||||
constructor: (@rootScope, @scope, @params, @repo, @rs, @confirm) ->
|
||||
@scope.currentPlugin = _.first(_.where(@rootScope.adminPlugins, {"slug": @params.plugin}))
|
||||
@scope.currentPlugin = _.head(_.filter(@rootScope.adminPlugins, {"slug": @params.plugin}))
|
||||
@scope.projectSlug = @params.pslug
|
||||
|
||||
promise = @.loadInitialData()
|
||||
|
|
|
@ -48,8 +48,8 @@ class UrlsService extends taiga.Service
|
|||
url = format(@.urls[name], args.slice(1))
|
||||
|
||||
return format("%s/%s", [
|
||||
_.str.rtrim(@.mainUrl, "/"),
|
||||
_.str.ltrim(url, "/")
|
||||
_.trimEnd(@.mainUrl, "/"),
|
||||
_.trimStart(url, "/")
|
||||
])
|
||||
|
||||
resolveAbsolute: ->
|
||||
|
|
|
@ -370,10 +370,12 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
|||
renderComments = ->
|
||||
comments = $scope.comments or []
|
||||
totalComments = comments.length
|
||||
if not showAllComments
|
||||
comments = _.last(comments, 4)
|
||||
|
||||
comments = _.map(comments, (x) -> renderComment(x))
|
||||
if not showAllComments
|
||||
comments = _.takeRight(comments, 4)
|
||||
|
||||
comments = _.map comments, (x) -> renderComment(x)
|
||||
|
||||
html = renderHistory(comments, totalComments)
|
||||
$el.find(".comments-list").html(html)
|
||||
|
||||
|
@ -381,7 +383,7 @@ HistoryDirective = ($log, $loading, $qqueue, $template, $confirm, $translate, $c
|
|||
changes = $scope.history or []
|
||||
totalChanges = changes.length
|
||||
if not showAllActivity
|
||||
changes = _.last(changes, 4)
|
||||
changes = _.takeRight(changes, 4)
|
||||
|
||||
changes = _.map(changes, (x) -> renderChange(x))
|
||||
html = renderHistory(changes, totalChanges)
|
||||
|
|
|
@ -513,7 +513,7 @@ AssignedToLightboxDirective = (lightboxService, lightboxKeyboardNavigationServic
|
|||
username = normalizeString(username)
|
||||
text = text.toUpperCase()
|
||||
text = normalizeString(text)
|
||||
return _.contains(username, text)
|
||||
return _.includes(username, text)
|
||||
|
||||
render = (selected, text) ->
|
||||
users = _.clone($scope.activeUsers, true)
|
||||
|
@ -522,7 +522,7 @@ AssignedToLightboxDirective = (lightboxService, lightboxKeyboardNavigationServic
|
|||
|
||||
ctx = {
|
||||
selected: selected
|
||||
users: _.first(users, 5)
|
||||
users: _.slice(users, 0, 5)
|
||||
showMore: users.length > 5
|
||||
}
|
||||
|
||||
|
@ -608,7 +608,7 @@ WatchersLightboxDirective = ($repo, lightboxService, lightboxKeyboardNavigationS
|
|||
|
||||
username = user.full_name_display.toUpperCase()
|
||||
text = text.toUpperCase()
|
||||
return _.contains(username, text)
|
||||
return _.includes(username, text)
|
||||
|
||||
users = _.clone($scope.activeUsers, true)
|
||||
users = _.filter(users, _.partial(_filterUsers, text))
|
||||
|
@ -618,7 +618,7 @@ WatchersLightboxDirective = ($repo, lightboxService, lightboxKeyboardNavigationS
|
|||
render = (users) ->
|
||||
ctx = {
|
||||
selected: false
|
||||
users: _.first(users, 5)
|
||||
users: _.head(users, 5)
|
||||
showMore: users.length > 5
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ TagsDirective = ->
|
|||
|
||||
parser = (v) ->
|
||||
return [] if not v
|
||||
result = _(v.split(",")).map((x) -> _.str.trim(x))
|
||||
result = _(v.split(",")).map((x) -> _.trim(x))
|
||||
|
||||
return result.value()
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ class PageMixin
|
|||
@scope.roles = _.sortBy(roles, "order")
|
||||
computableRoles = _(@scope.project.members).map("role").uniq().value()
|
||||
@scope.computableRoles = _(roles).filter("computable")
|
||||
.filter((x) -> _.contains(computableRoles, x.id))
|
||||
.filter((x) -> _.includes(computableRoles, x.id))
|
||||
.value()
|
||||
loadUsersAndRoles: ->
|
||||
promise = @q.all([
|
||||
|
|
|
@ -59,7 +59,7 @@ class EventsService
|
|||
if not startswith(url, "ws:") and not startswith(url, "wss:")
|
||||
loc = @win.location
|
||||
scheme = if loc.protocol == "https:" then "wss:" else "ws:"
|
||||
path = _.str.ltrim(url, "/")
|
||||
path = _.trimStart(url, "/")
|
||||
url = "#{scheme}//#{loc.host}/#{path}"
|
||||
|
||||
@.ws = new @win.WebSocket(url)
|
||||
|
|
|
@ -59,16 +59,19 @@ mixOf = (base, mixins...) ->
|
|||
|
||||
|
||||
trim = (data, char) ->
|
||||
return _.str.trim(data, char)
|
||||
return _.trim(data, char)
|
||||
|
||||
|
||||
slugify = (data) ->
|
||||
return _.str.slugify(data)
|
||||
|
||||
return data.toString().toLowerCase().trim()
|
||||
.replace(/\s+/g, '-')
|
||||
.replace(/&/g, '-and-')
|
||||
.replace(/[^\w\-]+/g, '')
|
||||
.replace(/\-\-+/g, '-')
|
||||
|
||||
unslugify = (data) ->
|
||||
if data
|
||||
return _.str.capitalize(data.replace(/-/g, ' '))
|
||||
return _.capitalize(data.replace(/-/g, ' '))
|
||||
return data
|
||||
|
||||
|
||||
|
@ -114,7 +117,7 @@ toString = (value) ->
|
|||
|
||||
|
||||
joinStr = (str, coll) ->
|
||||
return _.str.join(str, coll)
|
||||
return coll.join(str)
|
||||
|
||||
|
||||
debounce = (wait, func) ->
|
||||
|
@ -126,7 +129,7 @@ debounceLeading = (wait, func) ->
|
|||
|
||||
|
||||
startswith = (str1, str2) ->
|
||||
return _.str.startsWith(str1, str2)
|
||||
return _.startsWith(str1, str2)
|
||||
|
||||
|
||||
truncate = (str, maxLength, suffix="...") ->
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
"tests"
|
||||
],
|
||||
"dependencies": {
|
||||
"lodash": "~2.4.2",
|
||||
"emoticons": "~0.1.7",
|
||||
"jquery-flot": "~0.8.2",
|
||||
"angular": "1.4.7",
|
||||
|
@ -83,10 +82,11 @@
|
|||
"eventemitter2": "~0.4.14",
|
||||
"immutable": "~3.7.6",
|
||||
"bluebird": "~2.10.2",
|
||||
"intro.js": "~1.1.1"
|
||||
"intro.js": "~1.1.1",
|
||||
"lodash": "~4.0.0"
|
||||
},
|
||||
"resolutions": {
|
||||
"lodash": "~2.4.2",
|
||||
"lodash": "~4.0.0",
|
||||
"moment": "~2.10.6",
|
||||
"jquery": "~2.1.1",
|
||||
"angular": "1.4.7"
|
||||
|
|
|
@ -65,6 +65,7 @@ shared.statusTesting = async function(status1 , status2) {
|
|||
await statusHelper.setStatus(1);
|
||||
|
||||
let selectedStatus = await statusHelper.getSelectedStatus();
|
||||
|
||||
expect(selectedStatus).to.be.equal(status1);
|
||||
|
||||
// Status 2
|
||||
|
|
|
@ -33,7 +33,7 @@ describe('Task detail', function(){
|
|||
|
||||
it('description edition', sharedDetail.descriptionTesting);
|
||||
|
||||
it('status edition', sharedDetail.statusTesting);
|
||||
it('status edition', sharedDetail.bind(this, 'Ready', 'In progress'));
|
||||
|
||||
describe('assigned to edition', sharedDetail.assignedToTesting);
|
||||
|
||||
|
|
|
@ -140,9 +140,8 @@ paths.coffee_order = [
|
|||
paths.libs = [
|
||||
paths.vendor + "bluebird/js/browser/bluebird.js",
|
||||
paths.vendor + "jquery/dist/jquery.js",
|
||||
paths.vendor + "lodash/dist/lodash.js",
|
||||
paths.vendor + "lodash/lodash.js",
|
||||
paths.vendor + "emoticons/lib/emoticons.js",
|
||||
paths.vendor + "underscore.string/lib/underscore.string.js",
|
||||
paths.vendor + "messageformat/messageformat.js",
|
||||
paths.vendor + "angular/angular.js",
|
||||
paths.vendor + "angular-route/angular-route.js",
|
||||
|
|
|
@ -3,6 +3,8 @@ var child_process = require('child_process');
|
|||
var inquirer = require("inquirer");
|
||||
var Promise = require('bluebird');
|
||||
|
||||
// npm run e2e -- -s userStories, auth
|
||||
|
||||
var suites = [
|
||||
'auth',
|
||||
'public',
|
||||
|
|
Loading…
Reference in New Issue