app/soc/cron/student_proposal_mailer.py
changeset 2240 df37a3ff8ed5
parent 2238 71f4d7642afb
child 2255 783e69b54d47
equal deleted inserted replaced
2239:9a47a64dcc08 2240:df37a3ff8ed5
   119 
   119 
   120   Args:
   120   Args:
   121     job_entity: a Job entity with key_data set to [student_key]
   121     job_entity: a Job entity with key_data set to [student_key]
   122   """
   122   """
   123 
   123 
   124   from soc.cron.job import Error
       
   125   from soc.cron.job import FatalJobError
   124   from soc.cron.job import FatalJobError
   126 
   125 
   127 
   126 
   128   student_keyname = job_entity.key_data[0].name()
   127   student_keyname = job_entity.key_data[0].name()
   129   student_entity = student_logic.getFromKeyName(student_keyname)
   128   student_entity = student_logic.getFromKeyName(student_keyname)
   140     # a proposal has been found we must sent out an email
   139     # a proposal has been found we must sent out an email
   141     default_sender = mail_dispatcher.getDefaultMailSender()
   140     default_sender = mail_dispatcher.getDefaultMailSender()
   142 
   141 
   143     if not default_sender:
   142     if not default_sender:
   144       # no default sender abort
   143       # no default sender abort
   145       raise Error('No valid sender address could be found, try setting '
   144       raise FatalJobError('No valid sender address could be found, try '
   146                   'a no-reply address on the site settings page')
   145                           'setting a no-reply address on the site settings '
       
   146                           'page')
   147     else:
   147     else:
   148       (sender_name, sender) = default_sender
   148       (sender_name, sender) = default_sender
   149 
   149 
   150     # construct the contents of the email
   150     # construct the contents of the email
   151     student_entity = proposal.scope
   151     student_entity = proposal.scope