summaryrefslogtreecommitdiffstats
path: root/web_src
diff options
context:
space:
mode:
authorMario Lubenka <mario.lubenka@googlemail.com>2019-12-16 07:20:25 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2019-12-16 14:20:25 +0800
commit61db8349041cceceb4ad3233e69613705bd0a128 (patch)
tree1a7b59c74f2ae7406548181e1d7e611b89a397db /web_src
parent59d6401486627b8f47a0c6b62599e65a40f84c92 (diff)
downloadgitea-61db8349041cceceb4ad3233e69613705bd0a128.tar.gz
gitea-61db8349041cceceb4ad3233e69613705bd0a128.zip
Change target branch for pull request (#6488)
* Adds functionality to change target branch of created pull requests Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use const instead of var in JavaScript additions Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Check if branches are equal and if PR already exists before changing target branch Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Make sure to check all commits Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Print error messages for user as error flash message Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Disallow changing target branch of closed or merged pull requests Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Resolve conflicts after merge of upstream/master Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Change order of branch select fields Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes duplicate check Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use ctx.Tr for translations Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Recompile JS Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Use correct translation namespace Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Remove redundant if condition Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Moves most change branch logic into pull service Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Completes comment Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Add Ref to ChangesPayload for logging changed target branches instead of creating a new struct Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Revert changes to go.mod Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Directly use createComment method Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return 404 if pull request is not found. Move written check up Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Remove variable declaration Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return client errors on change pull request target errors Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Return error in commit.HasPreviousCommit Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds blank line Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Test patch before persisting new target branch Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Update patch before testing (not working) Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes patch calls when changeing pull request target Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Removes unneeded check for base name Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Moves ChangeTargetBranch completely to pull service. Update patch status. Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Set webhook mode after errors were validated Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Update PR in one transaction Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Move logic for check if head is equal with branch to pull model Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adds missing comment and simplify return Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com> * Adjust CreateComment method call Signed-off-by: Mario Lubenka <mario.lubenka@googlemail.com>
Diffstat (limited to 'web_src')
-rw-r--r--web_src/js/index.js61
1 files changed, 50 insertions, 11 deletions
diff --git a/web_src/js/index.js b/web_src/js/index.js
index a7aa0d52c4..a310243c08 100644
--- a/web_src/js/index.js
+++ b/web_src/js/index.js
@@ -731,27 +731,66 @@ function initRepository() {
$issueTitle.toggle();
$('.not-in-edit').toggle();
$('#edit-title-input').toggle();
+ $('#pull-desc').toggle();
+ $('#pull-desc-edit').toggle();
$('.in-edit').toggle();
$editInput.focus();
return false;
};
+
+ const changeBranchSelect = function () {
+ const selectionTextField = $('#pull-target-branch');
+
+ const baseName = selectionTextField.data('basename');
+ const branchNameNew = $(this).data('branch');
+ const branchNameOld = selectionTextField.data('branch');
+
+ // Replace branch name to keep translation from HTML template
+ selectionTextField.html(selectionTextField.html().replace(
+ `${baseName}:${branchNameOld}`,
+ `${baseName}:${branchNameNew}`
+ ));
+ selectionTextField.data('branch', branchNameNew); // update branch name in setting
+ };
+ $('#branch-select > .item').click(changeBranchSelect);
+
$('#edit-title').click(editTitleToggle);
$('#cancel-edit-title').click(editTitleToggle);
$('#save-edit-title').click(editTitleToggle).click(function () {
+ const pullrequest_targetbranch_change = function (update_url) {
+ const targetBranch = $('#pull-target-branch').data('branch');
+ const $branchTarget = $('#branch_target');
+ if (targetBranch === $branchTarget.text()) {
+ return false;
+ }
+ $.post(update_url, {
+ _csrf: csrf,
+ target_branch: targetBranch
+ })
+ .success((data) => {
+ $branchTarget.text(data.base_branch);
+ })
+ .always(() => {
+ reload();
+ });
+ };
+
+ const pullrequest_target_update_url = $(this).data('target-update-url');
if ($editInput.val().length === 0 || $editInput.val() === $issueTitle.text()) {
$editInput.val($issueTitle.text());
- return false;
+ pullrequest_targetbranch_change(pullrequest_target_update_url);
+ } else {
+ $.post($(this).data('update-url'), {
+ _csrf: csrf,
+ title: $editInput.val()
+ },
+ (data) => {
+ $editInput.val(data.title);
+ $issueTitle.text(data.title);
+ pullrequest_targetbranch_change(pullrequest_target_update_url);
+ reload();
+ });
}
-
- $.post($(this).data('update-url'), {
- _csrf: csrf,
- title: $editInput.val()
- },
- (data) => {
- $editInput.val(data.title);
- $issueTitle.text(data.title);
- reload();
- });
return false;
});