def delete(self): result = 1 if soap.exists(self.name): result = soap.close_list(self.name) if result == 1 or result == "list allready closed": super(BaseMailingList, self).delete() else: raise Exception(_(u"Cannot close the list : %s" % result))
def clean_name(self): name = self.cleaned_data['name'] if soap.exists(name): # Update subscription options if MailingList.objects.filter(name=name).exists(): return name # sympa mailing list has been closed else: raise ValidationError(_(u" list already exists on sympa server, please contact Sympa administrator")) else: return name
def save(self, *args, **kwargs): # self.full_clean() if self.id == None and soap.sympa_available(): if not soap.exists(self.name): result = soap.create_list(self.name, self.build_sympa_subjet(), self.templateName, self.description) if not result == 1: raise ValidationError(_(u"Cannot add the list (sympa cannot create it): %s" % result)) else: raise ValidationError(_(u"list exits already on symp server, please contact Sympa administrateur")) self.email = soap.info(self.name).listAddress self.verify_subscriptions(delete=False) super(BaseMailingList, self).save(*args, **kwargs)