diff -r 63d7f170b63c -r 892877b7db07 app/soc/logic/cleaning.py --- a/app/soc/logic/cleaning.py Thu Jan 08 21:23:33 2009 +0000 +++ b/app/soc/logic/cleaning.py Thu Jan 08 21:23:42 2009 +0000 @@ -26,6 +26,7 @@ from django import forms from soc.logic import validate +from soc.logic.models import user as user_logic def clean_new_link_id(logic): @@ -56,6 +57,26 @@ return link_id +def clean_existing_user(field_name): + """Check if the field_name field is a valid user. + """ + + def wrapped(self): + link_id = self.cleaned_data.get(field_name).lower() + + if not validate.isLinkIdFormatValid(link_id): + raise forms.ValidationError("This link ID is in wrong format.") + + user_entity = user_logic.logic.getForFields({'link_id' : link_id}, unique=True) + + if not user_entity: + # user does not exist + raise forms.ValidationError("This user does not exist") + + return user_entity + return wrapped + + def clean_feed_url(self): feed_url = self.cleaned_data.get('feed_url')