Exemplo n.º 1
0
    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))
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
 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)