From cf68341c154f88f043fa0f73a42035b480bfe4d4 Mon Sep 17 00:00:00 2001 From: Mark Reynolds Date: Oct 15 2018 15:41:04 +0000 Subject: Ticket 49926 - Add replication functionality to UI Description: Add replication functionality to UI. Cleaned up various UI interactions and page loading Added console logging for all CLI commands https://pagure.io/389-ds-base/issue/49926 Reviewed by: ? --- diff --git a/ldap/servers/plugins/replication/repl5_agmt.c b/ldap/servers/plugins/replication/repl5_agmt.c index 6e60dd6..95584ce 100644 --- a/ldap/servers/plugins/replication/repl5_agmt.c +++ b/ldap/servers/plugins/replication/repl5_agmt.c @@ -2921,23 +2921,23 @@ agmt_set_attrs_to_strip(Repl_Agmt *ra, Slapi_Entry *e) { char *tmpstr = NULL; - PR_Lock(ra->lock); - tmpstr = slapi_entry_attr_get_charptr(e, type_nsds5ReplicaStripAttrs); - if (NULL != tmpstr) { - if (ra->attrs_to_strip) { - slapi_ch_array_free(ra->attrs_to_strip); - } + + PR_Lock(ra->lock); + if (ra->attrs_to_strip) { + slapi_ch_array_free(ra->attrs_to_strip); + } + if (tmpstr == NULL) { + ra->attrs_to_strip = NULL; + } else { ra->attrs_to_strip = slapi_str2charray_ext(tmpstr, " ", 0); - PR_Unlock(ra->lock); - prot_notify_agmt_changed(ra->protocol, ra->long_name); - slapi_ch_free_string(&tmpstr); - return 0; } - PR_Unlock(ra->lock); - return -1; + prot_notify_agmt_changed(ra->protocol, ra->long_name); + slapi_ch_free_string(&tmpstr); + + return 0; } /* this is called whenever an update (total/incremental) diff --git a/ldap/servers/plugins/replication/repl5_replica_config.c b/ldap/servers/plugins/replication/repl5_replica_config.c index ea430d9..e7a9582 100644 --- a/ldap/servers/plugins/replication/repl5_replica_config.c +++ b/ldap/servers/plugins/replication/repl5_replica_config.c @@ -543,7 +543,7 @@ replica_config_modify(Slapi_PBlock *pb, } else if (strcasecmp(config_attr, type_replicaReleaseTimeout) == 0) { if (apply_mods) { int64_t val; - if (repl_config_valid_num(config_attr, config_attr_value, 1, INT_MAX, returncode, errortext, &val) == 0) { + if (repl_config_valid_num(config_attr, config_attr_value, 0, INT_MAX, returncode, errortext, &val) == 0) { replica_set_release_timeout(r, val); } else { break; diff --git a/src/cockpit/389-console/backend.html b/src/cockpit/389-console/backend.html index 5a96240..c209f96 100644 --- a/src/cockpit/389-console/backend.html +++ b/src/cockpit/389-console/backend.html @@ -273,39 +273,41 @@

Database Chaining Configuration

-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
+
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+

