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):
 | 
					    def get_handler(self, config):
 | 
				
			||||||
        return load_object(self.handler_spec)(config)
 | 
					        return load_object(self.handler_spec)(config)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_default_subject(self):
 | 
					    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)
 | 
					            handler = self.get_handler(self.config)
 | 
				
			||||||
        return "Changes for {} -> {}".format(
 | 
					            if not host_title:
 | 
				
			||||||
            handler.host_title, handler.local_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):
 | 
					    def sample_data(self, request):
 | 
				
			||||||
        handler = self.get_handler(request.rattail_config)
 | 
					        handler = self.get_handler(request.rattail_config)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -396,10 +396,10 @@ class Email(object):
 | 
				
			||||||
            prefix = "[STAGE] {}".format(prefix)
 | 
					            prefix = "[STAGE] {}".format(prefix)
 | 
				
			||||||
        return prefix
 | 
					        return prefix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_default_subject(self):
 | 
					    def get_default_subject(self, **data):
 | 
				
			||||||
        return self.default_subject
 | 
					        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.
 | 
					        Returns the template to be used to build the subject.
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
| 
						 | 
					@ -409,7 +409,7 @@ class Email(object):
 | 
				
			||||||
            return template
 | 
					            return template
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # or if this email defines a custom default, use that
 | 
					        # 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:
 | 
					        if default != self.universal_subject:
 | 
				
			||||||
            return default
 | 
					            return default
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -425,7 +425,7 @@ class Email(object):
 | 
				
			||||||
        :rtype: str
 | 
					        :rtype: str
 | 
				
			||||||
        """
 | 
					        """
 | 
				
			||||||
        if template is UNSPECIFIED:
 | 
					        if template is UNSPECIFIED:
 | 
				
			||||||
            template = self.get_subject_template()
 | 
					            template = self.get_subject_template(**data)
 | 
				
			||||||
        if template and render:
 | 
					        if template and render:
 | 
				
			||||||
            return Template(template).render(**data)
 | 
					            return Template(template).render(**data)
 | 
				
			||||||
        return template
 | 
					        return template
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue