added: 'rm' function can work with tickets
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@565 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -15,10 +15,31 @@
|
||||
|
||||
|
||||
|
||||
bool Content::FunRmCheckAccess()
|
||||
{
|
||||
if( !request.is_item )
|
||||
{
|
||||
if( !request.CanRemove(*request.dir_table.back()) )
|
||||
{
|
||||
request.status = Error::permission_denied;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
if( !request.CanRemove(request.item) )
|
||||
{
|
||||
request.status = Error::permission_denied;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::FunRmDirRecursive()
|
||||
{
|
||||
data.dirs.MakePath(request.dir_table.back()->id, request.session->dir_old);
|
||||
|
||||
// this method deletes recursively all directories
|
||||
data.dirs.DeleteDir(request.dir_table.back()->id);
|
||||
|
||||
@@ -53,12 +74,6 @@ void Content::FunRmDirRecursive()
|
||||
|
||||
void Content::FunRmDir()
|
||||
{
|
||||
if( !request.CanRemove(*request.dir_table.back()) )
|
||||
{
|
||||
request.status = Error::permission_denied;
|
||||
return;
|
||||
}
|
||||
|
||||
if( request.param_table.empty() )
|
||||
request.status = Error::permission_denied;
|
||||
else
|
||||
@@ -72,27 +87,17 @@ void Content::FunRmDir()
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Content::FunRm()
|
||||
{
|
||||
if( !request.is_item )
|
||||
{
|
||||
FunRmDir();
|
||||
if( !FunRmCheckAccess() )
|
||||
return;
|
||||
}
|
||||
|
||||
if( !request.CanRemove(request.item) )
|
||||
{
|
||||
request.status = Error::permission_denied;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !request.is_item )
|
||||
return FunRmDir();
|
||||
|
||||
if( request.param_table.empty() )
|
||||
{
|
||||
// we'll put some information about the deleted item (on the next page)
|
||||
request.session->item = request.item;
|
||||
|
||||
// !! zmienic interfejs dla db.DelItem
|
||||
if( db.DelItem( request.item ) )
|
||||
{
|
||||
request.session->done_status = Error::ok;
|
||||
@@ -101,6 +106,10 @@ void Content::FunRm()
|
||||
|
||||
if( data.mounts.pmount->type == Mount::thread )
|
||||
db.EditThreadRemoveItem(request.item.parent_id);
|
||||
else
|
||||
if( data.mounts.pmount->type == Mount::ticket )
|
||||
db.EditTicketRemoveItem(request.item.id);
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user