summaryrefslogtreecommitdiffstats
path: root/public
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2017-09-14 16:16:22 +0800
committerGitHub <noreply@github.com>2017-09-14 16:16:22 +0800
commit1739e84ac02c0384c04576a00abab9348293f9c7 (patch)
tree1015e68f36421f274d2e883ff3ddb0cb29b6af71 /public
parentbe3319b3d545289b772d7a92b4b62205863954d9 (diff)
downloadgitea-1739e84ac02c0384c04576a00abab9348293f9c7.tar.gz
gitea-1739e84ac02c0384c04576a00abab9348293f9c7.zip
improve protected branch to add whitelist support (#2451)
* improve protected branch to add whitelist support * fix lint * fix style check * fix tests * fix description on UI and import * fix test * bug fixed * fix tests and languages * move isSliceInt64Eq to util pkg; improve function names & typo
Diffstat (limited to 'public')
-rw-r--r--public/css/index.css24
-rw-r--r--public/js/index.js45
-rw-r--r--public/less/_repository.less33
3 files changed, 67 insertions, 35 deletions
diff --git a/public/css/index.css b/public/css/index.css
index ffc7fe1a19..d09490adbe 100644
--- a/public/css/index.css
+++ b/public/css/index.css
@@ -2344,6 +2344,30 @@ footer .ui.language .menu {
margin-left: 5px;
margin-top: -3px;
}
+.repository.settings.branches .protected-branches .selection.dropdown {
+ width: 300px;
+}
+.repository.settings.branches .protected-branches .item {
+ border: 1px solid #eaeaea;
+ padding: 10px 15px;
+}
+.repository.settings.branches .protected-branches .item:not(:last-child) {
+ border-bottom: 0;
+}
+.repository.settings.branches .branch-protection .help {
+ margin-left: 26px;
+ padding-top: 0;
+}
+.repository.settings.branches .branch-protection .fields {
+ margin-left: 20px;
+ display: block;
+}
+.repository.settings.branches .branch-protection .whitelist {
+ margin-left: 26px;
+}
+.repository.settings.branches .branch-protection .whitelist .dropdown img {
+ display: inline-block;
+}
.repository.settings.webhook .events .column {
padding-bottom: 0;
}
diff --git a/public/js/index.js b/public/js/index.js
index dc2a09c9ed..cded5e2a1a 100644
--- a/public/js/index.js
+++ b/public/js/index.js
@@ -639,42 +639,18 @@ function initRepository() {
if ($('.repository.compare.pull').length > 0) {
initFilterSearchDropdown('.choose.branch .dropdown');
}
-}
-
-function initProtectedBranch() {
- $('#protectedBranch').change(function () {
- var $this = $(this);
- $.post($this.data('url'), {
- "_csrf": csrf,
- "canPush": true,
- "branchName": $this.val(),
- },
- function (data) {
- if (data.redirect) {
- window.location.href = data.redirect;
- } else {
- location.reload();
- }
- }
- );
- });
- $('.rm').click(function () {
- var $this = $(this);
- $.post($this.data('url'), {
- "_csrf": csrf,
- "canPush": false,
- "branchName": $this.data('val'),
- },
- function (data) {
- if (data.redirect) {
- window.location.href = data.redirect;
- } else {
- location.reload();
- }
+ // Branches
+ if ($('.repository.settings.branches').length > 0) {
+ initFilterSearchDropdown('.protected-branches .dropdown');
+ $('.enable-protection, .enable-whitelist').change(function () {
+ if (this.checked) {
+ $($(this).data('target')).removeClass('disabled');
+ } else {
+ $($(this).data('target')).addClass('disabled');
}
- );
- });
+ });
+ }
}
function initRepositoryCollaboration() {
@@ -1598,7 +1574,6 @@ $(document).ready(function () {
initEditForm();
initEditor();
initOrganization();
- initProtectedBranch();
initWebhook();
initAdmin();
initCodeView();
diff --git a/public/less/_repository.less b/public/less/_repository.less
index 34fdc26092..d161cc65e5 100644
--- a/public/less/_repository.less
+++ b/public/less/_repository.less
@@ -1251,6 +1251,39 @@
}
}
+ &.branches {
+ .protected-branches {
+ .selection.dropdown {
+ width: 300px;
+ }
+ .item {
+ border: 1px solid #eaeaea;
+ padding: 10px 15px;
+
+ &:not(:last-child) {
+ border-bottom: 0;
+ }
+ }
+ }
+ .branch-protection {
+ .help {
+ margin-left: 26px;
+ padding-top: 0;
+ }
+ .fields {
+ margin-left: 20px;
+ display: block;
+ }
+ .whitelist {
+ margin-left: 26px;
+
+ .dropdown img {
+ display: inline-block;
+ }
+ }
+ }
+ }
+
&.webhook {
.events {
.column {