Merge pull request #6056 from JonnyTischbein/issue_post_delete_return

Return correctly after post deletion (Non-Ajax)
This commit is contained in:
Hypolite Petovan 2018-10-31 15:39:33 -04:00 committed by GitHub
commit 91a221caa2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 21 additions and 9 deletions

View file

@ -345,7 +345,7 @@ function drop_items(array $items)
}
}
function drop_item($id)
function drop_item($id, $return = '')
{
$a = BaseObject::getApp();
@ -409,8 +409,15 @@ function drop_item($id)
// delete the item
Item::deleteForUser(['id' => $item['id']], local_user());
$return_url = hex2bin($return);
if (empty($return_url) || strpos($return_url, 'display') !== false) {
$a->internalRedirect('network');
//NOTREACHED
}
else {
$a->internalRedirect($return_url);
//NOTREACHED
}
} else {
notice(L10n::t('Permission denied.') . EOL);
$a->internalRedirect('display/' . $item['guid']);

View file

@ -881,12 +881,17 @@ function item_content(App $a)
$o = '';
if (($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) {
if (($a->argc >= 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) {
if ($a->isAjax()) {
$o = Item::deleteForUser(['id' => $a->argv[2]], local_user());
} else {
if (!empty($a->argv[3])) {
$o = drop_item($a->argv[2], $a->argv[3]);
}
else {
$o = drop_item($a->argv[2]);
}
}
if ($a->isAjax()) {
// ajax return: [<item id>, 0 (no perm) | <owner id>]

View file

@ -414,6 +414,7 @@ class Post extends BaseObject
'received' => $item['received'],
'commented' => $item['commented'],
'created_date' => $item['created'],
'return' => ($a->cmd) ? bin2hex($a->cmd) : '',
];
$arr = ['item' => $item, 'output' => $tmp_item];

View file

@ -141,7 +141,7 @@ as the value of $top_child_total (this is done at the end of this file)
{{if $item.drop.dropping}}
<li role="menuitem">
<button type="button" class="btn-link navicon delete" onclick="dropItem('item/drop/{{$item.id}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</button>
<button type="button" class="btn-link navicon delete" onclick="dropItem('item/drop/{{$item.id}}/{{$item.return}}', 'item-{{$item.guid}}');" title="{{$item.drop.delete}}"><i class="fa fa-trash" aria-hidden="true"></i> {{$item.drop.delete}}</button>
</li>
{{/if}}
</ul>

View file

@ -140,7 +140,7 @@
<input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" class="item-select" value="{{$item.id}}" />
{{/if}}
{{if $item.drop.dropping}}
<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon delete s16" title="{{$item.drop.delete}}">{{$item.drop.delete}}</a>
<a href="item/drop/{{$item.id}}/{{$item.return}}" onclick="return confirmDelete();" class="icon delete s16" title="{{$item.drop.delete}}">{{$item.drop.delete}}</a>
{{/if}}
{{if $item.edpost}}
<a class="icon edit s16" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a>

View file

@ -1,4 +1,3 @@
{{if $mode == display}}
{{else}}
{{if $item.comment_firstcollapsed}}
@ -146,7 +145,7 @@
<input type="checkbox" title="{{$item.drop.select}}" name="itemselected[]" class="item-select" value="{{$item.id}}" />
{{/if}}
{{if $item.drop.dropping}}
<a role="button" href="item/drop/{{$item.id}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}"><i class="icon-trash icon-large"><span class="sr-only">{{$item.drop.delete}}</span></i></a>
<a role="button" href="item/drop/{{$item.id}}/{{$item.return}}" onclick="return confirmDelete();" title="{{$item.drop.delete}}"><i class="icon-trash icon-large"><span class="sr-only">{{$item.drop.delete}}</span></i></a>
{{/if}}
{{if $item.edpost}}
<a role="button" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="icon-edit icon-large"><span class="sr-only">{{$item.edpost.1}}</span></i></a>