Skip to content

Commit 3ca7c00

Browse files
author
Serverfire
authored
Merge pull request #276 from wtom/model-path-config
Model path config
2 parents 3143fd3 + 87bcb76 commit 3ca7c00

7 files changed

Lines changed: 37 additions & 19 deletions

File tree

src/Serverfireteam/Panel/Commands/CreateModelCommand.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,12 @@ public function fire()
5454
*/
5555
protected function getDefaultNamespace($rootNamespace)
5656
{
57-
return $rootNamespace;
57+
if (!empty(\Config::get('panel.modelPath'))) {
58+
return $rootNamespace . '\\' . \Config::get('panel.modelPath');
59+
}
60+
else {
61+
return $rootNamespace;
62+
}
5863
}
5964

6065
}

src/Serverfireteam/Panel/config/panel.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313
'Role',
1414
'Link'
1515
),
16-
'logo'=>'packages/serverfireteam/panel/img/logo.png' // logo of Panel
17-
16+
'logo'=>'packages/serverfireteam/panel/img/logo.png', // logo of Panel
17+
'modelPath' => '', // specific model path in the app folder e.g. 'Models'
1818
);
1919

2020

src/Serverfireteam/Panel/libs/AppHelper.php

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,29 @@ public function getNameSpace(){
1515
}
1616

1717
public static function validName($name) {
18-
return strpos($name, '.') !== 0;
18+
return strpos($name, '.') !== 0;
1919
}
2020

2121
public static function access($attr, $path, $data, $volume) {
22-
if (strpos(basename($path), '.') === 0) {
23-
return !($attr == 'read');
24-
} else {
25-
return null;
26-
}
22+
if (strpos(basename($path), '.') === 0) {
23+
return !($attr == 'read');
24+
} else {
25+
return null;
26+
}
27+
}
28+
29+
public function getModel($entity) {
30+
if ( in_array($entity, \Serverfireteam\Panel\Link::getMainUrls()) ) {
31+
$modelClass = 'Serverfireteam\\Panel\\'.$entity;
32+
} else {
33+
if (!empty(\Config::get('panel.modelPath'))) {
34+
$modelClass = $this->getNameSpace() . \Config::get('panel.modelPath') . '\\' . $entity;
35+
}
36+
else {
37+
$modelClass = $this->getNameSpace() . $entity;
38+
}
39+
40+
}
41+
return $modelClass;
2742
}
2843
}

src/Serverfireteam/Panel/libs/dashboard.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,15 @@ public static function create()
3030
// Make Dashboard Items
3131
foreach ($config as $value) {
3232

33-
$modelName = $value['url'];
34-
33+
$modelName = $value['url'];
34+
/*
3535
if ( in_array($modelName, self::$urls)) {
3636
$model = "Serverfireteam\\Panel\\".$modelName;
3737
} else {
3838
$model = $appHelper->getNameSpace() . $modelName;
3939
}
40+
*/
41+
$model = $appHelper->getModel($modelName);
4042

4143
//if (class_exists($value)) {
4244
if($value['show_menu'])

src/controllers/CrudController.php

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,11 +59,7 @@ public function getEntityModel() {
5959

6060
$appHelper = new libs\AppHelper;
6161

62-
if ( in_array($entity, Link::getMainUrls()) ) {
63-
$modelClass = 'Serverfireteam\\Panel\\'.$entity;
64-
} else {
65-
$modelClass = $appHelper->getNameSpace().$this->getEntity();
66-
}
62+
$modelClass = $appHelper->getModel($entity);
6763

6864
return new $modelClass;
6965
}

src/controllers/ExportImportController.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public function export($entity, $fileType) {
1313

1414
$appHelper = new libs\AppHelper();
1515

16-
$className = $appHelper->getNameSpace() . $entity;
16+
$className = $appHelper->getModel($entity);
1717
$data = $className::get();
1818
if (strcmp($fileType, "excel") == 0) {
1919
$excel = \App::make('Excel');
@@ -29,7 +29,7 @@ public function import($entity) {
2929

3030
$appHelper = new libs\AppHelper();
3131

32-
$className = $appHelper->getNameSpace() . $entity;
32+
$className = $appHelper->getModel($entity);
3333
$model = new $className;
3434
$table = $model->getTable();
3535
$columns = \Schema::getColumnListing($table);

src/controllers/LinkController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public function edit($entity) {
3939
Link::creating(function($link)
4040
{
4141
$appHelper = new libs\AppHelper();
42-
return ( class_exists( $appHelper->getNameSpace() . $link['url'] ));
42+
return ( class_exists( $appHelper->getModel($link['url']) ));
4343
});
4444

4545
$helpMessage = \Lang::get('panel::fields.links_help');

0 commit comments

Comments
 (0)