def stepTestAcquisitionRamSessionStorage(self, sequence=None, sequence_list=None, **kw): from Products.ERP5Type.Document import newTempOrder portal_sessions = self.portal.portal_sessions session = portal_sessions.newContent( self.session_id, attr_1=newTempOrder(portal_sessions, "1"), attr_2=newTempOrder(portal_sessions, "2") ) ## check temp (RAM based) attributes stored in session for i in range(1, 3): attr_name = "attr_%s" % i self.assert_(attr_name in session.keys()) attr = session[attr_name] self.assert_(str(i), attr.getId()) self.assert_(0 == len(attr.objectIds()))
def stepTestAcquisitionRamSessionStorage(self, sequence=None, \ sequence_list=None, **kw): from Products.ERP5Type.Document import newTempOrder portal_sessions = self.portal.portal_sessions session = portal_sessions.newContent( self.session_id, \ attr_1 = newTempOrder(portal_sessions, '1'), \ attr_2 = newTempOrder(portal_sessions, '2'),) ## check temp (RAM based) attributes stored in session for i in range(1, 3): attr_name = 'attr_%s' % i self.assert_(attr_name in session.keys()) attr = session[attr_name] self.assert_(str(i), attr.getId()) self.assert_(0 == len(attr.objectIds()))
from DateTime import DateTime request = context.REQUEST expire_timeout_days = 90 session_id = request.get('session_id', None) portal_sessions = context.portal_sessions if session_id is None: ## first call so generate session_id and send back via cookie now = DateTime() session_id = context.Base_generateSessionID(max_long=20) request.RESPONSE.setCookie('session_id', session_id, expires=(now +expire_timeout_days).fCommon(), path='/') if action=='reset': ## reset cart portal_sessions.manage_delObjects(session_id) else: ## take shopping cart for this customer shopping_cart_id = 'shopping_cart' session = portal_sessions[session_id] if not shopping_cart_id in session.keys(): from Products.ERP5Type.Document import newTempOrder web_site = context.getWebSiteValue() shopping_cart = newTempOrder(portal_sessions, shopping_cart_id) shopping_cart.setPriceCurrency(web_site.WebSite_getShoppingCartDefaultCurrency().getRelativeUrl()) session[shopping_cart_id] = shopping_cart ## return just a part of session for shopping cart shopping_cart = session[shopping_cart_id] return shopping_cart
session_id = request.get('session_id', None) portal_sessions = context.portal_sessions if session_id is None: ## first call so generate session_id and send back via cookie now = DateTime() session_id = context.Base_generateSessionID(max_long=20) request.RESPONSE.setCookie('session_id', session_id, expires=(now + expire_timeout_days).fCommon(), path='/') if action == 'reset': ## reset cart portal_sessions.manage_delObjects(session_id) else: ## take shopping cart for this customer shopping_cart_id = 'shopping_cart' session = portal_sessions[session_id] if not shopping_cart_id in session.keys(): from Products.ERP5Type.Document import newTempOrder web_site = context.getWebSiteValue() shopping_cart = newTempOrder(portal_sessions, shopping_cart_id) shopping_cart.setPriceCurrency( web_site.WebSite_getShoppingCartDefaultCurrency().getRelativeUrl()) session[shopping_cart_id] = shopping_cart ## return just a part of session for shopping cart shopping_cart = session[shopping_cart_id] return shopping_cart