Implement moving scrap to another folder

This commit is contained in:
Kijin Sung 2017-09-28 13:28:43 +09:00
parent ed02a0f064
commit cf0a5d019c
8 changed files with 87 additions and 5 deletions

View file

@ -297,6 +297,7 @@ $lang->column_type_list['date'] = 'date(yyyy/mm/dd)';
$lang->column_name = 'Column Name';
$lang->column_title = 'Column Title';
$lang->default_value = 'Default Value';
$lang->default_folder = 'Default Folder';
$lang->is_active = 'Active';
$lang->is_required = 'Required Field';
$lang->eid = 'Name of user defined';

View file

@ -296,7 +296,8 @@ $lang->column_type_list['kr_zip'] = '한국주소(zip)';
$lang->column_type_list['date'] = '일자(연월일)';
$lang->column_name = '입력항목 이름';
$lang->column_title = '입력항목 제목';
$lang->default_value = '기본 값';
$lang->default_value = '기본값';
$lang->default_folder = '기본 폴더';
$lang->is_active = '활성';
$lang->is_required = '필수항목';
$lang->eid = '사용자 정의 이름';

View file

@ -46,6 +46,7 @@
<action name="procMemberDeleteImageMark" type="controller" permission="member" />
<action name="procMemberScrapDocument" type="controller" permission="member" />
<action name="procMemberDeleteScrap" type="controller" permission="member" />
<action name="procMemberMoveScrapFolder" type="controller" permission="member" />
<action name="procMemberSaveDocument" type="controller" permission="member" />
<action name="procMemberDeleteSavedDocument" type="controller" permission="member" />
<action name="procMemberDeleteAutologin" type="controller" permission="member" />

View file

@ -204,6 +204,41 @@ class memberController extends member
return executeQuery('member.deleteScrapDocument', $args);
}
/**
* Move a scrap to another folder
*
* @return void|Object (void : success, Object : fail)
*/
function procMemberMoveScrapFolder()
{
// Check login information
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_logged');
$logged_info = Context::get('logged_info');
$document_srl = (int)Context::get('document_srl');
$folder_srl = (int)Context::get('folder_srl');
if(!$document_srl || !$folder_srl)
{
return new Object(-1,'msg_invalid_request');
}
// Check folder
$args = new stdClass;
$args->member_srl = $logged_info->member_srl;
$output = executeQueryArray('member.getScrapFolderList', $args);
if(!array_filter($output->data, function($folder) use($folder_srl) { return $folder->folder_srl == $folder_srl; }))
{
return new Object(-1, 'msg_invalid_request');
}
// Move
$args = new stdClass;
$args->member_srl = $logged_info->member_srl;
$args->document_srl = $document_srl;
$args->folder_srl = $folder_srl;
return executeQuery('member.updateScrapDocumentFolder', $args);
}
/**
* Save posts
* @deprecated - instead Document Controller - procDocumentTempSave method use

View file

@ -412,6 +412,8 @@ class memberView extends member
$logged_info = Context::get('logged_info');
// Check folders
$args = new stdClass;
$args->member_srl = $logged_info->member_srl;
$output = executeQueryArray('member.getScrapFolderList', $args);
$folders = $output->data;
if(!count($folders))
@ -437,7 +439,7 @@ class memberView extends member
// Get default folder if no folder is selected
$folder_srl = (int)Context::get('folder_srl');
if($folder_srl && !count(array_filter($folders, function($folder) use($folder_srl) { return $folder->folder_srl == $folder_srl; })))
if($folder_srl && !array_filter($folders, function($folder) use($folder_srl) { return $folder->folder_srl == $folder_srl; }))
{
return new Object(-1, 'msg_invalid_request');
}
@ -457,6 +459,7 @@ class memberView extends member
Context::set('page', $output->page);
Context::set('document_list', $output->data);
Context::set('page_navigation', $output->page_navigation);
Context::set('scrap_folders', $folders);
$security = new Security($output->data);
$security->encodeHTML('..nick_name');

View file

@ -0,0 +1,12 @@
<query id="updateScrapDocumentFolder" action="update">
<tables>
<table name="member_scrap" />
</tables>
<columns>
<column name="folder_srl" var="folder_srl" notnull="notnull" />
</columns>
<conditions>
<condition operation="equal" column="member_srl" var="member_srl" filter="number" notnull="notnull" />
<condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" pipe="and" />
</conditions>
</query>

View file

@ -131,7 +131,7 @@ function doDeleteImageMark(member_srl) {
function doDeleteScrap(document_srl) {
var params = new Array();
params['document_srl'] = document_srl;
exec_xml('member', 'procMemberDeleteScrap', params, function() { location.reload(); });
exec_json('member.procMemberDeleteScrap', params, function() { location.reload(); });
}
/* 비밀번호 찾기 후 */
@ -154,10 +154,23 @@ function doDeleteSavedDocument(document_srl, confirm_message) {
var params = new Array();
params['document_srl'] = document_srl;
exec_xml('member', 'procMemberDeleteSavedDocument', params, function() { location.reload(); });
exec_json('member.procMemberDeleteSavedDocument', params, function() { location.reload(); });
}
function insertSelectedModule(id, module_srl, mid, browser_title) {
location.href = current_url.setQuery('selected_module_srl',module_srl);
}
/* 스크랩 폴더 이동 */
jQuery(function($) {
$("#scrap_folder_list").on("change", function() {
location.href = current_url.setQuery("folder_srl", $(this).val());
});
$(".scrap_folder_move").on("change", function() {
var document_srl = $(this).data('document-srl');
var folder_srl = $(this).val();
if (!folder_srl) return;
var params = { document_srl: document_srl, folder_srl: folder_srl };
exec_json('member.procMemberMoveScrapFolder', params, function() { location.reload(); });
});
});

View file

@ -1,7 +1,13 @@
<include target="./common_header.html" />
<h1>{$member_title = $lang->cmd_view_scrapped_document}</h1>
<select id="scrap_folder_list">
<!--@foreach($scrap_folders as $folder)-->
<option value="{$folder->folder_srl}" selected="selected"|cond="$folder_srl == $folder->folder_srl">{$folder->name == '/DEFAULT/' ? $lang->default_folder : $folder_name}</option>
<!--@endforeach-->
</select>
<table class="table table-striped table-hover">
<caption>Total: {number_format($total_count)}, Page: {number_format($page)}/{number_format($total_page)}</caption>
<thead>
<tr>
<th>{$lang->no}</th>
@ -9,6 +15,7 @@
<th>{$lang->writer}</th>
<th>{$lang->date}</th>
<th>{$lang->cmd_delete}</th>
<th>{$lang->cmd_move}</th>
</tr>
</thead>
<tbody>
@ -18,9 +25,18 @@
<td><a href="#popup_menu_area" class="member_{$val->target_member_srl}">{$val->nick_name}</a></td>
<td>{zdate($val->regdate, "Y-m-d")}</td>
<td><button type="button" class="text" onclick="doDeleteScrap({$val->document_srl});">{$lang->cmd_delete}</button></td>
<td>
<select class="scrap_folder_move" data-document-srl="{$val->document_srl}">
<option value="">{$lang->cmd_move}</option>
<!--@foreach($scrap_folders as $folder)-->
<option value="{$folder->folder_srl}">{$folder->name == '/DEFAULT/' ? $lang->default_folder : $folder_name}</option>
<!--@endforeach-->
</select>
</td>
</tr>
</tbody>
</table>
<div class="pagination pagination-centered">
<ul>
<li><a href="{getUrl('page','','module_srl','')}">&laquo; {$lang->first_page}</a></li>