FIX: progress bar and upgrade log on subfolder installs

This commit is contained in:
Neil Lalonde 2017-01-11 15:17:16 -05:00
parent 46e7ce7831
commit 3623c2f5b0
16 changed files with 84 additions and 39 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
*.swp
manager-client/vendor/*
*.sublime-workspace

View File

@ -6,7 +6,7 @@ This plugin works with the Discourse docker image. It allows you to perform upgr
* Install `node.js`, `bower`, `grunt`
* Clone this repo to desired folder path
* In console, from folder path do `cd manger-client`, `npm install`, `bower install`
* In console, from folder path do `cd manager-client`, `npm install`, `bower install`
* Create a symlink for this folder in your local Discourse instance "plugins" folder (eg. `path/to/your/discourse_folder/plugins/discourse_manager`)
* Make sure your Discourse instance is running locally at port 3000 and you are logged in as Admin
@ -17,7 +17,8 @@ This plugin works with the Discourse docker image. It allows you to perform upgr
* `npm install`
* `bower install`
* Use `ember server --proxy "http://localhost:3000"` to proxy to your Discourse instance running on port 3000
* Just open up a browser to port 4200 and you're off to the races!
* If that gives errors, you may need to start your Discourse rails server like this: `bundle exec rails s -b 127.0.0.1`
* JUST open up a browser to port 4200 and you're off to the races!
The client application is built using [Ember CLI](http://www.ember-cli.com/).

View File

@ -12,4 +12,8 @@ module DockerManager::ApplicationHelper
def discourse_root_url
Discourse.base_uri
end
def long_polling_base_url
SiteSetting.long_polling_base_url
end
end

View File

@ -12,6 +12,7 @@
window.Discourse = {
hasLatestPngcrush: <%= has_latest_pngcrush %>,
rootUrl: '<%= discourse_root_url %>',
longPollingBaseUrl: '<%= long_polling_base_url %>',
getURL: function(url) {
if (!url) return url;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -11,11 +11,5 @@ cp manager-client/dist/assets/manager-client.js assets/docker-manager-app.js
cp manager-client/dist/assets/vendor.js assets/docker-manager-vendor.js
cp manager-client/dist/assets/vendor.css assets/docker-manager-vendor.css
# font files
cp manager-client/dist/fonts/fontawesome-webfont.eot assets/fonts/fontawesome-webfont.eot
cp manager-client/dist/fonts/fontawesome-webfont.svg assets/fonts/fontawesome-webfont.svg
cp manager-client/dist/fonts/fontawesome-webfont.ttf assets/fonts/fontawesome-webfont.ttf
cp manager-client/dist/fonts/fontawesome-webfont.woff assets/fonts/fontawesome-webfont.woff
# fix invalid paths
sed -i '' 's/\.\.\/fonts/fonts/g' assets/docker-manager-vendor.css

View File

@ -0,0 +1,17 @@
{
"folders":
[
{
"path": ".",
"follow_symlinks": true,
"folder_exclude_patterns": ["node_modules", "bower_components", "dist"],
"file_exclude_patterns": ["assets/docker-manager-*"]
}
],
"settings":
{
"translate_tabs_to_spaces": true,
"tab_size": 2
}
}

View File

@ -1,3 +1,5 @@
/* global Discourse */
import Ember from "ember";
export default Ember.Controller.extend({

View File

@ -17,6 +17,9 @@
<script>
window.Discourse = {
hasLatestPngcrush: true,
rootUrl: '/',
longPollingBaseUrl: '/',
getURL: function(url) {
return url;
}

View File

@ -5,7 +5,7 @@ export default {
name: "findCsrfToken",
initialize() {
return request(Discourse.getURL('/session/csrf')).then(function(result) {
return request('/session/csrf').then(function(result) {
var token = result.csrf;
$.ajaxPrefilter(function(options, originalOptions, xhr) {
if (!options.crossDomain) {
@ -15,4 +15,3 @@ export default {
});
}
};

View File

@ -0,0 +1,19 @@
/* global MessageBus, Discourse, $:true */
export default {
name: "message-bus",
initialize() {
MessageBus.baseUrl = Discourse.longPollingBaseUrl;
if (MessageBus.baseUrl !== '/') {
MessageBus.ajax = function(opts) {
opts.headers = opts.headers || {};
opts.headers['X-Shared-Session-Key'] = $('meta[name=shared_session_key]').attr('content');
return $.ajax(opts);
};
} else {
MessageBus.baseUrl = Discourse.getURL('/');
}
}
};

View File

@ -1,3 +1,5 @@
/* global Discourse */
import request from 'ember-ajax/request';
import Ember from 'ember';

View File

@ -1,3 +1,5 @@
/* global Discourse */
import request from 'ember-ajax/request';
import Ember from 'ember';
@ -36,7 +38,7 @@ var Repo = Ember.Object.extend({
if (!self.get('shouldCheck')) { return resolve(); }
self.set('checking', true);
self.repoAjax('/admin/docker/latest').then(function(result) {
self.repoAjax(Discourse.getURL('/admin/docker/latest')).then(function(result) {
self.setProperties({
checking: false,
lastCheckedAt: new Date().getTime(),
@ -48,14 +50,14 @@ var Repo = Ember.Object.extend({
},
findProgress: function() {
return this.repoAjax('/admin/docker/progress').then(function(result) {
return this.repoAjax(Discourse.getURL('/admin/docker/progress')).then(function(result) {
return result.progress;
});
},
resetUpgrade: function() {
var self = this;
return this.repoAjax('/admin/docker/upgrade', { type: 'DELETE' }).then(function() {
return this.repoAjax(Discourse.getURL('/admin/docker/upgrade'), { type: 'DELETE' }).then(function() {
self.set('upgrading', false);
});
},
@ -64,7 +66,7 @@ var Repo = Ember.Object.extend({
var self = this;
this.set('upgrading', true);
return this.repoAjax('/admin/docker/upgrade', { type: 'POST' }).catch(function() {
return this.repoAjax(Discourse.getURL('/admin/docker/upgrade'), { type: 'POST' }).catch(function() {
self.set('upgrading', false);
});
}