Improve default subject logic for importer warning emails
This commit is contained in:
		
							parent
							
								
									e2b3e91ee5
								
							
						
					
					
						commit
						ef92bec06e
					
				
					 2 changed files with 14 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -157,10 +157,16 @@ class ImporterEmail(Email):
 | 
			
		|||
    def get_handler(self, config):
 | 
			
		||||
        return load_object(self.handler_spec)(config)
 | 
			
		||||
 | 
			
		||||
    def get_default_subject(self):
 | 
			
		||||
        handler = self.get_handler(self.config)
 | 
			
		||||
        return "Changes for {} -> {}".format(
 | 
			
		||||
            handler.host_title, handler.local_title)
 | 
			
		||||
    def get_default_subject(self, **data):
 | 
			
		||||
        host_title = data.get('host_title')
 | 
			
		||||
        local_title = data.get('local_title')
 | 
			
		||||
        if not (host_title and local_title):
 | 
			
		||||
            handler = self.get_handler(self.config)
 | 
			
		||||
            if not host_title:
 | 
			
		||||
                host_title = handler.host_title
 | 
			
		||||
            if not local_title:
 | 
			
		||||
                local_title = handler.local_title
 | 
			
		||||
        return "Changes for {} -> {}".format(host_title, local_title)
 | 
			
		||||
 | 
			
		||||
    def sample_data(self, request):
 | 
			
		||||
        handler = self.get_handler(request.rattail_config)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -396,10 +396,10 @@ class Email(object):
 | 
			
		|||
            prefix = "[STAGE] {}".format(prefix)
 | 
			
		||||
        return prefix
 | 
			
		||||
 | 
			
		||||
    def get_default_subject(self):
 | 
			
		||||
    def get_default_subject(self, **data):
 | 
			
		||||
        return self.default_subject
 | 
			
		||||
 | 
			
		||||
    def get_subject_template(self):
 | 
			
		||||
    def get_subject_template(self, **data):
 | 
			
		||||
        """
 | 
			
		||||
        Returns the template to be used to build the subject.
 | 
			
		||||
        """
 | 
			
		||||
| 
						 | 
				
			
			@ -409,7 +409,7 @@ class Email(object):
 | 
			
		|||
            return template
 | 
			
		||||
 | 
			
		||||
        # or if this email defines a custom default, use that
 | 
			
		||||
        default = self.get_default_subject()
 | 
			
		||||
        default = self.get_default_subject(**data)
 | 
			
		||||
        if default != self.universal_subject:
 | 
			
		||||
            return default
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -425,7 +425,7 @@ class Email(object):
 | 
			
		|||
        :rtype: str
 | 
			
		||||
        """
 | 
			
		||||
        if template is UNSPECIFIED:
 | 
			
		||||
            template = self.get_subject_template()
 | 
			
		||||
            template = self.get_subject_template(**data)
 | 
			
		||||
        if template and render:
 | 
			
		||||
            return Template(template).render(**data)
 | 
			
		||||
        return template
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue