Return non-200 status if user tries to create room that already exists.

This commit is contained in:
Joachim Bauch 2016-10-13 17:51:55 +02:00
Родитель e51d236bae
Коммит c872e752ef
2 изменённых файлов: 17 добавлений и 12 удалений

Просмотреть файл

@ -17,18 +17,24 @@ $(document).ready(function() {
roomName: roomName
},
function(data) {
if (data.status !== 'success') {
editRoomname.prop('title', data.message);
editRoomname.tooltip({placement: 'right', trigger: 'manual'});
editRoomname.tooltip('show');
editRoomname.addClass('error');
return;
}
var roomId = data.roomId;
OCA.SpreedMe.Rooms.join(roomId);
}
);
).fail(function(jqXHR, status, error) {
var message;
try {
message = JSON.parse(jqXHR.responseText).message
} catch (e) {
// Ignore exception, received no/invalid JSON.
}
if (!message) {
message = jqXHR.responseText || error;
}
editRoomname.prop('title', message);
editRoomname.tooltip({placement: 'right', trigger: 'manual'});
editRoomname.tooltip('show');
editRoomname.addClass('error');
});
},
list: function() {
$.ajax({

Просмотреть файл

@ -25,6 +25,7 @@ namespace OCA\Spreed\Controller;
use Doctrine\DBAL\Exception\UniqueConstraintViolationException;
use OCP\AppFramework\Controller;
use OCP\AppFramework\Http;
use OCP\AppFramework\Http\JSONResponse;
use OCP\IDBConnection;
use OCP\IL10N;
@ -145,15 +146,13 @@ class ApiController extends Controller {
} catch (UniqueConstraintViolationException $e) {
return new JSONResponse(
[
'status' => 'error',
'message' => $this->l10n->t('A room with this name already exists.'),
]
], Http::STATUS_CONFLICT
);
}
return new JSONResponse(
[
'status' => 'success',
'roomId' => $query->getLastInsertId(),
]
);