Merge pull request #3174 from charhate/ui_changes

Authority create: Email added to subject DN
This commit is contained in:
charhate 2020-10-07 16:25:00 -07:00 committed by GitHub
commit e078d33103
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 23 additions and 14 deletions

View File

@ -43,13 +43,13 @@ class AuthorityInputSchema(LemurInputSchema):
organization = fields.String( organization = fields.String(
missing=lambda: current_app.config.get("LEMUR_DEFAULT_ORGANIZATION") missing=lambda: current_app.config.get("LEMUR_DEFAULT_ORGANIZATION")
) )
location = fields.String( location = fields.String()
missing=lambda: current_app.config.get("LEMUR_DEFAULT_LOCATION")
)
country = fields.String( country = fields.String(
missing=lambda: current_app.config.get("LEMUR_DEFAULT_COUNTRY") missing=lambda: current_app.config.get("LEMUR_DEFAULT_COUNTRY")
) )
state = fields.String(missing=lambda: current_app.config.get("LEMUR_DEFAULT_STATE")) state = fields.String(missing=lambda: current_app.config.get("LEMUR_DEFAULT_STATE"))
# Creating a String field instead of Email to allow empty value
email = fields.String()
plugin = fields.Nested(PluginInputSchema) plugin = fields.Nested(PluginInputSchema)

View File

@ -107,9 +107,7 @@ class CertificateInputSchema(CertificateCreationSchema):
organization = fields.String( organization = fields.String(
missing=lambda: current_app.config.get("LEMUR_DEFAULT_ORGANIZATION") missing=lambda: current_app.config.get("LEMUR_DEFAULT_ORGANIZATION")
) )
location = fields.String( location = fields.String()
missing=lambda: current_app.config.get("LEMUR_DEFAULT_LOCATION")
)
country = fields.String( country = fields.String(
missing=lambda: current_app.config.get("LEMUR_DEFAULT_COUNTRY") missing=lambda: current_app.config.get("LEMUR_DEFAULT_COUNTRY")
) )

View File

@ -124,4 +124,8 @@ angular.module('lemur')
opened: false opened: false
}; };
$scope.populateSubjectEmail = function () {
$scope.authority.email = $scope.authority.owner;
};
}); });

View File

@ -26,8 +26,7 @@
Location Location
</label> </label>
<div class="col-sm-10"> <div class="col-sm-10">
<input name="location" ng-model="authority.location" placeholder="Location" class="form-control" required/> <input name="location" ng-model="authority.location" placeholder="Location" class="form-control"/>
<p ng-show="dnForm.location.$invalid && !dnForm.location.$pristine" class="help-block">You must enter a location</p>
</div> </div>
</div> </div>
<div class="form-group" <div class="form-group"
@ -49,6 +48,15 @@
<input name="organizationalUnit" ng-model="authority.organizationalUnit" placeholder="Organizational Unit" class="form-control"/> <input name="organizationalUnit" ng-model="authority.organizationalUnit" placeholder="Organizational Unit" class="form-control"/>
</div> </div>
</div> </div>
<div class="form-group"
ng-class="{'has-error': dnForm.email.$invalid, 'has-success': !dnForm.$invalid&&dnForm.email.$dirty}">
<label class="control-label col-sm-2">
Email
</label>
<div class="col-sm-10">
<input type="email" name="email" ng-model="authority.email" placeholder="Email Address" class="form-control"/>
</div>
</div>
</div> </div>
</form> </form>

View File

@ -21,7 +21,7 @@
<div class="col-sm-10"> <div class="col-sm-10">
<input type="email" name="owner" ng-model="authority.owner" placeholder="TeamDL@example.com" <input type="email" name="owner" ng-model="authority.owner" placeholder="TeamDL@example.com"
uib-tooltip="This is the authorities team distribution list or the main point of contact for this authority" uib-tooltip="This is the authorities team distribution list or the main point of contact for this authority"
class="form-control" required/> class="form-control" ng-change="populateSubjectEmail()" required/>
<p ng-show="trackingForm.owner.$invalid && !trackingForm.owner.$pristine" class="help-block">You must <p ng-show="trackingForm.owner.$invalid && !trackingForm.owner.$pristine" class="help-block">You must
enter an Certificate Authority owner</p> enter an Certificate Authority owner</p>
</div> </div>

View File

@ -38,9 +38,7 @@
Location Location
</label> </label>
<div class="col-sm-10"> <div class="col-sm-10">
<input name="location" ng-model="certificate.location" placeholder="Location" class="form-control" required/> <input name="location" ng-model="certificate.location" placeholder="Location" class="form-control"/>
<p ng-show="dnForm.location.$invalid && !dnForm.location.$pristine" class="help-block">You must enter a
location</p>
</div> </div>
</div> </div>
<div class="form-group" <div class="form-group"

View File

@ -154,7 +154,7 @@ def test_get_certificate_primitives(certificate):
with freeze_time(datetime.date(year=2016, month=10, day=30)): with freeze_time(datetime.date(year=2016, month=10, day=30)):
primitives = get_certificate_primitives(certificate) primitives = get_certificate_primitives(certificate)
assert len(primitives) == 26 assert len(primitives) == 25
assert (primitives["key_type"] == "RSA2048") assert (primitives["key_type"] == "RSA2048")
@ -254,17 +254,18 @@ def test_certificate_input_schema(client, authority):
"validityStart": arrow.get(2018, 11, 9).isoformat(), "validityStart": arrow.get(2018, 11, 9).isoformat(),
"validityEnd": arrow.get(2019, 11, 9).isoformat(), "validityEnd": arrow.get(2019, 11, 9).isoformat(),
"dnsProvider": None, "dnsProvider": None,
"location": "A Place"
} }
data, errors = CertificateInputSchema().load(input_data) data, errors = CertificateInputSchema().load(input_data)
assert not errors assert not errors
assert data["authority"].id == authority.id assert data["authority"].id == authority.id
assert data["location"] == "A Place"
# make sure the defaults got set # make sure the defaults got set
assert data["common_name"] == "test.example.com" assert data["common_name"] == "test.example.com"
assert data["country"] == "US" assert data["country"] == "US"
assert data["location"] == "Los Gatos"
assert len(data.keys()) == 19 assert len(data.keys()) == 19