Repository navigation
Expand file tree
/
Copy pathScriptController.php
More file actions
86 lines (73 loc) · 2.76 KB
/
Copy pathScriptController.php
File metadata and controls
86 lines (73 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
namespace ProcessMaker\Http\Controllers\Process;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Schema;
use ProcessMaker\Http\Controllers\Controller;
use ProcessMaker\Models\ProcessRequest;
use ProcessMaker\Models\Script;
use ProcessMaker\Models\ScriptCategory;
use ProcessMaker\Models\ScriptExecutor;
use ProcessMaker\Models\User;
class ScriptController extends Controller
{
/**
* Get the list of environment variables
*
* @return \Illuminate\View\View|\Illuminate\Contracts\View
*/
public function index(Request $request)
{
$catConfig = (object) [
'labels' => (object) [
'countColumn' => __('# Scripts'),
],
'routes' => (object) [
'itemsIndexWeb' => 'scripts.index',
'editCategoryWeb' => 'script-categories.edit',
'categoryListApi' => 'api.script_categories.index',
],
'countField' => 'scripts_count',
'apiListInclude' => 'scriptsCount',
'permissions' => [
'view' => $request->user()->can('view-script-categories'),
'create' => $request->user()->can('create-script-categories'),
'edit' => $request->user()->can('edit-script-categories'),
'delete' => $request->user()->can('delete-script-categories'),
],
];
$listConfig = (object) [
'scriptExecutors' => ScriptExecutor::list(),
'countCategories' => ScriptCategory::where(['status' => 'ACTIVE', 'is_system' => false])->count()
];
return view('processes.scripts.index', compact ('listConfig', 'catConfig'));
}
public function edit(Script $script, User $users)
{
$selectedUser = $script->runAsUser;
$scriptExecutors = ScriptExecutor::list($script->language);
return view('processes.scripts.edit', compact('script', 'selectedUser', 'scriptExecutors'));
}
public function builder(Request $request, Script $script)
{
$processRequestAttributes = $this->getProcessRequestAttributes();
$processRequestAttributes['user_id'] = $request->user()->id;
$testData = [
'_request' => $processRequestAttributes
];
return view('processes.scripts.builder', compact('script', 'testData'));
}
private function getProcessRequestAttributes()
{
$emptyProcessRequest = new ProcessRequest();
$columns = Schema::connection(
$emptyProcessRequest->getConnectionName()
)->getColumnListing(
$emptyProcessRequest->getTable()
);
$attributes = [];
foreach($columns as $column) {
$attributes[$column] = null;
}
return $attributes;
}
}