def record_edit(record_id): record = manager.get_record(record_id) if not record: flash('DNS record not found.', 'error') return redirect(url_for('.index')) defaults = record defaults['zone_id'] = record['domain']['id'] form = ZoneRecordForm(**defaults) if form.validate_on_submit(): fields = {'id': record_id} for field in form: if 'csrf_token' == field.name: continue fields[field.name] = field.data (success, message) = manager.update_record(fields) if success: flash(message, 'success') else: flash(message, 'error') return redirect(url_for('.zone_view', zone_id=record['domain']['id'])) payload = { 'title': 'Edit Zone Record', 'subheader': '%s.%s' % (record['host'], record['domain']['name']), 'record': record, 'form': form, 'action': url_for('.record_edit', record_id=record_id), 'action_name': 'Edit', 'zone': record['domain'], } return render_template('zone_update_record.html', **payload)
def record_delete(record_id): """ This function will remove the record ID from the specified zone. :param int id: The ID of the record to remove """ record = manager.get_record(record_id) if not record: flash('DNS record not found.', 'error') return redirect(url_for('.index')) (success, message) = manager.delete_record(record_id) if success: flash(message, 'success') else: flash(message, 'error') return redirect(url_for('.zone_view', zone_id=record['domain']['id']))