# HG changeset patch # User Sverre Rabbelier # Date 1235666946 0 # Node ID 97c4a718d6f491f1f1d81404153e4eb52b83cf83 # Parent 3342ce7a495c347229ad4aa2b5bdd7b8f6718116 Remove updateOrCreateFromFields and it's uses All uses of updateOrCreateFromFields were replaced with updateOrCreateFromKeyname. This way the logic API is not as cluttered with a bunch of helper methods. Patch by: Sverre Rabbelier diff -r 3342ce7a495c -r 97c4a718d6f4 app/soc/logic/helper/notifications.py --- a/app/soc/logic/helper/notifications.py Thu Feb 26 16:48:02 2009 +0000 +++ b/app/soc/logic/helper/notifications.py Thu Feb 26 16:49:06 2009 +0000 @@ -149,10 +149,10 @@ 'scope_path' : to_user.link_id } - key_fields = model_logic.notification.logic.getKeyFieldsFromFields(fields) + key_name = model_logic.notification.logic.getKeyNameFromFields(fields) # create and put a new notification in the datastore - model_logic.notification.logic.updateOrCreateFromFields(fields, key_fields) + model_logic.notification.logic.updateOrCreateFromKeyName(fields, key_name) def sendNewNotificationMessage(notification_entity): diff -r 3342ce7a495c -r 97c4a718d6f4 app/soc/logic/models/base.py --- a/app/soc/logic/models/base.py Thu Feb 26 16:48:02 2009 +0000 +++ b/app/soc/logic/models/base.py Thu Feb 26 16:49:06 2009 +0000 @@ -402,15 +402,6 @@ return entity - def updateOrCreateFromFields(self, properties, key_fields): - """Like updateOrCreateFromKeyName, but resolves fields to a key_name first. - """ - - # attempt to retrieve the existing entity - key_name = self.getKeyNameFromFields(key_fields) - - return self.updateOrCreateFromKeyName(properties, key_name) - def isDeletable(self, entity): """Returns whether the specified entity can be deleted. diff -r 3342ce7a495c -r 97c4a718d6f4 app/soc/logic/models/club.py --- a/app/soc/logic/models/club.py Thu Feb 26 16:48:02 2009 +0000 +++ b/app/soc/logic/models/club.py Thu Feb 26 16:49:06 2009 +0000 @@ -69,8 +69,8 @@ continue properties['link_id'] = admin.link_id - key_fields = request_logic.logic.getKeyFieldsFromFields(properties) - request_logic.logic.updateOrCreateFromFields(properties, key_fields) + key_name = request_logic.logic.getKeyNameFromFields(properties) + request_logic.logic.updateOrCreateFromKeyName(properties, key_name) # set the application to completed fields = {'status' : 'completed'} diff -r 3342ce7a495c -r 97c4a718d6f4 app/soc/logic/models/organization.py --- a/app/soc/logic/models/organization.py Thu Feb 26 16:48:02 2009 +0000 +++ b/app/soc/logic/models/organization.py Thu Feb 26 16:49:06 2009 +0000 @@ -78,8 +78,8 @@ continue properties['link_id'] = admin.link_id - key_fields = request_logic.logic.getKeyFieldsFromFields(properties) - request_logic.logic.updateOrCreateFromFields(properties, key_fields) + key_name = request_logic.logic.getKeyNameFromFields(properties) + request_logic.logic.updateOrCreateFromKeyName(properties, key_name) # set the application to completed fields = {'status': 'completed'} diff -r 3342ce7a495c -r 97c4a718d6f4 app/soc/views/models/program.py --- a/app/soc/views/models/program.py Thu Feb 26 16:48:02 2009 +0000 +++ b/app/soc/views/models/program.py Thu Feb 26 16:49:06 2009 +0000 @@ -153,11 +153,12 @@ timeline_logic = program_logic.logic.TIMELINE_LOGIC[workflow] - key_fields = timeline_logic.getKeyFieldsFromFields(fields) - properties = key_fields.copy() + properties = timeline_logic.getKeyFieldsFromFields(fields) + key_name = timeline_logic.getKeyNameFromFields(properties) + properties['scope'] = fields['scope'] - timeline = timeline_logic.updateOrCreateFromFields(properties, properties) + timeline = timeline_logic.updateOrCreateFromKeyName(properties, key_name) return timeline @decorators.merge_params