提交 9e4e927b 编写于 作者: T Terry

后台扩展应用加入优先级参数

上级 4d13196d
......@@ -24,6 +24,7 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
{
public $_enableUrl;
public $_disableUrl;
public $_viewUrl;
/**
* init param function ,execute in construct.
*/
......@@ -33,6 +34,7 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
* edit data url
*/
$this->_editUrl = CUrl::getUrl('system/extensioninstalled/manageredit');
$this->_viewUrl = CUrl::getUrl('system/extensioninstalled/managerview');
/*
* delete data url
*/
......@@ -173,6 +175,13 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
'align' => 'center',
'convert' => ['int' => 'datetime'],
],
[
'orderField' => 'priority',
'label' => Yii::$service->page->translate->__('Priority'),
'width' => '50',
'align' => 'left',
],
[
'orderField' => 'updated_at',
'label' => Yii::$service->page->translate->__('Updated At'),
......@@ -264,8 +273,10 @@ class Manager extends AppadminbaseBlock implements AppadminbaseBlockInterface
$str .= '<td>'.$val.'</td>';
}
$str .= '<td>
<a title="' . Yii::$service->page->translate->__('View') . '" target="dialog" class="btnEdit" mask="true" drawable="true" width="1200" height="680" href="'.$this->_editUrl.'?'.$this->_primaryKey.'='.$one[$this->_primaryKey].'" ><i class="fa fa-eye"></i></a>
</td>';
<a title="' . Yii::$service->page->translate->__('View') . '" target="dialog" class="btnEdit" mask="true" drawable="true" width="1200" height="680" href="'.$this->_viewUrl.'?'.$this->_primaryKey.'='.$one[$this->_primaryKey].'" ><i class="fa fa-eye"></i></a>
<a title="' . Yii::$service->page->translate->__('Edit') . '" target="dialog" class="btnEdit" mask="true" drawable="true" width="1200" height="680" href="'.$this->_editUrl.'?'.$this->_primaryKey.'='.$one[$this->_primaryKey].'" ><i class="fa fa-pencil"></i></a>
</td>';
$str .= '</tr>';
}
......
......@@ -49,30 +49,6 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
public function getEditArr()
{
return [
[
'label' => Yii::$service->page->translate->__('Extension Name'),
'name' => 'name',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Package'),
'name' => 'package',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Folder'),
'name' => 'folder',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Status'),
'name' => 'status',
......@@ -86,43 +62,6 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
'require' => 1,
'default' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Type'),
'name' => 'type',
'display' => [
'type' => 'select',
'data' => Yii::$service->extension->getTypeArr(),
],
'require' => 1,
'default' => 1,
],
[
'label' => Yii::$service->page->translate->__('Namespace'),
'name' => 'namespace',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Config File Path'),
'name' => 'config_file_path',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Version'),
'name' => 'version',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Priority'),
......@@ -132,16 +71,6 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Installed Status'),
'name' => 'installed_status',
'display' => [
'type' => 'select',
'data' => Yii::$service->extension->getInstallStatusArr(),
],
'require' => 1,
'default' => 1,
],
];
}
......@@ -157,21 +86,49 @@ class Manageredit extends AppadminbaseBlockEdit implements AppadminbaseBlockEdit
* if attribute is date or date time , db storage format is int ,by frontend pass param is int ,
* you must convert string datetime to time , use strtotime function.
*/
$this->_service->save($this->_param, 'cms/article/index');
$errors = Yii::$service->helper->errors->get();
if (!$errors) {
$status = $this->_param['status'];
$priority = $this->_param['priority'];
$id = $this->_param['id'];
if (!$status) {
echo json_encode([
'statusCode' => '200',
'message' => Yii::$service->page->translate->__('Save Success'),
'statusCode' => '300',
'message' => Yii::$service->page->translate->__('status can not empty'),
]);
exit;
} else {
}
if (!$priority) {
echo json_encode([
'statusCode' => '300',
'message' => Yii::$service->page->translate->__('priority can not empty'),
]);
exit;
}
if (!$id) {
echo json_encode([
'statusCode' => '300',
'message' => Yii::$service->page->translate->__('id can not empty'),
]);
exit;
}
$saveStatus = $this->_service->save([
'id' => $id,
'priority' => $priority,
'status' => $status,
]);
if (!$saveStatus) {
$errors = Yii::$service->helper->errors->get();
echo json_encode([
'statusCode' => '300',
'message' => $errors,
]);
exit;
}
echo json_encode([
'statusCode' => '200',
'message' => Yii::$service->page->translate->__('Save Success'),
]);
exit;
}
// 插件激活
public function extensionEnable()
......
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
namespace fecshop\app\appadmin\modules\System\block\extensioninstalled;
use fec\helpers\CRequest;
use fec\helpers\CUrl;
use fecshop\app\appadmin\interfaces\base\AppadminbaseBlockEditInterface;
use fecshop\app\appadmin\modules\AppadminbaseBlockEdit;
use Yii;
/**
* block cms\staticblock.
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
*/
class Managerview extends AppadminbaseBlockEdit implements AppadminbaseBlockEditInterface
{
public $_saveUrl;
public function init()
{
$this->_saveUrl = CUrl::getUrl('system/extensioninstalled/managereditsave');
parent::init();
}
// 传递给前端的数据 显示编辑form
public function getLastData()
{
return [
'editBar' => $this->getEditBar(),
'textareas' => $this->_textareas,
'lang_attr' => $this->_lang_attr,
'saveUrl' => $this->_saveUrl,
];
}
public function setService()
{
$this->_service = Yii::$service->extension;
}
public function getEditArr()
{
return [
[
'label' => Yii::$service->page->translate->__('Extension Name'),
'name' => 'name',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Package'),
'name' => 'package',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Folder'),
'name' => 'folder',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Status'),
'name' => 'status',
'display' => [
'type' => 'select',
'data' => [
1 => Yii::$service->page->translate->__('Enable'),
2 => Yii::$service->page->translate->__('Disable'),
],
],
'require' => 1,
'default' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Type'),
'name' => 'type',
'display' => [
'type' => 'select',
'data' => Yii::$service->extension->getTypeArr(),
],
'require' => 1,
'default' => 1,
],
[
'label' => Yii::$service->page->translate->__('Namespace'),
'name' => 'namespace',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Config File Path'),
'name' => 'config_file_path',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Extension Version'),
'name' => 'version',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Priority'),
'name' => 'priority',
'display' => [
'type' => 'inputString',
],
'require' => 1,
],
[
'label' => Yii::$service->page->translate->__('Installed Status'),
'name' => 'installed_status',
'display' => [
'type' => 'select',
'data' => Yii::$service->extension->getInstallStatusArr(),
],
'require' => 1,
'default' => 1,
],
];
}
/**
* save article data, get rewrite url and save to article url key.
*/
public function save()
{
$request_param = CRequest::param();
$this->_param = $request_param[$this->_editFormData];
/*
* if attribute is date or date time , db storage format is int ,by frontend pass param is int ,
* you must convert string datetime to time , use strtotime function.
*/
$this->_service->save($this->_param, 'cms/article/index');
$errors = Yii::$service->helper->errors->get();
if (!$errors) {
echo json_encode([
'statusCode' => '200',
'message' => Yii::$service->page->translate->__('Save Success'),
]);
exit;
} else {
echo json_encode([
'statusCode' => '300',
'message' => $errors,
]);
exit;
}
}
// 插件激活
public function extensionEnable()
{
$ids = Yii::$app->request->post('ids');
$idArr = explode(',', $ids);
if (!Yii::$service->extension->enableAddons($idArr)) {
echo json_encode([
'statusCode' => '300',
'message' => Yii::$service->page->translate->__('Enable Extension fail'),
]);
exit;
}
echo json_encode([
'statusCode' => '200',
'message' => Yii::$service->page->translate->__('Enable Extension Success') ,
]);
exit;
}
// 插件关闭
public function extensionDisable()
{
$ids = Yii::$app->request->post('ids');
$idArr = explode(',', $ids);
if (!Yii::$service->extension->disableAddons($idArr)) {
echo json_encode([
'statusCode' => '300',
'message' => Yii::$service->page->translate->__('Enable Extension fail'),
]);
exit;
}
echo json_encode([
'statusCode' => '200',
'message' => Yii::$service->page->translate->__('Enable Extension Success') ,
]);
exit;
}
// 批量删除
public function delete()
{
$ids = '';
if ($id = CRequest::param($this->_primaryKey)) {
$ids = $id;
} elseif ($ids = CRequest::param($this->_primaryKey.'s')) {
$ids = explode(',', $ids);
}
$this->_service->remove($ids);
$errors = Yii::$service->helper->errors->get();
if (!$errors) {
echo json_encode([
'statusCode' => '200',
'message' => Yii::$service->page->translate->__('Remove Success') ,
]);
exit;
} else {
echo json_encode([
'statusCode' => '300',
'message' => $errors,
]);
exit;
}
}
}
......@@ -34,6 +34,13 @@ class ExtensioninstalledController extends SystemController
return $this->render($this->action->id, $data);
}
public function actionManagerview()
{
$data = $this->getBlock()->getLastData();
return $this->render($this->action->id, $data);
}
public function actionManagerenable()
{
$data = $this->getBlock('manageredit')->extensionEnable();
......@@ -46,12 +53,12 @@ class ExtensioninstalledController extends SystemController
/*
public function actionManagereditsave()
{
$data = $this->getBlock('manageredit')->save();
}
/*
public function actionManagerdelete()
{
$this->getBlock('manageredit')->delete();
......
......@@ -35,7 +35,17 @@ use fecadmin\models\AdminRole;
<?= $textareas ?>
</div>
<div class="formBar">
<ul>
<!--<li><a class="buttonActive" href="javascript:;"><span>保存</span></a></li>-->
<li>
<div class="buttonActive"><div class="buttonContent"><button onclick="func('accept')" value="accept" name="accept" type="submit"><?= Yii::$service->page->translate->__('Save') ?></button></div></div>
</li>
<li>
<div class="button"><div class="buttonContent"><button type="button" class="close"><?= Yii::$service->page->translate->__('Cancel') ?></button></div></div>
</li>
</ul>
</div>
</form>
</div>
......
<?php
/**
* FecShop file.
*
* @link http://www.fecshop.com/
* @copyright Copyright (c) 2016 FecShop Software LLC
* @license http://www.fecshop.com/license/
*/
use yii\helpers\Html;
use fec\helpers\CRequest;
use fecadmin\models\AdminRole;
/**
* @author Terry Zhao <2358269014@qq.com>
* @since 1.0
*/
?>
<style>
.checker{float:left;}
.dialog .pageContent {background:none;}
.dialog .pageContent .pageFormContent{background:none;}
</style>
<div class="pageContent">
<form method="post" class="pageForm required-validate" onsubmit="return validateCallback(this, dialogAjaxDoneCloseAndReflush);">
<?php echo CRequest::getCsrfInputHtml(); ?>
<div layouth="56" class="pageFormContent" style="height: 240px; overflow: auto;">
<input type="hidden" value="<?= $product_id; ?>" size="30" name="product_id" class="textInput ">
<fieldset id="fieldset_table_qbe">
<legend style="color:#009688"><?= Yii::$service->page->translate->__('Edit Info') ?></legend>
<div>
<?= $editBar; ?>
</div>
</fieldset>
<?= $lang_attr ?>
<?= $textareas ?>
</div>
</form>
</div>
<style>
.pageFormContent p{
width:100%;
}
.pageFormContent input.textInput{
width:80%;
}
</style>
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册