diff --git a/src/cockpit/389-console/css/ds.css b/src/cockpit/389-console/css/ds.css index f809ed8..a6d1f88 100644 --- a/src/cockpit/389-console/css/ds.css +++ b/src/cockpit/389-console/css/ds.css @@ -12,7 +12,6 @@ .ds-logo-hr { padding: 0 !important; margin-top: -20px !important; - /*margin-bottom: 25px;*/ line-height:0; } @@ -136,7 +135,6 @@ .ds-button { height: 30px; width: 160px !important; - /* margin-left: 10px; */ margin-top: 5px; float:none; left:auto; @@ -191,11 +189,10 @@ margin-top: 0px !important; margin-left: 6px; padding: 0px !important; - padding-left: 10px; + padding-left: 10px !important; + padding-right: 10px !important; height: 30px; - width: 250px !important; text-align: left; - /* border-radius: 5px; */ } .ds-passwd-dropdown { @@ -221,17 +218,6 @@ border-radius: 5px; } -/* -.dropdown { - color: black !important; -} -*/ -/* Fix Chrome dropdowns -.dropdownZZZZ select, .dropdownZZZZ option, .dropdownZZZ option:hover, .dropdownZZZ select:hover { - background-color: white !important; - color: #181818; !important; -}*/ - .ds-table { padding: 0px; border: 1px solid #909090; @@ -338,37 +324,6 @@ td { font-size: 16px; } -/* -input[type=text], input[type=search], input[type=password], input[type=""], textarea { - Zborder-radius: 5px; - border-style: solid; - border-color: #B8B8B8 !important; - padding-left: 5px !important; - min-height: 30px; -} -*/ - -/* -input[type=text]:focus, input[type=search]:focus, input[type=password]:focus, input[type=""]:focus, textarea:focus{ - outline:none; - webkit-box-shadow: 0px 0px 0px 0px #0a676f; - box-shadow: 0px 0px .1px 0px #0a676f; -} -*/ -Zselect:focus { - outline:none !important; - -webkit-box-shadow: 0px 0px 4px 0px #0a676f !important; - box-shadow: 0px 0px 2px 0px #0a676f !important; - max-height: 350px !important; -} - -Zbutton:focus { - outline:none !important; - border: 1.5px solid #0a676f; - -webkit-box-shadow: 0px 0px 4px 0px #0a676f !important; - box-shadow: 0px 0px 4px 0px #0a676f !important; -} - .ds-input { margin-top: 5px !important; padding-right: 5px !important; @@ -392,7 +347,6 @@ Zbutton:focus { } .ds-ro-input { - height: 37px !important; margin-top: 5px; padding-left: 5px; margin-right: 5px; @@ -400,7 +354,7 @@ Zbutton:focus { } .ds-input-lrg { - width: 315px !important; /* */ + width: 315px !important; height: 37px !important; margin-top: 5px; padding-right: 10px; @@ -411,6 +365,17 @@ Zbutton:focus { width: 500px !important; } +.ds-input-max { + margin-left: 10px; + margin-bottom: 20px; + width: 500px; + max-width: 600px; +} + +.ds-repl-mgr { + max-width: 600px !important; +} + .ds-role-input { height: 30px !important; min-height: 30px; @@ -538,7 +503,6 @@ Zbutton:focus { text-align: left; } - .ds-agmt-wiz-dropdown { width: 175px !important; text-align: left; @@ -579,7 +543,7 @@ Zbutton:focus { } .ds-agmt-dropdown-button { - width: 160px; + width: 120px; } .ds-agmt-button { @@ -705,13 +669,14 @@ Zbutton:focus { } .ds-modal-wide { - width: 850px; + min-width: 850px; vertical-align: middle; } .modal-content { position: absolute; max-height: 750px; + max-width: 550px; overflow: auto; } @@ -869,6 +834,11 @@ Zbutton:focus { padding-left: 20px; } +.ds-label-lrg { + width: 200px; + margin-bottom: 10px !important; +} + .ds-label-med { width: 180px; margin-bottom: 10px !important; @@ -880,11 +850,27 @@ Zbutton:focus { margin-bottom: 10px !important; } +.ds-monitor-label-med { + width: 175px; + margin-top: 10px; + margin-bottom: 10px !important; +} + .ds-label-sm { width: 130px !important; margin-bottom: 10px !important; } +.ds-label-xsm { + width: 100px !important; + margin-bottom: 10px !important; +} + +.ds-cleanallruv-label { + width: 110px !important; + margin-bottom: 10px !important; +} + .ds-cache-label { width: 210px !important; margin-left: 20px !important; @@ -1220,6 +1206,38 @@ option { margin-top: 0px; } +/* wizard accordions are narrower */ +.ds-wiz-accordion { + margin-top: 20px; + color: #228bc0 !important; + background-color: white; + border: 0; + position: relative; + overflow: hidden; + width:500px; + text-align:left; +} + +.ds-wiz-accordion:after { + display: inline-block; + content: ""; + height: 1px; + background: #228bc0; + position: absolute; + width: 500px; + top: 50% !important; + margin-left: 10px; + text-align:left; +} + +.ds-wiz-accordion:focus { + outline: none !important; + border: 0 !important; + -moz-outline: none !important; + -webkit-box-shadow: none !important; + box-shadow: 0 !important; +} + .ds-indent { margin-left: 15px !important; margin-right: 15px !important; @@ -1238,18 +1256,9 @@ option { height: 30px; outline: 0 !important; padding: 0px !important; - padding-left: 10px; - text-align: left; - width: 250px; -} - -.ds-select-sm { - height: 30px; - outline: 0 !important; - padding: 0px !important; - padding-left: 10px; + padding-left: 5px; + padding-right: 10px; text-align: left; - width: 100px; } .ds-center { @@ -1268,7 +1277,6 @@ option { height: 30px; } - .ds-td { padding-left: 10px !important; padding-top: 8px !important; @@ -1277,8 +1285,8 @@ option { } .ds-mgr-table { - max-width: 700px; - min-width: 700px; + max-width: 600px; + min-width: 600px; } .ds-loglevel-table { @@ -1327,6 +1335,11 @@ option { margin-right: 10px; } +.ds-spacing-med { + margin-right: 20px; +} + + .navbar-default { margin-bottom: 0px; } @@ -1369,3 +1382,19 @@ option { min-width: 500px; } +.ds-loading-spinner { + position: fixed; + top: 25%; + left: 50%; + transform: translate(-25%, -50%); +} + +.ds-loader { + font-size: 15px; +} + +.ds-popup { + min-width: 350px !important; +} + + diff --git a/src/cockpit/389-console/css/tabs.css b/src/cockpit/389-console/css/tabs.css deleted file mode 100644 index b4c7155..0000000 --- a/src/cockpit/389-console/css/tabs.css +++ /dev/null @@ -1,73 +0,0 @@ -/********** TABS **********/ -.tab-list { - margin: 0; - padding: 0; -} - -.tab-list li { - /* display: inline-block;*/ - list-style-type: none; - background-color: #303030; - /*border: 1px solid #ddd;*/ - border: 1px solid black; - letter-spacing: 0.2em; -} - -.tab-list ul { - margin-left: 10px; - margin-right: 10px; -} - -.tab-list li a { - color: #f2f2f2; - text-decoration:none; - padding: 3px 10px 3px 10px; - -} - - -/********** HOVER STATES **********/ -.tab-list li.active, .tab-list li.hover { - background-color: #e5e5e5; - text-decoration:none !important; - /* border-bottom: 1px solid #e5e5e5; */ - border: 1px solid #484848; -} - -.tab-list li.active a, .tab-list li a:hover { - color: #666; - background-color: #e5e5e5; - text-decoration:none !important; - outline: 0 !important; -} - - -/********** PANELS **********/ -.tab-panel { - outline: 0 !important; - line-height: 0; - display: none; - background-color: #e5e5e5; - color: #666; - /*min-height: 500px; */ - margin-top: -1px; - margin-left: 10px; - margin-right: 10px; - margin-bottom: 10px; - /* border: 1px solid #ddd; */ - border: 1px groove gray !important; - white-space: pre-line; - overflow: auto; - min-height: 700px; - border-top-right-radius: 12px; - border-bottom-right-radius: 12px; - border-bottom-left-radius: 12px; -} - -.tab-panel.active { - display: block; -} - -.tab-panel p { - margin: 20px; -} diff --git a/src/cockpit/389-console/fonts/OpenSans-BoldItalic-webfont.woff2 b/src/cockpit/389-console/fonts/OpenSans-BoldItalic-webfont.woff2 new file mode 100644 index 0000000..cc8d731 Binary files /dev/null and b/src/cockpit/389-console/fonts/OpenSans-BoldItalic-webfont.woff2 differ diff --git a/src/cockpit/389-console/index.html b/src/cockpit/389-console/index.html index d0c3666..38ef304 100644 --- a/src/cockpit/389-console/index.html +++ b/src/cockpit/389-console/index.html @@ -33,509 +33,515 @@ - -
- - - + + +