you need to basically add a hook (save class) to your save model and
process stuff along the way.
you will need to modify this example but it's how i update info when
saving an scom email user for dovecot.
you can also override the admin class as well with something simaliar
Note :
super(EmailUsers, self).save(*args, **kwargs) #Save the email changes
is extemely important as stuff will process but any field updates will
not save without the above line......
example :
def save(self, *args, **kwargs): #This will create an email account if
nessesary.
emailaddress = str(self.username) #Set the email address to see if we
need to create the mailbox?
emailpassword = str(self.password) #Set the password (used for check
alias)
#prefill username/domain is blank
if self.domain == None or str(self.domain) == '' :
self.domain = self.username.split('@')[1]
if self.source == None or str(self.source) == '' :
self.source = self.username
if self.destination == None or str(self.destination) == '' :
self.destination = self.username
domain = str(self.domain)
send_settings = str(self.send_settings)
if self.send_settings == None :
send_settings = ''
self.send_settings = ''
dontupdate = self.dontupdate
self.dontupdate = False
#set dovecot directory & split user / domain
if self.username.split('@')[1] == 'preload.scom.ca' :
self.home = '/data/dovecot/users/%s/%s' %(
self.domain,self.destination.split('@')[0] )
else:
self.home = '/data/dovecot/users/%s/%s' %(
self.domain,self.destination )
self.user = self.username.split('@')[0]
#Set alias Flag
if self.password == 'alias' or (self.source !=
self.destination) :
self.alias_flag = True
#self.sieve_forwards = ''
#self.vacation_active = False
else :
self.alias_flag = False
self.username_search = self.username
self.username_search = self.username_search.replace ('.','')
self.username_search = self.username_search.replace ('@','')
super(EmailUsers, self).save(*args, **kwargs) #Save the email
changes
i email with something like :
#Try to get info for this account
if dontupdate == False :
imap_test = Dovecot_Command ('INFO',self.username) #do i have this
account ?
if 'BAD' in imap_test.answer :
try : #Try to Create the account, note that the db must be updated
properly before it will work
imap_create = Dovecot_Command
('CM',self.username)
if 'OK' in imap_create.answer :
send_subject = 'Email Account
Created : %s' %(str(self.username) )
except :
send_subject = 'Error Account : %s'
%(str(self.username) )
pass
else :
send_subject = 'Email Account Updated : %s'
%(self.username)
#Send update email
send_from = 'moni...@scom.ca'
send_files = []
send_to = ['moni...@scom.ca']
send_text = '\n\n'+ send_subject + '\n'
sendmail(send_from,send_to,send_subject,send_text,send_files) #Send
the warning email
Happy Monday !!!
Thanks - paul
Paul Kudla
Scom.ca Internet Services <http://www.scom.ca>
004-1009 Byron Street South
Whitby, Ontario - Canada
L1N 4S3
Toronto 416.642.7266
Main 1.866.411.7266
Fax 1.888.892.7266
Email p...@scom.ca
On 10/21/2022 2:30 PM, Mohammad Ehsan Ansari wrote:
Please refer the signal concept in django you will get how to implement it
On Thu, 20 Oct, 2022, 9:36 pm Aziz Mek, <aziz...@gmail.com
<mailto:aziz...@gmail.com>> wrote:
Hi All,
I was wondering if you have come across the following:
I have a field in the model that's empty, when the user fills it up
and clicks Save, it
should trigger/call a management Command (This command is already
build that sends emails ), Django docs say i can use call_command
but not sure how to implement it with the save
I am just after the trigger really when the save takes place
Many thanks in advance
Kind regards
Aziz
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it,
send an email to django-users+unsubscr...@googlegroups.com
<mailto:django-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/a0ca69f0-6065-4b86-a977-cfb6dcab8fd7n%40googlegroups.com
<https://groups.google.com/d/msgid/django-users/a0ca69f0-6065-4b86-a977-cfb6dcab8fd7n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to django-users+unsubscr...@googlegroups.com
<mailto:django-users+unsubscr...@googlegroups.com>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/CAF8ux6Li0BjKS2zvQuPWL6zq-R6Buo9wa1fBx68m4ESpTptHug%40mail.gmail.com <https://groups.google.com/d/msgid/django-users/CAF8ux6Li0BjKS2zvQuPWL6zq-R6Buo9wa1fBx68m4ESpTptHug%40mail.gmail.com?utm_medium=email&utm_source=footer>.
--
This message has been scanned for viruses and
dangerous content by *MailScanner* <http://www.mailscanner.info/>, and is
believed to be clean.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to django-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-users/adc6f0d8-ad9a-e17a-5688-1f665b089b0a%40scom.ca.