diff options
author | metiftikci <metiftikci@hotmail.com> | 2024-05-27 18:34:18 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-27 15:34:18 +0000 |
commit | aa92b13164e84c26be91153b6022220ce0a27720 (patch) | |
tree | 9fcfb6e0e73fad3af441c1ac1059c61dcd877cd1 /web_src/js/features | |
parent | 1ed8e6aa5fad235506f211daa9dffd448d9d5ad4 (diff) | |
download | gitea-aa92b13164e84c26be91153b6022220ce0a27720.tar.gz gitea-aa92b13164e84c26be91153b6022220ce0a27720.zip |
Prevent simultaneous editing of comments and issues (#31053)
fixes #22907
Tested:
- [x] issue content edit
- [x] issue content change tasklist
- [x] pull request content edit
- [x] pull request change tasklist
![issue-content-edit](https://github.com/go-gitea/gitea/assets/29250154/a0828889-fb96-4bc4-8600-da92e3205812)
Diffstat (limited to 'web_src/js/features')
-rw-r--r-- | web_src/js/features/repo-issue-edit.js | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/web_src/js/features/repo-issue-edit.js b/web_src/js/features/repo-issue-edit.js index abf2d31221..9a8d737e01 100644 --- a/web_src/js/features/repo-issue-edit.js +++ b/web_src/js/features/repo-issue-edit.js @@ -3,6 +3,7 @@ import {handleReply} from './repo-issue.js'; import {getComboMarkdownEditor, initComboMarkdownEditor} from './comp/ComboMarkdownEditor.js'; import {createDropzone} from './dropzone.js'; import {GET, POST} from '../modules/fetch.js'; +import {showErrorToast} from '../modules/toast.js'; import {hideElem, showElem} from '../utils/dom.js'; import {attachRefIssueContextPopup} from './contextpopup.js'; import {initCommentContent, initMarkupContent} from '../markup/content.js'; @@ -124,11 +125,17 @@ async function onEditContent(event) { const params = new URLSearchParams({ content: comboMarkdownEditor.value(), context: editContentZone.getAttribute('data-context'), + content_version: editContentZone.getAttribute('data-content-version'), }); for (const fileInput of dropzoneInst?.element.querySelectorAll('.files [name=files]')) params.append('files[]', fileInput.value); const response = await POST(editContentZone.getAttribute('data-update-url'), {data: params}); const data = await response.json(); + if (response.status === 400) { + showErrorToast(data.errorMessage); + return; + } + editContentZone.setAttribute('data-content-version', data.contentVersion); if (!data.content) { renderContent.innerHTML = document.getElementById('no-content').innerHTML; rawContent.textContent = ''; |