From 93cd64ac750eb6b5d35b82517befc84df9097103 Mon Sep 17 00:00:00 2001 From: Khanh Ngo Date: Thu, 19 Dec 2019 21:43:53 +0700 Subject: [PATCH] Fix #613. Create domain from template with SOA record enabled --- powerdnsadmin/models/record.py | 13 ++++++++++--- powerdnsadmin/routes/domain.py | 19 ++++++++++++++----- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/powerdnsadmin/models/record.py b/powerdnsadmin/models/record.py index 7cf9007..ca65633 100644 --- a/powerdnsadmin/models/record.py +++ b/powerdnsadmin/models/record.py @@ -249,7 +249,7 @@ class Record(object): del_rrsets = {"rrsets": []} for r in current_rrsets: if r not in submitted_rrsets and r['type'] in Setting( - ).get_records_allow_to_edit(): + ).get_records_allow_to_edit() and r['type'] != 'SOA': r['changetype'] = 'DELETE' del_rrsets["rrsets"].append(r) @@ -286,7 +286,11 @@ class Record(object): current_app.logger.error( 'Cannot apply record changes with deleting rrsets step. PDNS error: {}' .format(jdata1['error'])) - return {'status': 'error', 'msg': jdata1['error']} + print(jdata1['error']) + return { + 'status': 'error', + 'msg': jdata1['error'].replace("'", "") + } if new_rrsets["rrsets"]: jdata2 = utils.fetch_json( @@ -301,7 +305,10 @@ class Record(object): current_app.logger.error( 'Cannot apply record changes with adding rrsets step. PDNS error: {}' .format(jdata2['error'])) - return {'status': 'error', 'msg': jdata2['error']} + return { + 'status': 'error', + 'msg': jdata2['error'].replace("'", "") + } self.auto_ptr(domain_name, new_rrsets, del_rrsets) self.update_db_serial(domain_name) diff --git a/powerdnsadmin/routes/domain.py b/powerdnsadmin/routes/domain.py index ccf5736..9403602 100644 --- a/powerdnsadmin/routes/domain.py +++ b/powerdnsadmin/routes/domain.py @@ -199,16 +199,25 @@ def add(): result = r.apply(domain_name, record_data) if result['status'] == 'ok': history = History( - msg= - 'Applying template {0} to {1}, created records successfully.' - .format(template.name, domain_name), - detail=str(result), + msg='Applying template {0} to {1} successfully.'. + format(template.name, domain_name), + detail=str( + json.dumps({ + "domain": + domain_name, + "template": + template.name, + "add_rrests": + result['data'][0]['rrsets'], + "del_rrests": + result['data'][1]['rrsets'] + })), created_by=current_user.username) history.add() else: history = History( msg= - 'Applying template {0} to {1}, FAILED to created records.' + 'Failed to apply template {0} to {1}.' .format(template.name, domain_name), detail=str(result), created_by=current_user.username)