Skip to content

Commit

Permalink
Fixed issue #13419: Re-ordering questions and groups using Structure …
Browse files Browse the repository at this point in the history
…drag & drop fails
  • Loading branch information
lacrioque committed Mar 5, 2018
1 parent f0e65cd commit 0d75f9f
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 7 deletions.
12 changes: 12 additions & 0 deletions application/controllers/admin/questiongroups.php
Expand Up @@ -436,6 +436,18 @@ public function updateOrder($surveyid)
}
Question::updateSortOrder($aQuestiongroup['gid'], $surveyid);
}

return Yii::app()->getController()->renderPartial(
'/admin/super/_renderJson',
array(
'data' => [
'success' => true,
'DEBUG' => ['POST'=>$_POST, 'grouparray' => $grouparray]
],
),
false,
false
);
}

/**
Expand Down
2 changes: 1 addition & 1 deletion application/views/admin/super/sidemenu.php
Expand Up @@ -25,7 +25,7 @@
$createQuestionLink = $this->createUrl("admin/questions/sa/newquestion/" ,["surveyid" => $surveyid]);
}

$updateOrderLink = $this->createUrl("admin/questiongroups/sa/updateOrder", ["surveyid" => $surveyid]);
$updateOrderLink = $this->createUrl("admin/questiongroups/sa/updateOrder/", ["surveyid" => $surveyid]);

$createPermission = Permission::model()->hasSurveyPermission($surveyid, 'surveycontent', 'create');
if ($activated || !$createPermission) {
Expand Down
2 changes: 1 addition & 1 deletion assets/packages/adminpanel/build/lsadminpanel.debug.js
Expand Up @@ -11220,7 +11220,7 @@ exports.push([module.i,"",""]);// exports
/***/},/* 339 *//***/function(module,exports){/**
* Translates the list format produced by css-loader into something
* easier to manipulate.
*/module.exports=function listToStyles(parentId,list){var styles=[];var newStyles={};for(var i=0;i<list.length;i++){var item=list[i];var id=item[0];var css=item[1];var media=item[2];var sourceMap=item[3];var part={id:parentId+':'+i,css:css,media:media,sourceMap:sourceMap};if(!newStyles[id]){styles.push(newStyles[id]={id:id,parts:[part]});}else{newStyles[id].parts.push(part);}}return styles;};/***/},/* 340 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_lodash__=__webpack_require__(46);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_lodash___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__mixins_runAjax_js__=__webpack_require__(47);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue__=__webpack_require__(341);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue__=__webpack_require__(346);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue__=__webpack_require__(358);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue__);/* harmony default export */__webpack_exports__["default"]={components:{'questionexplorer':__WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue___default.a,'sidemenu':__WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue___default.a,'quickmenu':__WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue___default.a},mixins:[__WEBPACK_IMPORTED_MODULE_1__mixins_runAjax_js__["a"/* default */]],props:{'user':{type:Number},'translate':{type:Object},'getQuestionsUrl':{type:String},'getMenuUrl':{type:String},'createQuestionGroupLink':{type:String},'createQuestionLink':{type:String},'updateOrderLink':{type:String}},data:function data(){return{'currentTab':'settings','activeMenuIndex':0,'openSubpanelId':0,'questiongroups':[],'menues':[],'$store.state.isCollapsed':false,'sideBarWidth':'315','initialPos':{x:0,y:0},'isMouseDown':false,'isMouseDownTimeOut':null,'sidemenus':{},'collapsedmenus':{},'topmenus':{},'bottommenus':{},'sideBarHeight':'400px'};},computed:{getSideBarWidth:function getSideBarWidth(){return this.$store.state.isCollapsed?'98':this.sideBarWidth;},sortedMenus:function sortedMenus(){return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.orderBy(this.menues,function(a){return parseInt(a.order||999999);},['asc']);},showSideMenu:function showSideMenu(){return!this.$store.state.isCollapsed&&this.$store.state.currentTab=='settings';},showQuestionTree:function showQuestionTree(){return!this.$store.state.isCollapsed&&this.$store.state.currentTab=='questiontree';},calculateSideBarMenuHeight:function calculateSideBarMenuHeight(){return this.$store.state.sideBarHeight-70+'px';}},methods:{calculateHeight:function calculateHeight(self){self.$store.commit('changeSideBarHeight',$('#in_survey_common').height());},changedQuestionGroupOrder:function changedQuestionGroupOrder(){var self=this;var onlyGroupsArray=__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(this.$store.state.questiongroups,function(questiongroup,count){var questions=__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(questiongroup.questions,function(question,i){return{qid:question.qid,question:question.question,gid:question.gid,question_order:question.question_order};});return{gid:questiongroup.gid,group_name:questiongroup.group_name,group_order:questiongroup.group_order,questions:questions};});this.$log.trace("QuestionGroup order changed");this.post(this.updateOrderLink,{grouparray:onlyGroupsArray,surveyid:this.$store.surveyid}).then(function(result){self.$log.debug('questiongroups updated');},function(error){self.$log.error('questiongroups updating error!');});},controlActiveLink:function controlActiveLink(){//get current location
*/module.exports=function listToStyles(parentId,list){var styles=[];var newStyles={};for(var i=0;i<list.length;i++){var item=list[i];var id=item[0];var css=item[1];var media=item[2];var sourceMap=item[3];var part={id:parentId+':'+i,css:css,media:media,sourceMap:sourceMap};if(!newStyles[id]){styles.push(newStyles[id]={id:id,parts:[part]});}else{newStyles[id].parts.push(part);}}return styles;};/***/},/* 340 *//***/function(module,__webpack_exports__,__webpack_require__){"use strict";Object.defineProperty(__webpack_exports__,"__esModule",{value:true});/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_lodash__=__webpack_require__(46);/* harmony import */var __WEBPACK_IMPORTED_MODULE_0_lodash___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_lodash__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_1__mixins_runAjax_js__=__webpack_require__(47);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue__=__webpack_require__(341);/* harmony import */var __WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue__=__webpack_require__(346);/* harmony import */var __WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue__);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue__=__webpack_require__(358);/* harmony import */var __WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue___default=__webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue__);/* harmony default export */__webpack_exports__["default"]={components:{'questionexplorer':__WEBPACK_IMPORTED_MODULE_2__subcomponents_questionsgroups_vue___default.a,'sidemenu':__WEBPACK_IMPORTED_MODULE_3__subcomponents_sidemenu_vue___default.a,'quickmenu':__WEBPACK_IMPORTED_MODULE_4__subcomponents_quickmenu_vue___default.a},mixins:[__WEBPACK_IMPORTED_MODULE_1__mixins_runAjax_js__["a"/* default */]],props:{'user':{type:Number},'translate':{type:Object},'getQuestionsUrl':{type:String},'getMenuUrl':{type:String},'createQuestionGroupLink':{type:String},'createQuestionLink':{type:String},'updateOrderLink':{type:String}},data:function data(){return{'currentTab':'settings','activeMenuIndex':0,'openSubpanelId':0,'questiongroups':[],'menues':[],'$store.state.isCollapsed':false,'sideBarWidth':'315','initialPos':{x:0,y:0},'isMouseDown':false,'isMouseDownTimeOut':null,'sidemenus':{},'collapsedmenus':{},'topmenus':{},'bottommenus':{},'sideBarHeight':'400px'};},computed:{getSideBarWidth:function getSideBarWidth(){return this.$store.state.isCollapsed?'98':this.sideBarWidth;},sortedMenus:function sortedMenus(){return __WEBPACK_IMPORTED_MODULE_0_lodash___default.a.orderBy(this.menues,function(a){return parseInt(a.order||999999);},['asc']);},showSideMenu:function showSideMenu(){return!this.$store.state.isCollapsed&&this.$store.state.currentTab=='settings';},showQuestionTree:function showQuestionTree(){return!this.$store.state.isCollapsed&&this.$store.state.currentTab=='questiontree';},calculateSideBarMenuHeight:function calculateSideBarMenuHeight(){return this.$store.state.sideBarHeight-70+'px';}},methods:{calculateHeight:function calculateHeight(self){self.$store.commit('changeSideBarHeight',$('#in_survey_common').height());},changedQuestionGroupOrder:function changedQuestionGroupOrder(){var self=this;var onlyGroupsArray=__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(this.$store.state.questiongroups,function(questiongroup,count){var questions=__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.map(questiongroup.questions,function(question,i){return{qid:question.qid,question:question.question,gid:question.gid,question_order:question.question_order};});return{gid:questiongroup.gid,group_name:questiongroup.group_name,group_order:questiongroup.group_order,questions:questions};});this.$log.log("QuestionGroup order changed");this.post(this.updateOrderLink,{grouparray:onlyGroupsArray,surveyid:this.$store.surveyid}).then(function(result){self.$log.log('questiongroups updated');},function(error){self.$log.error('questiongroups updating error!');});},controlActiveLink:function controlActiveLink(){//get current location
var currentUrl=window.location.href;//Check for corresponding menuItem
var lastMenuItemObject=false;__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(this.$store.state.sidemenus,function(itm,i){__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(itm.entries,function(itmm,j){lastMenuItemObject=__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.endsWith(currentUrl,itmm.link)?itmm:lastMenuItemObject;});});//check for quickmenu menuLinks
var lastQuickMenuItemObject=false;__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(this.$store.state.collapsedmenus,function(itm,i){__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.each(itm.entries,function(itmm,j){lastQuickMenuItemObject=__WEBPACK_IMPORTED_MODULE_0_lodash___default.a.endsWith(currentUrl,itmm.link)?itmm:lastQuickMenuItemObject;});});//check for corresponding question group object
Expand Down
4 changes: 2 additions & 2 deletions assets/packages/adminpanel/build/lsadminpanel.js
Expand Up @@ -36678,9 +36678,9 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
});
return { gid: questiongroup.gid, group_name: questiongroup.group_name, group_order: questiongroup.group_order, questions: questions };
});
this.$log.trace("QuestionGroup order changed");
this.$log.log("QuestionGroup order changed");
this.post(this.updateOrderLink, { grouparray: onlyGroupsArray, surveyid: this.$store.surveyid }).then(result => {
self.$log.debug('questiongroups updated');
self.$log.log('questiongroups updated');
}, error => {
self.$log.error('questiongroups updating error!');
});
Expand Down
2 changes: 1 addition & 1 deletion assets/packages/adminpanel/build/lsadminpanel.min.js

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions assets/packages/adminpanel/src/components/sidebar.vue
Expand Up @@ -69,9 +69,9 @@ export default {
});
return {gid: questiongroup.gid, group_name: questiongroup.group_name, group_order: questiongroup.group_order, questions: questions}
});
this.$log.trace("QuestionGroup order changed");
this.$log.log("QuestionGroup order changed");
this.post(this.updateOrderLink, {grouparray: onlyGroupsArray, surveyid: this.$store.surveyid}).then(
(result) => {self.$log.debug('questiongroups updated');},
(result) => {self.$log.log('questiongroups updated');},
(error) => {self.$log.error('questiongroups updating error!');}
);
},
Expand Down

0 comments on commit 0d75f9f

Please sign in to comment.