Beispiel #1
0
 def filter(self, stanza, lang_class):
     bare_from_jid = unicode(stanza.get_from().bare())
     accounts = account.get_accounts(\
         bare_from_jid,
         account_class=AbstractSMTPAccount,
         filter=(AbstractSMTPAccount.q.default_account == True))
     if accounts.count() != 1:
         self.__logger.error("No default account found for user " +
                             str(bare_from_jid))
     if accounts.count() == 0:
         accounts = account.get_accounts(bare_from_jid,
                                         AbstractSMTPAccount)
     return accounts
Beispiel #2
0
 def default_account_default_func(bare_from_jid):
     accounts = account.get_accounts(bare_from_jid, AbstractSMTPAccount,
                                     (AbstractSMTPAccount.q.default_account == True))
     if accounts.count() == 0:
         return True
     else:
         return False
Beispiel #3
0
def get_accounts_root_filter(self, stanza, lang_class, node=None):
    """Filter stanza sent to root node"""
    to_jid = stanza.get_to()
    if to_jid.resource is None and to_jid.node is None and node is None:
        return account.get_accounts(unicode(stanza.get_from().bare()))
    else:
        return None
Beispiel #4
0
 def filter(self, stanza, lang_class):
     """Return empty array if JID match '.*%.*@componentJID'"""
     node = stanza.get_to().node
     if node is not None and self.dest_jid_regexp.match(node):
         bare_from_jid = unicode(stanza.get_from().bare())
         accounts = account.get_accounts(bare_from_jid, SMTPAccount)
         if accounts.count() == 0:
             raise NoAccountError()
         else:
             default_account = accounts.newClause(\
                 SMTPAccount.q.default_account == True)
             if default_account.count() > 0:
                 return default_account
             else:
                 return accounts
     return None
Beispiel #5
0
 def test_get_accounts(self):
     user1 = User(jid="*****@*****.**")
     Account(user=user1,
             name="account11",
             jid="*****@*****.**")
     Account(user=user1,
             name="account12",
             jid="*****@*****.**")
     Account(user=User(jid="*****@*****.**"),
             name="account11",
             jid="*****@*****.**")
     accounts = account.get_accounts("*****@*****.**")
     i = 0
     for _account in accounts:
         i += 1
         self.assertEquals(_account.user.jid, "*****@*****.**")
     self.assertEquals(i, 2)
Beispiel #6
0
 def default_account_post_func(value, default_func, bare_from_jid):
     accounts = account.get_accounts(bare_from_jid, AbstractSMTPAccount,
                                     (AbstractSMTPAccount.q.default_account == True))
     already_default_account = (accounts.count() != 0)
     if isinstance(value, str) or isinstance(value, unicode):
         value = value.lower()
         bool_value = (value == "true" or value == "1")
     else:
         bool_value = value
     if bool_value:
         if already_default_account:
             for _account in accounts:
                 _account.default_account = False
         return True
     else:
         if not already_default_account:
             return True
         else:
             return False