equal
deleted
inserted
replaced
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 |