Merge pull request #64 from nextcloud/enh/use_DELETE

Use a proper DELETE to delete the form in a more resty way
This commit is contained in:
Roeland Jago Douma 2019-09-02 15:16:01 +02:00 committed by GitHub
commit 2b9e245210
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 6 deletions

View file

@ -42,7 +42,7 @@ return [
['name' => 'api#get_votes', 'url' => '/get/votes/{formId}', 'verb' => 'GET'],
['name' => 'api#get_shares', 'url' => '/get/shares/{formId}', 'verb' => 'GET'],
['name' => 'api#get_event', 'url' => '/get/event/{formId}', 'verb' => 'GET'],
['name' => 'api#remove_form', 'url' => '/remove/form', 'verb' => 'POST'],
['name' => 'api#remove_form', 'url' => '/forms/{id}', 'verb' => 'DELETE'],
['name' => 'api#get_forms', 'url' => '/get/forms', 'verb' => 'GET'],
['name' => 'system#get_site_users_and_groups', 'url' => '/get/siteusers', 'verb' => 'POST'],

View file

@ -397,8 +397,12 @@ class ApiController extends Controller {
* @param int $formId
* @return DataResponse
*/
public function removeForm($id) {
$formToDelete = $this->eventMapper->find($id);
public function removeForm(int $id) {
try {
$formToDelete = $this->eventMapper->find($id);
} catch (DoesNotExistException $e) {
return new Http\JSONResponse([], Http::STATUS_NOT_FOUND);
}
if ($this->userId !== $formToDelete->getOwner() && !$this->groupManager->isAdmin($this->userId)) {
return new DataResponse(null, Http::STATUS_UNAUTHORIZED);
}

View file

@ -63,9 +63,9 @@
</template>
<script>
// import moment from 'moment'
// import lodash from 'lodash'
import formListItem from '../components/formListItem'
import axios from 'nextcloud-axios'
export default {
name: 'List',
@ -119,7 +119,7 @@ export default {
buttonConfirmText: t('forms', 'Yes, delete form.'),
onConfirm: () => {
// this.deleteForm(index, event)
this.$http.post(OC.generateUrl('apps/forms/remove/form'), event)
axios.delete(OC.generateUrl('apps/forms/forms/{id}', {id: event.id}))
.then((response) => {
this.forms.splice(index, 1)
OC.Notification.showTemporary(t('forms', 'Form "%n" deleted', 1, event.title))