Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 27 additions & 10 deletions extension.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ const superagent = require('superagent');
const fs = require('fs-extra');
const mkdirp = require('mkdirp');

var localSettings = 0; //used to set
var token;
var process = [];
var to_sync = {};
Expand All @@ -21,56 +22,57 @@ var bar_sync = vscode.window.createStatusBarItem(1);
var abort;

//DONE: configurer les constantes suivantes
let conf = vscode.workspace.getConfiguration();
let b = conf.get("pmkr_workspace");
let conf = getLocalSettings(); //vscode.workspace.getConfiguration();
console.log(conf);
let b = (localSettings == 1) ? conf.pmkr_workspace : conf.get("pmkr_workspace");
const pm_workspace = "/" + b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_workspace cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_client_id");
b = (localSettings == 1) ? conf.pmkr_client_id : conf.get("pmkr_client_id");
const pm_client_id = b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_client_id cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_client_secret");
b = (localSettings == 1) ? conf.pmkr_client_secret : conf.get("pmkr_client_secret");
const pm_client_secret = b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_client_secret cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_username");
b = (localSettings == 1) ? conf.pmkr_username : conf.get("pmkr_username");
const pm_username = b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_username cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_userpassword");
b = (localSettings == 1) ? conf.pmkr_userpassword : conf.get("pmkr_userpassword");
const pm_userpassword = b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_userpassword cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_base_url");
b = (localSettings == 1) ? conf.pmkr_base_url : conf.get("pmkr_base_url");
const pm_base_url = b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_base_url cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_auth_url");
b = (localSettings == 1) ? conf.pmkr_auth_url : conf.get("pmkr_auth_url");
const pm_auth_url = pm_base_url + pm_workspace + b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_auth_url cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_api_ver");
b = (localSettings == 1) ? conf.pmkr_api_ver : conf.get("pmkr_api_ver");
const pm_api_ver = b;
if (!b) {
vscode.window.showErrorMessage("PMKR : Setting Error; pmkr_api_ver cannot be 'null'");
abort = true;
}
b = conf.get("pmkr_loc_workspace_path");
b = (localSettings == 1) ? conf.pmkr_loc_workspace_path : conf.get("pmkr_loc_workspace_path");
// on multi process maker workspace
//const pm_loc_workspace=b;
//const loc_workspace = b + pm_workspace;
Expand Down Expand Up @@ -555,4 +557,19 @@ async function pmAuth() {
}
});
return response;
}

function getLocalSettings() {

let currentWorkspacePath = vscode.workspace.workspaceFolders[0];
if (fs.existsSync(currentWorkspacePath.uri.fsPath + "/pmkr.json")) {
localSettings = 1;
let text = fs.readFileSync(currentWorkspacePath.uri.fsPath + "/pmkr.json");
let config = JSON.parse(text);
return config;
}
else{
localSettings = 0;
return vscode.workspace.getConfiguration();
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"displayName": "PMKR",
"description": "ProcessMaker External Editor",
"version": "0.0.1",
"publisher": "Chris Doudet",
"publisher": "ChrisDoudet",
"engines": {
"vscode": "^1.20.0"
},
Expand Down
11 changes: 11 additions & 0 deletions pmkr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"pmkr_workspace":"workflow",
"pmkr_api_ver": "/api/1.0",
"pmkr_auth_url": "/oauth2/token",
"pmkr_base_url": "",
"pmkr_client_id": "",
"pmkr_client_secret": "",
"pmkr_loc_workspace_path": "/Users/***/Development/ProcessMaker/Workspace",
"pmkr_username": "**",
"pmkr_userpassword": "**"
}