Merge branch 'release/1.19.1'

pull/2218/head 1.19.1
Anthony Lapenna 2018-07-28 19:46:14 +02:00
commit e94a725a8a
9 changed files with 27 additions and 27 deletions

View File

@ -611,7 +611,7 @@ type (
const ( const (
// APIVersion is the version number of the Portainer API. // APIVersion is the version number of the Portainer API.
APIVersion = "1.19.0" APIVersion = "1.19.1"
// DBVersion is the version number of the Portainer database. // DBVersion is the version number of the Portainer database.
DBVersion = 13 DBVersion = 13
// PortainerAgentHeader represents the name of the header available in any agent response // PortainerAgentHeader represents the name of the header available in any agent response

View File

@ -54,7 +54,7 @@ info:
**NOTE**: You can find more information on how to query the Docker API in the [Docker official documentation](https://docs.docker.com/engine/api/v1.30/) as well as in [this Portainer example](https://gist.github.com/deviantony/77026d402366b4b43fa5918d41bc42f8). **NOTE**: You can find more information on how to query the Docker API in the [Docker official documentation](https://docs.docker.com/engine/api/v1.30/) as well as in [this Portainer example](https://gist.github.com/deviantony/77026d402366b4b43fa5918d41bc42f8).
version: "1.19.0" version: "1.19.1"
title: "Portainer API" title: "Portainer API"
contact: contact:
email: "info@portainer.io" email: "info@portainer.io"
@ -2816,7 +2816,7 @@ definitions:
description: "Is analytics enabled" description: "Is analytics enabled"
Version: Version:
type: "string" type: "string"
example: "1.19.0" example: "1.19.1"
description: "Portainer API version" description: "Portainer API version"
PublicSettingsInspectResponse: PublicSettingsInspectResponse:
type: "object" type: "object"

View File

@ -15,7 +15,7 @@ function ($scope, $state, $transition$, $sanitize, Authentication, UserService,
function unauthenticatedFlow() { function unauthenticatedFlow() {
EndpointService.endpoints() EndpointService.endpoints()
.then(function success(data) { .then(function success(endpoints) {
if (endpoints.length === 0) { if (endpoints.length === 0) {
$state.go('portainer.init.endpoint'); $state.go('portainer.init.endpoint');
} else { } else {

View File

@ -30,7 +30,7 @@
title-text="Endpoints" title-icon="fa-plug" title-text="Endpoints" title-icon="fa-plug"
endpoints="endpoints" endpoints="endpoints"
dashboard-action="goToDashboard" dashboard-action="goToDashboard"
show-snapshot-action="isAdmin" show-snapshot-action="!applicationState.application.authentication || isAdmin"
snapshot-action="triggerSnapshot" snapshot-action="triggerSnapshot"
></endpoint-list> ></endpoint-list>
</div> </div>

View File

@ -16,17 +16,20 @@ function ($q, $scope, StateManager, Notifications, Authentication, UserService)
$scope.uiVersion = StateManager.getState().application.version; $scope.uiVersion = StateManager.getState().application.version;
$scope.logo = StateManager.getState().application.logo; $scope.logo = StateManager.getState().application.logo;
var userDetails = Authentication.getUserDetails(); var authenticationEnabled = $scope.applicationState.application.authentication;
var isAdmin = userDetails.role === 1; if (authenticationEnabled) {
$scope.isAdmin = isAdmin; var userDetails = Authentication.getUserDetails();
var isAdmin = userDetails.role === 1;
$scope.isAdmin = isAdmin;
$q.when(!isAdmin ? UserService.userMemberships(userDetails.ID) : []) $q.when(!isAdmin ? UserService.userMemberships(userDetails.ID) : [])
.then(function success(data) { .then(function success(data) {
checkPermissions(data); checkPermissions(data);
}) })
.catch(function error(err) { .catch(function error(err) {
Notifications.error('Failure', err, 'Unable to retrieve user memberships'); Notifications.error('Failure', err, 'Unable to retrieve user memberships');
}); });
}
} }
initView(); initView();

View File

@ -14,7 +14,7 @@ function build_and_push_images() {
function build_archive() { function build_archive() {
BUILD_FOLDER="${ARCHIVE_BUILD_FOLDER}/$1" BUILD_FOLDER="${ARCHIVE_BUILD_FOLDER}/$1"
rm -rf ${BUILD_FOLDER} && mkdir -pv ${BUILD_FOLDER}/portainer rm -rf ${BUILD_FOLDER} && mkdir -pv ${BUILD_FOLDER}/portainer
mv dist/* ${BUILD_FOLDER}/portainer/ cp -r dist/* ${BUILD_FOLDER}/portainer/
cd ${BUILD_FOLDER} cd ${BUILD_FOLDER}
tar cvpfz "portainer-${VERSION}-$1.tar.gz" portainer tar cvpfz "portainer-${VERSION}-$1.tar.gz" portainer
mv "portainer-${VERSION}-$1.tar.gz" ${ARCHIVE_BUILD_FOLDER}/ mv "portainer-${VERSION}-$1.tar.gz" ${ARCHIVE_BUILD_FOLDER}/

View File

@ -1,5 +1,5 @@
Name: portainer Name: portainer
Version: 1.19.0 Version: 1.19.1
Release: 0 Release: 0
License: Zlib License: Zlib
Summary: A lightweight docker management UI Summary: A lightweight docker management UI

View File

@ -31,7 +31,6 @@ module.exports = function (grunt) {
'clean:all', 'clean:all',
'before-copy', 'before-copy',
'copy:assets', 'copy:assets',
'copy:templates',
'after-copy' 'after-copy'
]); ]);
grunt.registerTask('build', [ grunt.registerTask('build', [
@ -82,6 +81,7 @@ module.exports = function (grunt) {
root: 'dist', root: 'dist',
distdir: 'dist/public', distdir: 'dist/public',
shippedDockerVersion: '18.03.1-ce', shippedDockerVersion: '18.03.1-ce',
shippedDockerVersionWindows: '17.09.0-ce',
pkg: grunt.file.readJSON('package.json'), pkg: grunt.file.readJSON('package.json'),
config: gruntfile_cfg.config, config: gruntfile_cfg.config,
src: gruntfile_cfg.src, src: gruntfile_cfg.src,
@ -122,7 +122,7 @@ gruntfile_cfg.src = {
}; };
gruntfile_cfg.clean = { gruntfile_cfg.clean = {
all: ['<%= distdir %>/../*'], all: ['<%= root %>/*'],
app: ['<%= distdir %>/*', '!<%= distdir %>/../portainer*', '!<%= distdir %>/../docker*'], app: ['<%= distdir %>/*', '!<%= distdir %>/../portainer*', '!<%= distdir %>/../docker*'],
tmpl: ['<%= distdir %>/templates'], tmpl: ['<%= distdir %>/templates'],
tmp: ['<%= distdir %>/js/*', '!<%= distdir %>/js/app.*.js', '<%= distdir %>/css/*', '!<%= distdir %>/css/app.*.css'] tmp: ['<%= distdir %>/js/*', '!<%= distdir %>/js/app.*.js', '<%= distdir %>/css/*', '!<%= distdir %>/css/app.*.css']
@ -163,12 +163,8 @@ gruntfile_cfg.copy = {
{dest: '<%= distdir %>/fonts/', src: '*.{ttf,woff,woff2,eof,eot,svg}', expand: true, cwd: 'node_modules/@fortawesome/fontawesome-free-webfonts/webfonts/'}, {dest: '<%= distdir %>/fonts/', src: '*.{ttf,woff,woff2,eof,eot,svg}', expand: true, cwd: 'node_modules/@fortawesome/fontawesome-free-webfonts/webfonts/'},
{dest: '<%= distdir %>/fonts/', src: '*.{ttf,woff,woff2,eof,svg}', expand: true, cwd: 'node_modules/rdash-ui/dist/fonts/'}, {dest: '<%= distdir %>/fonts/', src: '*.{ttf,woff,woff2,eof,svg}', expand: true, cwd: 'node_modules/rdash-ui/dist/fonts/'},
{dest: '<%= distdir %>/images/', src: '**', expand: true, cwd: 'assets/images/'}, {dest: '<%= distdir %>/images/', src: '**', expand: true, cwd: 'assets/images/'},
{dest: '<%= distdir %>/ico', src: '**', expand: true, cwd: 'assets/ico'} {dest: '<%= distdir %>/ico', src: '**', expand: true, cwd: 'assets/ico'},
] {dest: '<%= root %>/', src: 'templates.json', cwd: ''}
},
templates: {
files: [
{ dest: '<%= root %>/', src: 'templates.json', cwd: '' }
] ]
} }
}; };
@ -285,11 +281,12 @@ function shell_downloadDockerBinary(p, a) {
var as = { 'amd64': 'x86_64', 'arm': 'armhf', 'arm64': 'aarch64' }; var as = { 'amd64': 'x86_64', 'arm': 'armhf', 'arm64': 'aarch64' };
var ip = ((ps[p] === undefined) ? p : ps[p]); var ip = ((ps[p] === undefined) ? p : ps[p]);
var ia = ((as[a] === undefined) ? a : as[a]); var ia = ((as[a] === undefined) ? a : as[a]);
var binaryVersion = (( p === 'win' ? '<%= shippedDockerVersionWindows %>' : '<%= shippedDockerVersion %>' ));
return [ return [
'if [ -f '+(( p === 'win' ) ? 'dist/docker.exe' : 'dist/docker')+' ]; then', 'if [ -f '+(( p === 'win' ) ? 'dist/docker.exe' : 'dist/docker')+' ]; then',
'echo "Docker binary exists";', 'echo "Docker binary exists";',
'else', 'else',
'build/download_docker_binary.sh ' + ip + ' ' + ia + ' <%= shippedDockerVersion %>;', 'build/download_docker_binary.sh ' + ip + ' ' + ia + ' ' + binaryVersion + ';',
'fi' 'fi'
].join(' '); ].join(' ');
} }

View File

@ -2,7 +2,7 @@
"author": "Portainer.io", "author": "Portainer.io",
"name": "portainer", "name": "portainer",
"homepage": "http://portainer.io", "homepage": "http://portainer.io",
"version": "1.19.0", "version": "1.19.1",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git@github.com:portainer/portainer.git" "url": "git@github.com:portainer/portainer.git"