src/pyams_skin/table.py
changeset 180 4ab1f514b9f0
parent 116 89efe1933eb5
child 185 583ee50d8ee3
equal deleted inserted replaced
179:d381c4c035cd 180:4ab1f514b9f0
   190     modal_target = False
   190     modal_target = False
   191     checker = None
   191     checker = None
   192     permission = None
   192     permission = None
   193 
   193 
   194     def renderCell(self, item):
   194     def renderCell(self, item):
   195         if self.permission and not self.request.has_permission(self.permission, context=item):
   195         if not self.has_permission(item):
   196             return ''
   196             return ''
   197         if self.checker:
   197         if self.checker:
   198             if callable(self.checker):
   198             if callable(self.checker):
   199                 checked = self.checker(item)
   199                 checked = self.checker(item)
   200             else:
   200             else:
   210                        url=self.get_url(item),
   210                        url=self.get_url(item),
   211                        target='data-ams-target="{0}"'.format(self.target) if self.target else '',
   211                        target='data-ams-target="{0}"'.format(self.target) if self.target else '',
   212                        modal='data-toggle="modal"' if self.modal_target else '',
   212                        modal='data-toggle="modal"' if self.modal_target else '',
   213                        icon=self.get_icon(item))
   213                        icon=self.get_icon(item))
   214 
   214 
       
   215     def has_permission(self, item):
       
   216         if not self.permission:
       
   217             return True
       
   218         return self.request.has_permission(self.permission, context=item)
       
   219 
   215     def get_url(self, item):
   220     def get_url(self, item):
   216         return absolute_url(item, self.request, self.url)
   221         return absolute_url(item, self.request, self.url)
   217 
   222 
   218     def get_icon(self, item):
   223     def get_icon(self, item):
   219         return '<i class="{icon_class}"></i>'.format(icon_class=self.icon_class)
   224         return '<i class="{icon_class}"></i>'.format(icon_class=self.icon_class)