Changeset 1105 in main


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

merge commit [1104]

Location:
trunk/openPLM
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM

  • trunk/openPLM/plmapp/tests/views.py

    r1062 r1105  
    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): 
  • trunk/openPLM/plmapp/views/main.py

    r1103 r1105  
    686686    children = obj.get_children(max_level, date=date, only_official=only_official) 
    687687    if level == "last" and children: 
    688         maximum = max(children, key=attrgetter("level")).level 
    689         children = (c for c in children if c.level == maximum) 
     688        previous_level = 0 
     689        max_children = [] 
     690        for c in children: 
     691            if max_children and c.level > previous_level: 
     692                del max_children[-1] 
     693            max_children.append(c) 
     694            previous_level = c.level 
     695        children = max_children 
    690696    children = list(children) 
    691697    # pcle 
     
    715721                'decomposition_msg' : decomposition_msg, 
    716722                'decomposable_children' : decomposable_children, 
    717                 "display_form" : display_form, }) 
     723                "display_form" : display_form, 
     724                'level' : level, 
     725                }) 
    718726    return r2r('parts/bom.html', ctx, request) 
    719727 
     
    815823    parents = obj.get_parents(max_level, date=date, only_official=only_official) 
    816824    if level == "last" and parents: 
    817         maximum = max(parents, key=attrgetter("level")).level 
    818         parents = (c for c in parents if c.level == maximum) 
     825        previous_level = 0 
     826        max_parents = [] 
     827        for c in parents: 
     828            if max_parents and c.level > previous_level: 
     829                del max_parents[-1] 
     830            max_parents.append(c) 
     831            previous_level = c.level 
     832        parents = max_parents 
    819833    ctx.update({'current_page':'parents', 
    820834                'parents' :  parents, 
  • trunk/openPLM/templates/parts/bom.html

    r1088 r1105  
    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.