Changeset 1104 in main


Ignore:
Timestamp:
05/21/12 10:09:13 (7 years ago)
Author:
pcosquer
Message:

fixes #121

Location:
branches/1.0/openPLM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/1.0/openPLM/plmapp/tests/views.py

    r1062 r1104  
    10081008        self.assertEqual(2, len(list(response.context["children"]))) 
    10091009        form = response.context["display_form"] 
     1010 
     1011    def test_children_last_level(self): 
     1012        """ 
     1013        Tests the children view, shows only the last level. 
     1014 
     1015        self 
     1016         -> c1 
     1017             -> c4 
     1018                 -> c6 
     1019             -> c5 
     1020         -> c2 
     1021         -> c3 
     1022             -> c7 
     1023             -> c8 
     1024 
     1025        last level: (c4 -> c6), (c1 -> c5), (self -> c2), (c3 -> c7), (c3 -> c8) 
     1026        """ 
     1027        child1 = PartController.create("c1", "Part", "a", self.user, self.DATA) 
     1028        ls1 = self.controller.add_child(child1, 10 , 20) 
     1029        child2 = PartController.create("c2", "Part", "a", self.user, self.DATA) 
     1030        ls2 = self.controller.add_child(child2, 10, 21) 
     1031        child3 = PartController.create("c3", "Part", "a", self.user, self.DATA) 
     1032        self.controller.add_child(child3, 10, 22) 
     1033        child4 = PartController.create("c4", "Part", "a", self.user, self.DATA) 
     1034        l14 = child1.add_child(child4, 10, 23) 
     1035        child5 = PartController.create("c5", "Part", "a", self.user, self.DATA) 
     1036        l15 = child1.add_child(child5, 10, 24) 
     1037        child6 = PartController.create("c6", "Part", "a", self.user, self.DATA) 
     1038        l46 = child4.add_child(child6, 10, 25) 
     1039        child7 = PartController.create("c7", "Part", "a", self.user, self.DATA) 
     1040        l37 = child3.add_child(child7, 10, 26) 
     1041        child8 = PartController.create("c8", "Part", "a", self.user, self.DATA) 
     1042        l38 = child3.add_child(child8, 10, 27) 
     1043        response = self.get(self.base_url + "BOM-child/", 
     1044                {"level":"last", "state" : "all"}, 
     1045                page="BOM-child") 
     1046        children = response.context["children"] 
     1047        self.assertEqual(5, len(children)) 
     1048        self.assertEqual([l46, l15, ls2, l37, l38], [c.link for c in children]) 
    10101049 
    10111050    def test_add_child(self): 
  • branches/1.0/openPLM/plmapp/views/main.py

    r1039 r1104  
    681681    children = obj.get_children(max_level, date=date, only_official=only_official) 
    682682    if level == "last" and children: 
    683         maximum = max(children, key=attrgetter("level")).level 
    684         children = (c for c in children if c.level == maximum) 
     683        previous_level = 0 
     684        max_children = [] 
     685        for c in children: 
     686            if max_children and c.level > previous_level: 
     687                del max_children[-1] 
     688            max_children.append(c) 
     689            previous_level = c.level 
     690        children = max_children 
    685691    children = list(children) 
    686692    # pcle 
     
    710716                'decomposition_msg' : decomposition_msg, 
    711717                'decomposable_children' : decomposable_children, 
    712                 "display_form" : display_form, }) 
     718                "display_form" : display_form, 
     719                'level' : level, 
     720                }) 
    713721    return r2r('parts/bom.html', ctx, request) 
    714722 
     
    810818    parents = obj.get_parents(max_level, date=date, only_official=only_official) 
    811819    if level == "last" and parents: 
    812         maximum = max(parents, key=attrgetter("level")).level 
    813         parents = (c for c in parents if c.level == maximum) 
     820        previous_level = 0 
     821        max_parents = [] 
     822        for c in parents: 
     823            if max_parents and c.level > previous_level: 
     824                del max_parents[-1] 
     825            max_parents.append(c) 
     826            previous_level = c.level 
     827        parents = max_parents 
    814828    ctx.update({'current_page':'parents', 
    815829                'parents' :  parents, 
  • branches/1.0/openPLM/templates/parts/bom.html

    r997 r1104  
    4848 
    4949            <tr class="Content">  
    50                 <td class="Content expander open level{{c.level}}" style="padding-left:{{c.level|add:"-1"}}0px;" > 
    51                 {% if forloop.last %} 
     50                <td class="Content {% if level != "last" %} expander open{% endif%} level{{c.level}}" style="padding-left:{{c.level|add:"-1"}}0px;" > 
     51                {% if forloop.last or level == "last" %} 
    5252                    <span class="not_expander">{{c.level}}</span> 
    5353                {% else %} 
Note: See TracChangeset for help on using the changeset viewer.