Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
test-project
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Junaid Rahman pv
test-project
Commits
538e87c8
Commit
538e87c8
authored
Sep 09, 2016
by
dianc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Theme Menu Generation-3
parent
b2318ab4
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
192 additions
and
4 deletions
+192
-4
ThemeController.php
backend/modules/theme/controllers/ThemeController.php
+108
-1
create.php
backend/modules/theme/views/theme/create.php
+1
-0
file.php
backend/modules/theme/views/theme/file.php
+1
-1
layout.php
backend/modules/theme/views/theme/layout.php
+1
-1
update.php
backend/modules/theme/views/theme/update.php
+1
-0
_form.php
backend/modules/theme/views/theme_file/_form.php
+79
-0
Theme.php
common/models/Theme.php
+1
-1
No files found.
backend/modules/theme/controllers/ThemeController.php
View file @
538e87c8
...
...
@@ -2,10 +2,10 @@
namespace
backend\modules\theme\controllers
;
use
common\models\ThemeFiles
;
use
Yii
;
use
common\models\Theme
;
use
backend\modules\theme\models\search\ThemeSearch
;
use
yii\helpers\Html
;
use
yii\web\Controller
;
use
yii\web\NotFoundHttpException
;
use
yii\filters\VerbFilter
;
...
...
@@ -125,4 +125,111 @@ class ThemeController extends Controller
throw
new
NotFoundHttpException
(
'The requested page does not exist.'
);
}
}
public
function
actionFiles
(
$id
)
{
$model
=
$this
->
findModel
(
$id
);
$modelFiles
=
$model
->
themeFiles
;
if
(
$model
->
load
(
Yii
::
$app
->
request
->
post
()))
{
//&& $model->save()
$oldIDs
=
ArrayHelper
::
map
(
$modelFiles
,
'id'
,
'id'
);
$modelFiles
=
Model
::
createMultiple
(
ThemeFiles
::
classname
(),
$modelFiles
);
Model
::
loadMultiple
(
$modelFiles
,
Yii
::
$app
->
request
->
post
());
$deletedIDs
=
array_diff
(
$oldIDs
,
array_filter
(
ArrayHelper
::
map
(
$modelFiles
,
'id'
,
'id'
)));
// ajax validation
if
(
Yii
::
$app
->
request
->
isAjax
)
{
Yii
::
$app
->
response
->
format
=
Response
::
FORMAT_JSON
;
return
ArrayHelper
::
merge
(
ActiveForm
::
validateMultiple
(
$modelFiles
),
ActiveForm
::
validate
(
$model
)
);
}
// validate all models
$valid
=
$model
->
validate
();
$valid
=
Model
::
validateMultiple
(
$modelFiles
)
&&
$valid
;
if
(
$valid
)
{
$transaction
=
\Yii
::
$app
->
db
->
beginTransaction
();
try
{
if
(
$flag
=
$model
->
save
(
false
))
{
if
(
!
empty
(
$deletedIDs
))
{
ThemeFiles
::
deleteAll
([
'id'
=>
$deletedIDs
]);
}
foreach
(
$modelFiles
as
$modelFiles
)
{
$modelFiles
->
customer_id
=
$model
->
id
;
if
(
!
(
$flag
=
$modelFiles
->
save
(
false
)))
{
$transaction
->
rollBack
();
break
;
}
}
}
if
(
$flag
)
{
$transaction
->
commit
();
return
$this
->
redirect
([
'file'
,
'theme_id'
=>
$model
->
id
]);
}
}
catch
(
Exception
$e
)
{
$transaction
->
rollBack
();
}
}
}
return
$this
->
render
(
'file'
,
[
'model'
=>
$model
,
'modelFiles'
=>
(
empty
(
$modelFiles
))
?
[
new
ThemeFiles
()]
:
$modelFiles
]);
}
public
function
actionCreatee
()
{
$model
=
new
Theme
();
$modelFiles
=
[
new
ThemeFiles
()];
if
(
$model
->
load
(
Yii
::
$app
->
request
->
post
()))
{
$modelFiles
=
Model
::
createMultiple
(
ThemeFiles
::
classname
());
Model
::
loadMultiple
(
$modelFiles
,
Yii
::
$app
->
request
->
post
());
// ajax validation
if
(
Yii
::
$app
->
request
->
isAjax
)
{
Yii
::
$app
->
response
->
format
=
Response
::
FORMAT_JSON
;
return
ArrayHelper
::
merge
(
ActiveForm
::
validateMultiple
(
$modelFiles
),
ActiveForm
::
validate
(
$model
)
);
}
// validate all models
$valid
=
$model
->
validate
();
$valid
=
Model
::
validateMultiple
(
$modelFiles
)
&&
$valid
;
if
(
$valid
)
{
$transaction
=
\Yii
::
$app
->
db
->
beginTransaction
();
try
{
if
(
$flag
=
$model
->
save
(
false
))
{
foreach
(
$modelFiles
as
$modelFile
)
{
$modelFile
->
theme_id
=
$model
->
id
;
if
(
!
(
$flag
=
$modelFile
->
save
(
false
)))
{
$transaction
->
rollBack
();
break
;
}
}
}
if
(
$flag
)
{
$transaction
->
commit
();
return
$this
->
redirect
([
'file'
,
'theme_id'
=>
$model
->
id
]);
}
}
catch
(
Exception
$e
)
{
$transaction
->
rollBack
();
}
}
}
return
$this
->
render
(
'file'
,
[
'model'
=>
$model
,
'modelFiles'
=>
(
empty
(
$modelFiles
))
?
[
new
ThemeFiles
()]
:
$modelFiles
]);
}
}
backend/modules/theme/views/theme/create.php
View file @
538e87c8
...
...
@@ -6,6 +6,7 @@ use yii\helpers\Html;
/* @var $this yii\web\View */
/* @var $model common\models\Theme */
$this
->
params
[
'themeId'
]
=
false
;
$this
->
title
=
Yii
::
t
(
'backend'
,
'Create {modelClass}'
,
[
'modelClass'
=>
'Theme'
,
]);
...
...
backend/modules/theme/views/theme/file.php
View file @
538e87c8
...
...
@@ -11,7 +11,7 @@ $this->params['breadcrumbs'][] = $this->title;
<div
class=
"theme-create"
>
<?=
$this
->
render
(
'..\file\_form'
,
[
<?=
$this
->
render
(
'..\
theme_
file\_form'
,
[
'model'
=>
$model
,
'modelFiles'
=>
$modelFiles
,
])
?>
...
...
backend/modules/theme/views/theme/layout.php
View file @
538e87c8
...
...
@@ -18,7 +18,7 @@ Menu::widget([
[
'label'
=>
'Files'
,
'url'
=>
$this
->
params
[
'themeId'
]
?
[
'theme/file
s
'
,
'id'
=>
$this
->
params
[
'themeId'
]]
[
'theme/file'
,
'id'
=>
$this
->
params
[
'themeId'
]]
:
'#'
,
'options'
=>
[
'class'
=>
$this
->
params
[
'themeId'
]
?
''
:
'disabled'
]
],
...
...
backend/modules/theme/views/theme/update.php
View file @
538e87c8
...
...
@@ -5,6 +5,7 @@ use yii\helpers\Html;
/* @var $this yii\web\View */
/* @var $model common\models\Theme */
$this
->
params
[
'themeId'
]
=
$model
->
id
;
$this
->
title
=
Yii
::
t
(
'backend'
,
'Update {modelClass}: '
,
[
'modelClass'
=>
'Theme'
,
])
.
' '
.
$model
->
name
;
...
...
backend/modules/theme/views/theme_file/_form.php
0 → 100644
View file @
538e87c8
<?php
?>
<?php
use
yii\helpers\Html
;
use
yii\widgets\ActiveForm
;
use
wbraganca\dynamicform\DynamicFormWidget
;
?>
<div
class=
"customer-form"
>
<?php
$form
=
ActiveForm
::
begin
([
'id'
=>
'dynamic-form'
]);
?>
<div
class=
"panel panel-default"
>
<div
class=
"panel-body"
>
<?php
DynamicFormWidget
::
begin
([
'widgetContainer'
=>
'dynamicform_wrapper'
,
// required: only alphanumeric characters plus "_" [A-Za-z0-9_]
'widgetBody'
=>
'.container-items'
,
// required: css class selector
'widgetItem'
=>
'.item'
,
// required: css class
'limit'
=>
4
,
// the maximum times, an element can be cloned (default 999)
'min'
=>
1
,
// 0 or 1 (default 1)
'insertButton'
=>
'.add-item'
,
// css class
'deleteButton'
=>
'.remove-item'
,
// css class
'model'
=>
$modelFiles
[
0
],
'formId'
=>
'dynamic-form'
,
'formFields'
=>
[
'name'
,
'code'
,
'type'
,
],
]);
?>
<div
class=
"container-items"
>
<!-- widgetContainer -->
<?php
foreach
(
$modelFiles
as
$i
=>
$modelFile
)
:
?>
<div
class=
"item panel panel-default"
>
<!-- widgetBody -->
<div
class=
"panel-heading"
>
<h3
class=
"panel-title pull-left"
>
Category Files
</h3>
<div
class=
"pull-right"
>
<button
type=
"button"
class=
"add-item btn btn-success btn-xs"
><i
class=
"glyphicon glyphicon-plus"
></i></button>
<button
type=
"button"
class=
"remove-item btn btn-danger btn-xs"
><i
class=
"glyphicon glyphicon-minus"
></i></button>
</div>
<div
class=
"clearfix"
></div>
</div>
<div
class=
"panel-body"
>
<?php
// necessary for update action.
if
(
!
$modelFile
->
isNewRecord
)
{
echo
Html
::
activeHiddenInput
(
$modelFile
,
"[
{
$i
}
]category_id"
);
}
?>
<div
class=
"row"
>
<div
class=
"col-sm-4"
>
<?=
$form
->
field
(
$modelFile
,
"[
{
$i
}
]name"
)
->
textInput
([
'maxlength'
=>
true
])
?>
</div>
<div
class=
"col-sm-4"
>
<?=
$form
->
field
(
$modelFile
,
"[
{
$i
}
]code"
)
->
textInput
([
'maxlength'
=>
true
])
?>
</div>
<div
class=
"col-sm-4"
>
<!--
<?
//= $form->field($modelFile, "[{$i}]type")->textInput(['maxlength' => true]) ?> -->
<?=
$form
->
field
(
$modelFile
,
"[
{
$i
}
]type"
)
->
dropDownList
(
$modelFile
::
getTheme
(),
[
'prompt'
=>
''
])
?>
</div>
</div>
</div>
</div>
<?php
endforeach
;
?>
</div>
<?php
DynamicFormWidget
::
end
();
?>
</div>
</div>
<div class="form-group">
<?=
Html
::
submitButton
(
'Save'
,
[
'class'
=>
'btn btn-primary'
])
?>
</div>
<?php
ActiveForm
::
end
();
?>
</div>
common/models/Theme.php
View file @
538e87c8
...
...
@@ -71,7 +71,7 @@ class Theme extends \yii\db\ActiveRecord
{
return
[
'id'
=>
Yii
::
t
(
'app'
,
'ID'
),
'category_id'
=>
Yii
::
t
(
'app'
,
'Category
ID
'
),
'category_id'
=>
Yii
::
t
(
'app'
,
'Category'
),
'code'
=>
Yii
::
t
(
'app'
,
'Code'
),
'slug'
=>
Yii
::
t
(
'app'
,
'Slug'
),
'name'
=>
Yii
::
t
(
'app'
,
'Name'
),
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment