Subject: [yaco-liaison-tool] Fwd: [www.ietf.org/rt #48808] special liaison coming your way

From: Alexa Morris <[email-masked]>
Date: Tue, 26 Jun 2012 11:17:04 -0700

Henrik, Emilio,

The tool will not currently support what Eliot needs -- please see below. This is a fairly urgent and important request, can it be accommodated?

Thanks,
Alexa

Begin forwarded message:

> From: "Eliot Lear via RT" <[email-masked]>
> Date: June 25, 2012 1:14:10 PM PDT
> To: "AdminCc of www.ietf.org/rt Ticket #48808":;
> Subject: [www.ietf.org/rt #48808] special liaison coming your way 
> Reply-To: [email-masked]
> 
> 
> Mon Jun 25 13:14:10 2012: Request 48808 was acted upon.
> Transaction: Ticket created by [email-masked]
>       Queue: IETF-Liaisons
>     Subject: special liaison coming your way
>       Owner: Nobody
>  Requestors: [email-masked]
>      Status: new
> Ticket <URL: https://www.ietf.org/rt/Ticket/Display.html?id=48808 >
> 
> 
> Dear Secretariat,
> 
> In the next day or two, we will need to quickly post a liaison to the
> ITU-T TSAG from BOTH the IESG AND the IAB.  I imagine this may mean a
> new entry in a table.
> 
> Thanks,
> 
> Eliot
> 
> 

----------
Alexa Morris / Executive Director / IETF
48377 Fremont Blvd., Suite 117, Fremont, CA  94538
Phone: +1.510.492.4089 / Fax: +1.510.492.4001
Email: [email-masked]

Managed by Association Management Solutions (AMS)
Forum Management, Meeting and Event Planning
www.amsl.com <http://www.amsl.com/>

---

From: "Emilio A. Sánchez López" <[email-masked]>
Date: Wed, 27 Jun 2012 10:27:35 +0200

Hi Alexa, Henrik,

    I'm afraid that is not easy as adding an entry in a table.

    You have to do some code modifications. I attach a patch to add the 
new entity. If Henrik approves the patch maybe he could apply it in trunk.

    Best,

El 26/06/12 20:17, Alexa Morris escribió:
>> From: "Eliot Lear via RT"<[email-masked]>
>> Ticket<URL: https://www.ietf.org/rt/Ticket/Display.html?id=48808>
>>
>>
>> Dear Secretariat,
>>
> www.amsl.com<http://www.amsl.com/>
>
> _______________________________________________
> yaco-liaison-tool mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/yaco-liaison-tool

-- 
Emilio A. Sánchez
[email-masked]
Index: trunk/ietf/liaisons/utilsREDESIGN.py
===================================================================
--- trunk/ietf/liaisons/utilsREDESIGN.py	(revisión: 4517)
+++ trunk/ietf/liaisons/utilsREDESIGN.py	(copia de trabajo)
@@ -124,6 +124,34 @@
         return result

+class IAB_IESG_Entity(Entity):
+
+    poc = [IABEntity.chair, IABEntity.director, FakePerson(**IETFCHAIR)]
+    cc = [FakePerson(**IAB), FakePerson(**IESG)]
+
+    def __init__(self, name, obj=None):
+        self.name = name
+        self.obj = obj
+        self.iab = IABEntity(name, obj)
+        self.iesg = IETFEntity(name, obj)
+
+    def get_from_cc(self, person):
+        return list(set(self.iab.get_from_cc(person) + self.iesg.get_from_cc(person)))
+
+    def needs_approval(self, person=None):
+        if not self.iab.needs_approval(person):
+            return False
+        if not self.iesg.needs_approval(person):
+            return False
+        return True
+
+    def can_approve(self):
+        return list(set(self.iab.can_approve() + self.iesg.can_approve()))
+
+    def full_user_list(self):
+        return list(set(self.iab.full_user_list() + self.iesg.full_user_list()))
+
+
 class AreaEntity(Entity):
 
     def get_poc(self):
@@ -274,6 +302,30 @@
         return []

+class IAB_IESG_EntityManager(EntityManager):
+
+    def __init__(self, *args, **kwargs):
+        super(IAB_IESG_EntityManager, self).__init__(*args, **kwargs)
+        self.entity = IAB_IESG_Entity(name=self.name)
+
+    def get_entity(self, pk=None):
+        return self.entity
+
+    def can_send_on_behalf(self, person):
+        if (is_iabchair(person) or
+            is_iab_executive_director(person) or
+            is_ietfchair(person)):
+            return self.get_managed_list()
+        return []
+
+    def can_approve_list(self, person):
+        if (is_iabchair(person) or
+            is_iab_executive_director(person) or
+            is_ietfchair(person)):
+            return self.get_managed_list()
+        return []
+
+
 class AreaEntityManager(EntityManager):
 
     def __init__(self, pk=None, name=None, queryset=None):
@@ -363,6 +415,7 @@
         self.managers = {'ietf': IETFEntityManager(pk='ietf', name=u'The IETF'),
                          'iesg': IETFEntityManager(pk='iesg', name=u'The IESG'),
                          'iab': IABEntityManager(pk='iab', name=u'The IAB'),
+                         'iabiesg': IAB_IESG_EntityManager(pk='iabiesg', name=u'The IESG and the IAB'),
                          'area': AreaEntityManager(pk='area', name=u'IETF Areas'),
                          'wg': WGEntityManager(pk='wg', name=u'IETF Working Groups'),
                          'sdo': SDOEntityManager(pk='sdo', name=u'Standards Development Organizations'),
@@ -390,7 +443,7 @@
     def get_all_incoming_entities(self):
         entities = []
         results = []
-        for key in ['ietf', 'iesg', 'iab']:
+        for key in ['ietf', 'iesg', 'iab', 'iabiesg']:
             results += self.managers[key].get_managed_list()
         entities.append(('Main IETF Entities', results))
         entities.append(('IETF Areas', self.managers['area'].get_managed_list()))
@@ -405,7 +458,7 @@
     def get_entities_for_person(self, person):
         entities = []
         results = []
-        for key in ['ietf', 'iesg', 'iab']:
+        for key in ['ietf', 'iesg', 'iab', 'iabiesg']:
             results += self.managers[key].can_send_on_behalf(person)
         if results:
             entities.append(('Main IETF Entities', results))
@@ -419,7 +472,7 @@
 
     def get_all_can_approve_codes(self, person):
         entities = []
-        for key in ['ietf', 'iesg', 'iab']:
+        for key in ['ietf', 'iesg', 'iab', 'iabiesg']:
             entities += self.managers[key].can_approve_list(person)
         entities += self.managers['area'].can_approve_list(person)
         entities += self.managers['wg'].can_approve_list(person)

---

From: Henrik Levkowetz <[email-masked]>
Date: Wed, 27 Jun 2012 20:57:00 +0200

Hi Emilio,

Thanks for the patch!  I didn't see it at work during the day for some
reason, just found it now that I came home.  The patch applies cleanly
and seems to do what's needed, so I'm going to apply it so Alexa can
move forward.

Best regards,

	Henrik