web/views/actions.py
changeset 3451 6b46d73823f5
parent 3377 dd9d292b6a6d
child 3476 6e927b729ae1
--- a/web/views/actions.py	Wed Sep 23 19:26:38 2009 +0200
+++ b/web/views/actions.py	Wed Sep 23 19:40:19 2009 +0200
@@ -48,7 +48,7 @@
 def view_is_not_default_view(cls, req, rset=None, **kwargs):
     # interesting if it propose another view than the current one
     vid = req.form.get('vid')
-    if vid and vid != vid_from_rset(req, rset, cls.schema):
+    if vid and vid != vid_from_rset(req, rset, req.vreg.schema):
         return 1
     return 0
 
@@ -61,7 +61,7 @@
         select = rqlst.children[0]
         if len(select.defined_vars) == 1 and len(select.solutions) == 1:
             rset._searched_etype = select.solutions[0].itervalues().next()
-            eschema = cls.schema.eschema(rset._searched_etype)
+            eschema = req.schema.eschema(rset._searched_etype)
             if not (eschema.is_final() or eschema.is_subobject(strict=True)) \
                    and eschema.has_perm(req, 'add'):
                 return 1
@@ -82,7 +82,7 @@
     order = 0
 
     def url(self):
-        return linksearch_select_url(self.req, self.rset)
+        return linksearch_select_url(self._cw, self.cw_rset)
 
 
 class CancelSelectAction(Action):
@@ -94,9 +94,9 @@
     order = 10
 
     def url(self):
-        target, eid, r_type, searched_type = self.req.search_state[1]
-        return self.build_url(str(eid),
-                              vid='edition', __mode='normal')
+        target, eid, r_type, searched_type = self._cw.search_state[1]
+        return self._cw.build_url(str(eid),
+                                  vid='edition', __mode='normal')
 
 
 class ViewAction(Action):
@@ -111,11 +111,11 @@
     order = 0
 
     def url(self):
-        params = self.req.form.copy()
+        params = self._cw.form.copy()
         for param in ('vid', '__message') + controller.NAV_FORM_PARAMETERS:
             params.pop(param, None)
-        return self.build_url(self.req.relative_path(includeparams=False),
-                              **params)
+        return self._cw.build_url(self._cw.relative_path(includeparams=False),
+                                  **params)
 
 
 class ModifyAction(Action):
@@ -129,7 +129,7 @@
     order = 10
 
     def url(self):
-        entity = self.rset.get_entity(self.row or 0, self.col or 0)
+        entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0)
         return entity.absolute_url(vid='edition')
 
 
@@ -144,7 +144,7 @@
     order = 10
 
     def url(self):
-        return self.build_url('view', rql=self.rset.rql, vid='muledit')
+        return self._cw.build_url('view', rql=self.cw_rset.rql, vid='muledit')
 
 
 # generic "more" actions #######################################################
@@ -167,7 +167,7 @@
         return super(ManagePermissionsAction, cls).__registered__(vreg)
 
     def url(self):
-        return self.rset.get_entity(self.row or 0, self.col or 0).absolute_url(vid='security')
+        return self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0).absolute_url(vid='security')
 
 
 class DeleteAction(Action):
@@ -179,10 +179,10 @@
     order = 20
 
     def url(self):
-        if len(self.rset) == 1:
-            entity = self.rset.get_entity(self.row or 0, self.col or 0)
-            return self.build_url(entity.rest_path(), vid='deleteconf')
-        return self.build_url(rql=self.rset.printable_rql(), vid='deleteconf')
+        if len(self.cw_rset) == 1:
+            entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0)
+            return self._cw.build_url(entity.rest_path(), vid='deleteconf')
+        return self._cw.build_url(rql=self.cw_rset.printable_rql(), vid='deleteconf')
 
 
 class CopyAction(Action):
@@ -194,7 +194,7 @@
     order = 30
 
     def url(self):
