Fix some bugs etc. with batch views and templates
This commit is contained in:
		
							parent
							
								
									f97b26506f
								
							
						
					
					
						commit
						37be76cc84
					
				
					 3 changed files with 16 additions and 9 deletions
				
			
		| 
						 | 
					@ -46,7 +46,7 @@
 | 
				
			||||||
<%def name="leading_buttons()"></%def>
 | 
					<%def name="leading_buttons()"></%def>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<%def name="refresh_button()">
 | 
					<%def name="refresh_button()">
 | 
				
			||||||
  % if master.viewing and master.batch_refreshable(batch):
 | 
					  % if master.viewing and master.batch_refreshable(batch) and request.has_perm('{}.refresh'.format(permission_prefix)):
 | 
				
			||||||
      <button type="button" id="refresh-data">Refresh data</button>
 | 
					      <button type="button" id="refresh-data">Refresh data</button>
 | 
				
			||||||
  % endif
 | 
					  % endif
 | 
				
			||||||
</%def>
 | 
					</%def>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -237,12 +237,13 @@ class BatchMasterView(MasterView):
 | 
				
			||||||
    def save_create_form(self, form):
 | 
					    def save_create_form(self, form):
 | 
				
			||||||
        self.before_create(form)
 | 
					        self.before_create(form)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # current user is batch creator
 | 
				
			||||||
 | 
					        creator = self.request.user or self.late_login_user()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # transfer form data to batch instance
 | 
					        # transfer form data to batch instance
 | 
				
			||||||
        form.fieldset.sync()
 | 
					        form.fieldset.sync()
 | 
				
			||||||
        batch = form.fieldset.model
 | 
					        batch = form.fieldset.model
 | 
				
			||||||
 | 
					        batch.created_by = creator
 | 
				
			||||||
        # current user is batch creator
 | 
					 | 
				
			||||||
        batch.created_by = self.request.user or self.late_login_user()
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # destroy initial batch and re-make using handler
 | 
					        # destroy initial batch and re-make using handler
 | 
				
			||||||
        kwargs = self.get_batch_kwargs(batch)
 | 
					        kwargs = self.get_batch_kwargs(batch)
 | 
				
			||||||
| 
						 | 
					@ -358,7 +359,7 @@ class BatchMasterView(MasterView):
 | 
				
			||||||
                return HTML.tag('p', c=link)
 | 
					                return HTML.tag('p', c=link)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def make_batch_row_grid_tools(self, batch):
 | 
					    def make_batch_row_grid_tools(self, batch):
 | 
				
			||||||
        if not batch.executed:
 | 
					        if not batch.executed and self.request.has_perm('{}.edit'.format(self.get_permission_prefix())):
 | 
				
			||||||
            url = self.request.route_url('{}.delete_rows'.format(self.get_route_prefix()), uuid=batch.uuid)
 | 
					            url = self.request.route_url('{}.delete_rows'.format(self.get_route_prefix()), uuid=batch.uuid)
 | 
				
			||||||
            return HTML.tag('p', c=tags.link_to("Delete all rows matching current search", url))
 | 
					            return HTML.tag('p', c=tags.link_to("Delete all rows matching current search", url))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -831,10 +832,12 @@ class BatchMasterView(MasterView):
 | 
				
			||||||
        config.add_view(cls, attr='prefill', route_name='{}.prefill'.format(route_prefix),
 | 
					        config.add_view(cls, attr='prefill', route_name='{}.prefill'.format(route_prefix),
 | 
				
			||||||
                        permission='{}.create'.format(permission_prefix))
 | 
					                        permission='{}.create'.format(permission_prefix))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # refresh rows data
 | 
					        # refresh batch data
 | 
				
			||||||
        config.add_route('{}.refresh'.format(route_prefix), '{}/{{uuid}}/refresh'.format(url_prefix))
 | 
					        config.add_route('{}.refresh'.format(route_prefix), '{}/{{uuid}}/refresh'.format(url_prefix))
 | 
				
			||||||
        config.add_view(cls, attr='refresh', route_name='{}.refresh'.format(route_prefix),
 | 
					        config.add_view(cls, attr='refresh', route_name='{}.refresh'.format(route_prefix),
 | 
				
			||||||
                        permission='{}.create'.format(permission_prefix))
 | 
					                        permission='{}.refresh'.format(permission_prefix))
 | 
				
			||||||
 | 
					        config.add_tailbone_permission(permission_prefix, '{}.refresh'.format(permission_prefix),
 | 
				
			||||||
 | 
					                                       "Refresh data for {}".format(model_title))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # bulk delete rows
 | 
					        # bulk delete rows
 | 
				
			||||||
        config.add_route('{}.delete_rows'.format(route_prefix), '{}/{{uuid}}/rows/delete'.format(url_prefix))
 | 
					        config.add_route('{}.delete_rows'.format(route_prefix), '{}/{{uuid}}/rows/delete'.format(url_prefix))
 | 
				
			||||||
| 
						 | 
					@ -927,7 +930,11 @@ class FileBatchMasterView(BatchMasterView):
 | 
				
			||||||
        Return a kwargs dict for use with ``self.handler.make_batch()``, using
 | 
					        Return a kwargs dict for use with ``self.handler.make_batch()``, using
 | 
				
			||||||
        the given batch as a template.
 | 
					        the given batch as a template.
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        kwargs = {'created_by': batch.created_by}
 | 
					        kwargs = {}
 | 
				
			||||||
 | 
					        if batch.created_by:
 | 
				
			||||||
 | 
					            kwargs['created_by'] = batch.created_by
 | 
				
			||||||
 | 
					        elif batch.created_by_uuid:
 | 
				
			||||||
 | 
					            kwargs['created_by_uuid'] = batch.created_by_uuid
 | 
				
			||||||
        if hasattr(batch, 'filename'):
 | 
					        if hasattr(batch, 'filename'):
 | 
				
			||||||
            kwargs['filename'] = batch.filename
 | 
					            kwargs['filename'] = batch.filename
 | 
				
			||||||
        return kwargs
 | 
					        return kwargs
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -284,7 +284,7 @@ class MasterView(View):
 | 
				
			||||||
                actions.append(grids.GridAction('edit', icon='pencil', url=self.row_edit_action_url))
 | 
					                actions.append(grids.GridAction('edit', icon='pencil', url=self.row_edit_action_url))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # delete action
 | 
					            # delete action
 | 
				
			||||||
            if self.rows_deletable:
 | 
					            if self.rows_deletable and self.request.has_perm('{}.delete_row'.format(permission_prefix)):
 | 
				
			||||||
                actions.append(grids.GridAction('delete', icon='trash', url=self.row_delete_action_url))
 | 
					                actions.append(grids.GridAction('delete', icon='trash', url=self.row_delete_action_url))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            defaults['main_actions'] = actions
 | 
					            defaults['main_actions'] = actions
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue