Merge pull request #2810 from kush-bavishi/temp-ExpiredToggle-3

Expired Toggle
This commit is contained in:
Hossein Shafagh 2019-06-21 09:12:31 -07:00 committed by GitHub
commit b564f97a47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 44 additions and 5 deletions

View File

@ -329,12 +329,14 @@ def render(args):
"""
query = database.session_query(Certificate)
time_range = args.pop("time_range")
if not time_range:
six_month_old = arrow.now()\
.shift(months=current_app.config.get("HIDE_EXPIRED_CERTS_AFTER_MONTHS", -6))\
show_expired = args.pop("showExpired")
if show_expired != 1:
one_month_old = arrow.now()\
.shift(months=current_app.config.get("HIDE_EXPIRED_CERTS_AFTER_MONTHS", -1))\
.format("YYYY-MM-DD")
query = query.filter(Certificate.not_after > six_month_old)
query = query.filter(Certificate.not_after > one_month_old)
time_range = args.pop("time_range")
destination_id = args.pop("destination_id")
notification_id = args.pop("notification_id", None)

View File

@ -347,6 +347,7 @@ class CertificatesList(AuthenticatedResource):
)
parser.add_argument("creator", type=str, location="args")
parser.add_argument("show", type=str, location="args")
parser.add_argument("showExpired", type=int, location="args")
args = parser.parse_args()
args["user"] = g.user

View File

@ -19,6 +19,9 @@ angular.module('lemur')
.controller('CertificatesViewController', function ($q, $scope, $uibModal, $stateParams, $location, CertificateApi, CertificateService, MomentService, ngTableParams, toaster) {
$scope.filter = $stateParams;
$scope.expiredText = ['Show Expired', 'Hide Expired'];
$scope.expiredValue = 0;
$scope.expiredButton = $scope.expiredText[$scope.expiredValue];
$scope.certificateTable = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
@ -50,6 +53,34 @@ angular.module('lemur')
}
});
$scope.showExpired = function () {
if ($scope.expiredValue === 0) {
$scope.expiredValue = 1;
}
else {
$scope.expiredValue = 0;
}
$scope.expiredButton = $scope.expiredText[$scope.expiredValue];
$scope.certificateTable = new ngTableParams({
page: 1, // show first page
count: 10, // count per page
sorting: {
id: 'desc' // initial sorting
},
filter: $scope.filter
}, {
getData: function ($defer, params) {
$scope.temp = angular.copy(params.url());
$scope.temp.showExpired = $scope.expiredValue;
CertificateApi.getList($scope.temp)
.then(function (data) {
params.total(data.total);
$defer.resolve(data);
});
}
});
};
$scope.momentService = MomentService;
$scope.remove = function (certificate) {

View File

@ -17,6 +17,11 @@
btn-checkbox-true="1"
btn-checkbox-false="0">Filter</button>
</div>
<div class="btn-group">
<button ng-click="showExpired()" class="btn btn-default">
{{ expiredButton }}
</button>
</div>
<!--<select class="form-control" ng-model="show" ng-options="item.value as item.title for item in fields"></select>-->
<div class="clearfix"></div>
</div>