def do_save_rule(self, _clerk, _user, ID, virtuser, oldVirt, domName, mailto): #@TODO: there's a dependency here that I don't know how to expose. #If the rule attributes are changed before dom is loaded, #clerk won't save the rule. same thing with rule.dom=domain (vs <<) #however, I couldn't duplicate this in the test case dom = safety.safeDomain(_user, domName) if ID: rule = safety.safeEmailRuleByID(dom, ID) elif oldVirt: rule = safety.safeEmailRule(dom, oldVirt) else: rule = EmailRule() rule.virtuser = virtuser rule.mailto = mailto self.checkDuplicate(rule, dom) if rule not in dom.rules: dom.rules << rule _clerk.store(dom) _user.getBeaker().genmailconf()
def invoke(self, _clerk, _user, domain, rectype, value, priority=0, ID=None): try: dom = safety.safeDomain(_user, domain) if ID: rec = safety.safeDNSRec(dom, ID) else: rec = DNSRec() if rec.domain is not dom: dom.dnsrecs << rec rec.rectype = rectype rec.priority = priority # field might be disabled rec.value = value #@TODO: this is kludgy, but i can't put this in set_value # ...unless I split DNSRec into two classes... # ALSO, these should generally have a "." at the end!! from cornerhost.schema.Domain import reDomain if rectype == "MX" and not reDomain.match(rec.value): raise ValueError('value', rec.value) _clerk.store(rec) except (ValueError, TypeError), e: raise Intercept(e)
def invoke(self, _clerk, _user, domain, rectype, value, priority=0, ID=None): try: dom = safety.safeDomain(_user, domain) if ID: rec = safety.safeDNSRec(dom, ID) else: rec = DNSRec() if rec.domain is not dom: dom.dnsrecs << rec rec.rectype = rectype rec.priority = priority # field might be disabled rec.value = value #@TODO: this is kludgy, but i can't put this in set_value # ...unless I split DNSRec into two classes... # ALSO, these should generally have a "." at the end!! from cornerhost.schema.Domain import reDomain if rectype=="MX" and not reDomain.match(rec.value): raise ValueError('value',rec.value) _clerk.store(rec) except (ValueError, TypeError), e: raise Intercept(e)
def invoke(self, _user, _clerk, domName, rule, mailto): try: dom = safety.safeDomain(_user, domName) dom.mailto = self.compileRule(rule, mailto) _clerk.store(dom) _user.getBeaker().genmailconf() except ValueError, e: raise Intercept(self.ruleMessage(e))
def invoke(self, _clerk, _user, name): dom = safety.safeDomain(_user, name) #@TODO: cascading delete? #@TODO: real error handling, not assertions #(assertions should only check for things that can't happen) assert not dom.is_site, "delete the site first" assert not dom.subs, "delete the subdomains first" _clerk.delete(Domain, dom.ID)
def invoke(self, _user, _clerk, domName, rule, mailto): try: dom = safety.safeDomain(_user, domName) dom.mailto=self.compileRule(rule, mailto) _clerk.store(dom) _user.getBeaker().genmailconf() except ValueError, e: raise Intercept(self.ruleMessage(e))
def invoke(self, _clerk, _user, name, repoint_to): dom = safety.safeDomain(_user, name) assert not dom.is_site, "%s already has its own site" % dom.name # merge the form logic with create_site in on_post_add_domain (above) if repoint_to == "new_site": NewSiteGrunt(_clerk, _user).buildSite(name) else: dom.site = safety.safeSiteByName(_user, repoint_to) _clerk.store(dom) _user.getBeaker().mqsend('genhttpconf')
def invoke(self, _clerk, _user, name, rule, rectype, location, processmail=0): try: dom = safety.safeDomain(_user, name) dom.update( processmail = int(processmail), rule = rule, rectype = rectype, location = location) _clerk.store(dom) except (TypeError, ValueError), e: raise Intercept(e)
def invoke(self, _clerk, _user, name, repoint_to): dom = safety.safeDomain(_user, name) assert not dom.is_site, "%s already has its own site" % dom.name # merge the form logic with create_site in on_post_add_domain (above) if repoint_to=="new_site": NewSiteGrunt(_clerk, _user).buildSite(name) else: dom.site = safety.safeSiteByName(_user, repoint_to) _clerk.store(dom) _user.getBeaker().mqsend('genhttpconf')
def invoke(self, _clerk, _user, name, rule, rectype, location, processmail=0): try: dom = safety.safeDomain(_user, name) dom.update(processmail=int(processmail), rule=rule, rectype=rectype, location=location) _clerk.store(dom) except (TypeError, ValueError), e: raise Intercept(e)
def do_save_rule(self,_clerk,_user, ID, virtuser, oldVirt, domName, mailto): #@TODO: there's a dependency here that I don't know how to expose. #If the rule attributes are changed before dom is loaded, #clerk won't save the rule. same thing with rule.dom=domain (vs <<) #however, I couldn't duplicate this in the test case dom = safety.safeDomain(_user, domName) if ID: rule = safety.safeEmailRuleByID(dom, ID) elif oldVirt: rule = safety.safeEmailRule(dom, oldVirt) else: rule = EmailRule() rule.virtuser=virtuser rule.mailto=mailto self.checkDuplicate(rule, dom) if rule not in dom.rules: dom.rules << rule _clerk.store(dom) _user.getBeaker().genmailconf()
def invoke(self, _user, _clerk, oldDom, ID): old = safety.safeDomain(_user, oldDom) rule = safety.safeEmailRuleByID(old, ID) _clerk.delete(EmailRule, rule.ID) _user.getBeaker().genmailconf()
def invoke(self, _clerk, _user, domain_in, ID): rec = safety.safeDNSRec(safety.safeDomain(_user, domain_in), ID) _clerk.delete(DNSRec, rec.ID)
def invoke(self, _user, _clerk, oldDom, ID): old = safety.safeDomain(_user, oldDom) rule = safety.safeEmailRuleByID(old,ID) _clerk.delete(EmailRule,rule.ID) _user.getBeaker().genmailconf()