comparison roundup/roundupdb.py @ 5063:2840a9e86ef2

New Link/Multilink attribute 'msg_header_property' .. can be used to configure additional headers in outgoing emails.
author Ralf Schlatterbeck <rsc@runtux.com>
date Tue, 10 May 2016 16:26:24 +0200
parents 28a72f125a14
children 786f0581bc90
comparison
equal deleted inserted replaced
5062:2ac11cc397eb 5063:2840a9e86ef2
536 # a class that has a name attribute 536 # a class that has a name attribute
537 for propname, prop in self.getprops().items(): 537 for propname, prop in self.getprops().items():
538 if not isinstance(prop, (hyperdb.Link, hyperdb.Multilink)): 538 if not isinstance(prop, (hyperdb.Link, hyperdb.Multilink)):
539 continue 539 continue
540 cl = self.db.getclass(prop.classname) 540 cl = self.db.getclass(prop.classname)
541 if not 'name' in cl.getprops(): 541 label = None
542 if 'name' in cl.getprops():
543 label = 'name'
544 if prop.msg_header_property in cl.getprops():
545 label = prop.msg_header_property
546 if not label:
542 continue 547 continue
543 if isinstance(prop, hyperdb.Link): 548 if isinstance(prop, hyperdb.Link):
544 value = self.get(issueid, propname) 549 value = self.get(issueid, propname)
545 if value is None: 550 if value is None:
546 continue 551 continue
547 values = [value] 552 values = [value]
548 else: 553 else:
549 values = self.get(issueid, propname) 554 values = self.get(issueid, propname)
550 if not values: 555 if not values:
551 continue 556 continue
552 values = [cl.get(v, 'name') for v in values] 557 values = [cl.get(v, label) for v in values]
553 values = ', '.join(values) 558 values = ', '.join(values)
554 header = "X-Roundup-%s-%s"%(self.classname, propname) 559 header = "X-Roundup-%s-%s"%(self.classname, propname)
555 try: 560 try:
556 message[header] = values.encode('ascii') 561 message[header] = values.encode('ascii')
557 except UnicodeError: 562 except UnicodeError:

Roundup Issue Tracker: http://roundup-tracker.org/