Mercurial > p > roundup > code
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: |
