def edit_relay(self, settingid): "Edit a mail relay" relay = get_relay(settingid) if not relay: abort(404) c.relayname = relay.address or relay.username c.relayid = relay.id c.orgid = relay.org_id c.form = RelayEditForm(request.POST, relay, csrf_context=session) if request.method == 'POST' and c.form.validate(): if relay_update_if_changed(c.form, relay): try: edit_relay(relay, c.user, request.host, request.remote_addr) msg = _('The outbound settings have been updated') flash(msg) log.info(msg) except IntegrityError: Session.rollback() msg = _('The outbound settings could not be updated') flash(msg) log.info(msg) else: msg = _('No changes made, The outbound settings not updated') flash(msg) log.info(msg) redirect(url('org-detail', orgid=relay.org_id)) return self.render('/organizations/editrelay.html')
def delete_relay(self, settingid): "Delete a mail relay" relay = get_relay(settingid) if not relay: abort(404) c.relayname = relay.address or relay.username c.relayid = relay.id c.orgid = relay.org_id c.form = RelayForm(request.POST, relay, csrf_context=session) if request.method == 'POST' and c.form.validate(): orgid = relay.org_id try: delete_relay(relay, c.user, request.host, request.remote_addr) msg = _('The outbound settings have been deleted') flash(msg) log.info(msg) except: msg = _('The outbound settings could not be deleted') flash(msg) log.info(msg) redirect(url('org-detail', orgid=orgid)) return self.render('/organizations/deleterelay.html')