Changeset 536


Ignore:
Timestamp:
10/10/08 12:23:43 (5 years ago)
Author:
aculapov
Message:
  • permit relationships between ticket types
Location:
trunk/plugins/tickettypedsystem/ticketsystem
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/tickettypedsystem/ticketsystem/relationship.py

    r415 r536  
    173173     
    174174    @classmethod 
    175     def get_parent(cls, env, son_id, type, db=None): 
     175    def get_parent(cls, env, son_id, type=None, db=None): 
    176176        if not db: 
    177177            db = env.get_db_cnx() 
    178178             
    179179        cursor = db.cursor() 
    180         cursor.execute("SELECT parent_id " 
    181                        "FROM " + LinksModelProvider.TABLE +  
    182                        " WHERE others = %s AND type=%s", (str(son_id), type)) 
    183         row = cursor.fetchone() 
     180        if type : 
     181            cursor.execute("SELECT parent_id " 
     182                           "FROM " + LinksModelProvider.TABLE +  
     183                           " WHERE others = %s AND type=%s", (str(son_id), type)) 
     184        else : 
     185            cursor.execute("SELECT parent_id " 
     186                           "FROM " + LinksModelProvider.TABLE +  
     187                           " WHERE others = %s", str(son_id)) 
     188        rows = cursor.fetchall() 
    184189        cursor.close() 
    185         if row : 
    186             yield TypedTicket(env, int(row[0])) 
     190        if rows : 
     191            for row in rows : 
     192                yield TypedTicket(env, int(row[0])) 
    187193        else : 
    188194            yield None 
     
    268274            else : 
    269275                return [] 
     276        ret_list = [] 
    270277        for rel_type in  relations.keys(): 
    271             relations[rel_type] = [TypedTicket(self.env, int(id))  
    272                                    for id in relations[rel_type].others] 
    273         return relations 
     278            ret_list.extend([TypedTicket(self.env, int(id))  
     279                                   for id in relations[rel_type].others]) 
     280        return ret_list 
    274281     
    275282    def create_relationship(self, ticket, relation_type, to_resource): 
  • trunk/plugins/tickettypedsystem/ticketsystem/tickettypes/parentticket.py

    r520 r536  
    5555            for ticket in self.get_related_tickets(data['ticket']): 
    5656                new_data['subtickets'].append(ticket.resource) 
    57             for ticket in TicketRelationship.get_parent(self.env, data['ticket'].id, self.get_ticket_type()): 
     57            for ticket in TicketRelationship.get_parent(self.env, data['ticket'].id): 
    5858                if ticket : 
    5959                    new_data['parents'].append(ticket.resource)     
     
    124124    def get_related_tickets(self, ticket): 
    125125        rel_sys = TicketRelationshipSystem(self.env) 
    126         return rel_sys.get_related_tickets(ticket, self.get_ticket_type()) 
     126        return rel_sys.get_related_tickets(ticket) 
    127127 
    128128    def add_relation(self, ticket, to_ticket): 
     
    138138    def get_ticket_type(self): 
    139139        """It returns the ticket type name. """ 
    140         return 'checklist' 
     140        return '' 
    141141     
    142142    def get_fields(self): 
Note: See TracChangeset for help on using the changeset viewer.