for s in self.cleaned_data.get('speaker'):
if s == self.currentspeaker:
continue
- if self.instance.conference.conferencesession_set.filter(speaker=s).count() >= self.instance.conference.callforpapersmaxsubmissions:
+ if self.instance.conference.conferencesession_set.filter(speaker=s).exclude(status=6).count() >= self.instance.conference.callforpapersmaxsubmissions:
raise ValidationError(
"Speaker {} already has too many submissions for this conference.".format(s)
)
if not self.instance.id:
# If this is a new submission, check the count
speaker = self.initial['speaker'][0]
- count = self.instance.conference.conferencesession_set.filter(speaker=speaker).count()
+ count = self.instance.conference.conferencesession_set.filter(speaker=speaker).exclude(status=6).count()
if count >= self.instance.conference.callforpapersmaxsubmissions:
self.add_error(
'title',
def clean_sessions(self):
s = self.cleaned_data['sessions']
if self.conference.callforpapersmaxsubmissions > 0:
- already = self.conference.conferencesession_set.filter(speaker=self.speaker).count()
+ already = self.conference.conferencesession_set.filter(speaker=self.speaker).exclude(status=6).count()
added = s.count()
if already + added > self.conference.callforpapersmaxsubmissions:
raise ValidationError('This conference allows a maximum {} submissions per speaker, and you have already submitted {}. You cannot add {} more.'.format(