Page MenuHomePhorge

D5763.1775244600.diff
No OneTemporary

Authored By
Unknown
Size
7 KB
Referenced Files
None
Subscribers
None

D5763.1775244600.diff

diff --git a/src/resources/lang/en/ui.php b/src/resources/lang/en/ui.php
--- a/src/resources/lang/en/ui.php
+++ b/src/resources/lang/en/ui.php
@@ -396,6 +396,8 @@
'password-policy' => "Password Policy",
'password-retention' => "Password Retention",
'password-max-age' => "Require a password change every",
+ 'status-enabled' => "policy enabled",
+ 'status-disabled' => "policy disabled",
],
'resource' => [
diff --git a/src/resources/vue/Admin/User.vue b/src/resources/vue/Admin/User.vue
--- a/src/resources/vue/Admin/User.vue
+++ b/src/resources/vue/Admin/User.vue
@@ -214,8 +214,11 @@
<label for="greylist_enabled" class="col-sm-4 col-form-label">{{ $t('policies.greylist') }}</label>
<div class="col-sm-8">
<span class="form-control-plaintext" id="greylist_enabled">
- <span v-if="user.config.greylist_enabled" class="text-success">{{ $t('form.enabled') }}</span>
+ <span v-if="isSettingEnabled('greylist')" class="text-success">{{ $t('form.enabled') }}</span>
<span v-else class="text-danger">{{ $t('form.disabled') }}</span>
+ <span v-if="user.wallet.user_id == user.id">
+ ({{ $t('policies.status-' + (isPolicyEnabled('greylist') ? 'enabled' : 'disabled')) }})
+ </span>
</span>
</div>
</div>
@@ -688,6 +691,18 @@
this.$root.clearFormValidation($('#suspend-dialog'))
this.$refs.suspendDialog.show()
},
+ isSettingEnabled(name) {
+ const setting_name = name + '_enabled'
+
+ if (this.user.config[setting_name]) {
+ return true
+ }
+
+ return this.user.config[setting_name] === null && this.isPolicyEnabled(name)
+ },
+ isPolicyEnabled(name) {
+ return this.user.config[name + '_policy']
+ },
submitSuspend() {
const post = { comment: this.comment }
diff --git a/src/tests/Browser/Admin/UserTest.php b/src/tests/Browser/Admin/UserTest.php
--- a/src/tests/Browser/Admin/UserTest.php
+++ b/src/tests/Browser/Admin/UserTest.php
@@ -209,13 +209,11 @@
$browser->assertSeeIn('@nav #tab-settings', 'Settings')
->click('@nav #tab-settings')
->whenAvailable('@user-settings form', static function (Browser $browser) {
- $browser->assertElementsCount('.row', 3)
+ $browser->assertElementsCount('.row', 2)
->assertSeeIn('.row:first-child label', 'Greylisting')
- ->assertSeeIn('.row:first-child .text-danger', 'disabled')
- ->assertSeeIn('.row:nth-child(2) label', 'IMAP proxy')
- ->assertSeeIn('.row:nth-child(2) .text-danger', 'disabled')
- ->assertSeeIn('.row:nth-child(3) label', 'Geo-lockin')
- ->assertSeeIn('.row:nth-child(3) #limit_geo', 'No restrictions')
+ ->assertSeeIn('.row:first-child .text-success', 'enabled')
+ ->assertSeeIn('.row:nth-child(2) label', 'Geo-lockin')
+ ->assertSeeIn('.row:nth-child(2) #limit_geo', 'No restrictions')
->assertMissing('#limit_geo + button');
});
@@ -408,6 +406,16 @@
}
});
+ // Assert Settings tab
+ $browser->assertSeeIn('@nav #tab-settings', 'Settings')
+ ->click('@nav #tab-settings')
+ ->whenAvailable('@user-settings form', static function (Browser $browser) {
+ $browser->assertElementsCount('.row', 2)
+ ->assertSeeIn('.row:first-child label', 'Greylisting')
+ ->assertSeeIn('.row:first-child .text-success', 'enabled')
+ ->assertSeeIn('.row:first-child', '(policy enabled)');
+ });
+
// Assert History tab
$browser->assertSeeIn('@nav #tab-history', 'History')
->click('@nav #tab-history')
@@ -536,7 +544,7 @@
$browser->assertSeeIn('@nav #tab-settings', 'Settings')
->click('@nav #tab-settings')
->whenAvailable('@user-settings form', static function (Browser $browser) {
- $browser->assertElementsCount('.row', 3)
+ $browser->assertElementsCount('.row', 2)
->assertSeeIn('.row:first-child label', 'Greylisting')
->assertSeeIn('.row:first-child .text-danger', 'disabled');
});
diff --git a/src/tests/Browser/Reseller/UserTest.php b/src/tests/Browser/Reseller/UserTest.php
--- a/src/tests/Browser/Reseller/UserTest.php
+++ b/src/tests/Browser/Reseller/UserTest.php
@@ -190,13 +190,11 @@
$browser->assertSeeIn('@nav #tab-settings', 'Settings')
->click('@nav #tab-settings')
->whenAvailable('@user-settings form', static function (Browser $browser) {
- $browser->assertElementsCount('.row', 3)
+ $browser->assertElementsCount('.row', 2)
->assertSeeIn('.row:first-child label', 'Greylisting')
- ->assertSeeIn('.row:first-child .text-danger', 'disabled')
- ->assertSeeIn('.row:nth-child(2) label', 'IMAP proxy')
- ->assertSeeIn('.row:nth-child(2) .text-danger', 'disabled')
- ->assertSeeIn('.row:nth-child(3) label', 'Geo-lockin')
- ->assertSeeIn('.row:nth-child(3) #limit_geo', 'No restrictions')
+ ->assertSeeIn('.row:first-child .text-success', 'enabled')
+ ->assertSeeIn('.row:nth-child(2) label', 'Geo-lockin')
+ ->assertSeeIn('.row:nth-child(2) #limit_geo', 'No restrictions')
->assertMissing('#limit_geo + button');
});
});
@@ -456,13 +454,11 @@
$browser->assertSeeIn('@nav #tab-settings', 'Settings')
->click('@nav #tab-settings')
->whenAvailable('@user-settings form', static function (Browser $browser) {
- $browser->assertElementsCount('.row', 3)
+ $browser->assertElementsCount('.row', 2)
->assertSeeIn('.row:nth-child(1) label', 'Greylisting')
->assertSeeIn('.row:nth-child(1) .text-danger', 'disabled')
- ->assertSeeIn('.row:nth-child(2) label', 'IMAP proxy')
- ->assertSeeIn('.row:nth-child(2) .text-danger', 'disabled')
- ->assertSeeIn('.row:nth-child(3) label', 'Geo-lockin')
- ->assertSeeIn('.row:nth-child(3) #limit_geo', 'No restrictions');
+ ->assertSeeIn('.row:nth-child(2) label', 'Geo-lockin')
+ ->assertSeeIn('.row:nth-child(2) #limit_geo', 'No restrictions');
});
// Assert History tab

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 3, 7:30 PM (21 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18824594
Default Alt Text
D5763.1775244600.diff (7 KB)

Event Timeline