diff --git a/drupalorg/includes/DrupalorgIssueFork.php b/drupalorg/includes/DrupalorgIssueFork.php index fe7a7444dccd590ecbc08e476b10ec1374abbf6f..6dca7f620a648540c7eddf575fffba81ad976353 100644 --- a/drupalorg/includes/DrupalorgIssueFork.php +++ b/drupalorg/includes/DrupalorgIssueFork.php @@ -428,7 +428,6 @@ class DrupalorgIssueFork extends Entity { $output['#attached']['js'][0]['data']['drupalorgIssueBranch'] = $issue_branch; } - $is_member = FALSE; if (user_is_logged_in() && (versioncontrol_gitlab_get_user_id($GLOBALS['user']))) { // Get push access form. $output['header']['access'] = drupal_get_form('drupalorg_issue_fork_access_form', $this); @@ -494,9 +493,6 @@ class DrupalorgIssueFork extends Entity { '#markup' => $compare_image . t('compare'), '#suffix' => '</a> ', ]; - if ($is_member && !is_null($this->getDevRelease())) { - $branch_output['operations']['mr'] = drupal_get_form('drupalorg_issue_fork_open_merge_request_form', $this, $row->branch); - } } foreach ($row->merge_requests as $iid => $info) { $merge_request_url = $this->mergeRequestUrl($iid); @@ -990,74 +986,3 @@ function drupalorg_issue_fork_access_form_ajax(array $form, array $form_state) { return $form; } } - -/** - * Form for opening a merge request. - */ -function drupalorg_issue_fork_open_merge_request_form(array $form, array $form_state, \DrupalorgIssueFork $issue_fork, $branch) { - $form['#id'] = drupal_html_id('drupalorg-issue-fork-open-mr-form-' . $issue_fork->gitlab_project_id . '-' . $branch); - $form['actions'] = [ - '#type' => 'actions', - 'open_merge_request' => [ - '#type' => 'submit', - '#value' => t('Open merge request'), - '#ajax' => [ - 'callback' => 'drupalorg_issue_fork_open_merge_request_form_ajax', - 'progress' => ['type' => 'throbber'], - 'wrapper' => $form['#id'], - ], - ], - ]; - - return $form; -} - -/** - * Form submit callback for drupalorg_issue_fork_open_merge_request_form(). - */ -function drupalorg_issue_fork_open_merge_request_form_submit(array $form, array &$form_state) { - list($issue_fork, $branch) = $form_state['build_info']['args']; - - try { - $issue_wrapper = $issue_fork->getIssueWrapper(); - $gitlab_api = versioncontrol_gitlab_get_client($GLOBALS['user']->git_username)->api('merge_requests'); - $merge_request = $gitlab_api->create($issue_fork->gitlab_project_id, NULL, NULL, NULL, [ - 'source_branch' => $branch, - 'target_branch' => $issue_fork->getDevRelease()->field_release_vcs_label[LANGUAGE_NONE][0]['value'], - 'title' => 'Issue #' . $issue_wrapper->getIdentifier() . ': ' . $issue_wrapper->label(), - 'target_project_id' => versioncontrol_project_repository_load($issue_wrapper->field_project->raw())->gitlab_project_id, - 'squash' => TRUE, - ]); - $form_state['drupalorg_merge_request'] = $merge_request['iid']; - } - catch (Exception $e) { - $uri = $issue_fork->uri(); - watchdog('drupalorg_issue_fork', 'Exception in opening merge request for !issue, branch @branch: %msg', [ - '!issue' => l($issue_fork->label(), $uri['path'], $uri['options']), - '@branch' => $branch, - '%msg' => $e->getMessage(), - ], WATCHDOG_ERROR); - drupal_set_message(t('Opening merge request failed!'), 'error'); - } -} - -/** - * #ajax callback for drupalorg_issue_fork_open_merge_request_form(). - */ -function drupalorg_issue_fork_open_merge_request_form_ajax(array $form, array $form_state) { - if (isset($form_state['drupalorg_merge_request'])) { - list($issue_fork) = $form_state['build_info']['args']; - return l(t('<strong><abbr title="Merge Request">MR</abbr> !@iid</strong>', [ - '@iid' => $form_state['drupalorg_merge_request'], - ]), $issue_fork->mergeRequestUrl($form_state['drupalorg_merge_request']), [ - 'attributes' => ['class' => ['merge-request']], - 'html' => TRUE, - 'external' => TRUE, - ]); - } - else { - // Let reattaching the form re-trigger behaviors, any errors will be shown. - return $form; - } - -}