-        entity = self.rset.get_entity(self.row or 0, self.col or 0)
+        entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0)
         return entity.absolute_url(vid='copy')
 
 
@@ -213,16 +213,16 @@
 
     @property
     def rsettype(self):
-        if self.rset:
-            return self.rset.description[0][0]
-        return self.rset._searched_etype
+        if self.cw_rset:
+            return self.cw_rset.description[0][0]
+        return self.cw_rset._searched_etype
 
     @property
     def title(self):
-        return self.req.__('add a %s' % self.rsettype) # generated msgid
+        return self._cw.__('add a %s' % self.rsettype) # generated msgid
 
     def url(self):
-        return self.build_url('add/%s' % self.rsettype)
+        return self._cw.build_url('add/%s' % self.rsettype)
 
 
 class AddRelatedActions(Action):
@@ -236,11 +236,11 @@
     def fill_menu(self, box, menu):
         # when there is only one item in the sub-menu, replace the sub-menu by
         # item's title prefixed by 'add'
-        menu.label_prefix = self.req._('add')
+        menu.label_prefix = self._cw._('add')
         super(AddRelatedActions, self).fill_menu(box, menu)
 
     def actual_actions(self):
-        entity = self.rset.get_entity(self.row or 0, self.col or 0)
+        entity = self.cw_rset.get_entity(self.cw_row or 0, self.cw_col or 0)
         eschema = entity.e_schema
         for rschema, teschema, x in self.add_related_schemas(entity):
             if x == 'subject':
@@ -249,7 +249,7 @@
             else:
                 label = 'add %s %s %s %s' % (teschema, rschema, eschema, x)
                 url = self.linkto_url(entity, rschema, teschema, 'subject')
-            yield self.build_action(self.req._(label), url)
+            yield self.build_action(self._cw._(label), url)
 
     def add_related_schemas(self, entity):
         """this is actually used ui method to generate 'addrelated' actions from
@@ -260,7 +260,7 @@
         them by using uicfg.actionbox_appearsin_addmenu
         """
         appearsin_addmenu = uicfg.actionbox_appearsin_addmenu
-        req = self.req
+        req = self._cw
         eschema = entity.e_schema
         for role, rschemas in (('subject', eschema.subject_relations()),
                                ('object', eschema.object_relations())):
@@ -284,10 +284,10 @@
                         yield rschema, teschema, role
 
     def linkto_url(self, entity, rtype, etype, target):
-        return self.build_url('add/%s' % etype,
-                              __linkto='%s:%s:%s' % (rtype, entity.eid, target),
-                              __redirectpath=entity.rest_path(), # should not be url quoted!
-                              __redirectvid=self.req.form.get('vid', ''))
+        return self._cw.build_url('add/%s' % etype,
+                                  __linkto='%s:%s:%s' % (rtype, entity.eid, target),
+                                  __redirectpath=entity.rest_path(), # should not be url quoted!
+                                  __redirectvid=self._cw.form.get('vid', ''))
 
 
 # logged user actions #########################################################
@@ -301,7 +301,7 @@
     order = 10
 
     def url(self):
-        return self.build_url(self.id)
+        return self._cw.build_url(self.__regid__)
 
 
 class UserInfoAction(Action):
@@ -313,7 +313,7 @@
     order = 20
 
     def url(self):
-        return self.build_url('cwuser/%s'%self.req.user.login, vid='edition')
+        return self._cw.build_url('cwuser/%s'%self._cw.user.login, vid='edition')
 
 
 class LogoutAction(Action):
@@ -325,7 +325,7 @@
     order = 30
 
     def url(self):
-        return self.build_url(self.id)
+        return self._cw.build_url(self.__regid__)
 
 
 # site actions ################################################################
@@ -337,7 +337,7 @@
     category = 'siteactions'
 
     def url(self):
-        return self.build_url(self.id)
+        return self._cw.build_url(self.__regid__)
 
 
 class SiteConfigurationAction(ManagersAction):