Changeset 312 in main


Ignore:
Timestamp:
09/22/11 07:58:59 (8 years ago)
Author:
pcosquer
Message:

refactor

Location:
trunk/openPLM/plmapp
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/plmapp/base_views.py

    r311 r312  
    106106    return get_controller(obj.type)(obj, user) 
    107107 
     108 
     109def get_obj_from_form(form, user): 
     110    u""" 
     111    Returns an adequate controller for the object identify by form. 
     112    The returned controller is instanciate with *user* as the user 
     113    who modify the object. 
     114 
     115    :param form: a valid :class:`.PLMObjectForm` 
     116    :param user: a :class:`.django.contrib.auth.models.User` 
     117    :return: a subinstance of a :class:`.PLMObjectController` 
     118    """ 
     119 
     120    type_ = form.cleaned_data["type"] 
     121    if type_ == "User": 
     122        reference = form.cleaned_data["username"] 
     123        revision = "-" 
     124    else: 
     125        reference = form.cleaned_data["reference"] 
     126        revision = form.cleaned_data["revision"] 
     127    return get_obj(type_, reference, revision, user) 
     128 
    108129def object_to_dict(plmobject): 
    109130    """ 
  • trunk/openPLM/plmapp/forms.py

    r304 r312  
    3535from openPLM.plmapp.user_controller import UserController 
    3636from openPLM.plmapp.widgets import JQueryAutoComplete 
     37 
     38class PLMObjectForm(forms.Form): 
     39    u""" 
     40    A formulaire that identifies a :class:`PLMObject`. 
     41    """ 
     42 
     43    type = forms.CharField() 
     44    reference = forms.CharField() 
     45    revision = forms.CharField() 
     46 
    3747 
    3848def _clean_reference(self): 
     
    202212get_search_form.cache = {}     
    203213       
    204 class AddChildForm(forms.Form): 
    205     type = forms.CharField() 
    206     reference = forms.CharField() 
    207     revision = forms.CharField() 
     214class AddChildForm(PLMObjectForm): 
    208215    quantity = forms.FloatField() 
    209216    order = forms.IntegerField() 
     
    244251    clean_revision = _clean_revision 
    245252     
    246 class AddRelPartForm(forms.Form): 
    247     type = forms.CharField() 
    248     reference = forms.CharField() 
    249     revision = forms.CharField() 
     253class AddRelPartForm(PLMObjectForm): 
     254    pass 
    250255     
    251256class ModifyRelPartForm(forms.ModelForm): 
     
    289294    return formset 
    290295 
    291 class AddDocCadForm(forms.Form): 
    292     type = forms.CharField() 
    293     reference = forms.CharField() 
    294     revision = forms.CharField() 
     296class AddDocCadForm(PLMObjectForm): 
     297    pass 
    295298     
    296299class ModifyDocCadForm(forms.ModelForm): 
  • trunk/openPLM/plmapp/views.py

    r311 r312  
    7373from openPLM.plmapp.forms import * 
    7474from openPLM.plmapp.navigate import NavigationGraph 
    75 from openPLM.plmapp.base_views import get_obj, get_obj_by_id, json_view 
     75from openPLM.plmapp.base_views import get_obj, get_obj_by_id, get_obj_from_form, \ 
     76        json_view 
    7677 
    7778 
     
    488489        add_child_form = AddChildForm(request.POST) 
    489490        if add_child_form.is_valid(): 
    490             child_obj = get_obj(add_child_form.cleaned_data["type"], \ 
    491                         add_child_form.cleaned_data["reference"], \ 
    492                         add_child_form.cleaned_data["revision"], 
    493                         request.user) 
    494             obj.add_child(child_obj, \ 
    495                             add_child_form.cleaned_data["quantity"], \ 
    496                             add_child_form.cleaned_data["order"]) 
     491            child_obj = get_obj_from_form(add_child_form, request.user) 
     492            obj.add_child(child_obj, 
     493                          add_child_form.cleaned_data["quantity"], 
     494                          add_child_form.cleaned_data["order"]) 
    497495            ctx.update({'add_child_form': add_child_form, }) 
    498496            return HttpResponseRedirect(obj.plmobject_url + "BOM-child/")  
     
    603601        add_doc_cad_form = AddDocCadForm(request.POST) 
    604602        if add_doc_cad_form.is_valid(): 
    605             doc_cad_obj = get_obj(add_doc_cad_form.cleaned_data["type"], \ 
    606                         add_doc_cad_form.cleaned_data["reference"], \ 
    607                         add_doc_cad_form.cleaned_data["revision"],\ 
    608                         request.user) 
     603            doc_cad_obj = get_obj_from_form(add_doc_cad_form, request.user) 
    609604            obj.attach_to_document(doc_cad_obj) 
    610605            ctx.update({'add_doc_cad_form': add_doc_cad_form, }) 
     
    676671        add_rel_part_form = AddRelPartForm(request.POST) 
    677672        if add_rel_part_form.is_valid(): 
    678             part_obj = get_obj(add_rel_part_form.cleaned_data["type"], \ 
    679                         add_rel_part_form.cleaned_data["reference"], \ 
    680                         add_rel_part_form.cleaned_data["revision"], request.user) 
     673            part_obj = get_obj_from_form(add_rel_part_form, request.user) 
    681674            obj.attach_to_part(part_obj) 
    682675            ctx.update({'add_rel_part_form': add_rel_part_form, }) 
     
    709702    """ 
    710703    obj, ctx, request_dict = get_generic_data(request, obj_type, obj_ref, obj_revi) 
    711      
    712704 
    713705    if not hasattr(obj, "files"): 
     
    814806        if replace_management_form.is_valid(): 
    815807            if replace_management_form.cleaned_data["type"]=="User": 
    816                 user_obj = get_obj(\ 
    817                                     replace_management_form.cleaned_data["type"],\ 
    818                                     replace_management_form.cleaned_data["username"],\ 
    819                                     "-",\ 
    820                                     request.user) 
     808                user_obj = get_obj_from_form(replace_management_form, request.user) 
    821809                obj.set_role(user_obj.object, link.role) 
    822810                if link.role=='notified': 
     
    859847        if add_management_form.is_valid(): 
    860848            if add_management_form.cleaned_data["type"]=="User": 
    861                 user_obj = get_obj(\ 
    862                                     add_management_form.cleaned_data["type"],\ 
    863                                     add_management_form.cleaned_data["username"],\ 
    864                                     "-",\ 
    865                                     request.user) 
     849                user_obj = get_obj_from_form(add_management_form, request.user) 
    866850                obj.set_role(user_obj.object, "notified") 
    867851                return HttpResponseRedirect("..") 
     
    11791163        if delegation_form.is_valid(): 
    11801164            if delegation_form.cleaned_data["type"] == "User": 
    1181                 user_obj = get_obj("User", 
    1182                                    delegation_form.cleaned_data["username"], 
    1183                                    "-", 
    1184                                    request.user) 
     1165                user_obj = get_obj_from_form(delegation_form, request.user) 
    11851166                if role == "notified" or role == "owner": 
    11861167                    obj.delegate(user_obj.object, role) 
     
    12361217        if delegation_form.is_valid(): 
    12371218            if delegation_form.cleaned_data["type"]=="User": 
    1238                 user_obj = get_obj(\ 
    1239                                     add_management_form.cleaned_data["type"],\ 
    1240                                     add_management_form.cleaned_data["username"],\ 
    1241                                     "-",\ 
    1242                                     request.user) 
     1219                user_obj = get_obj_from_form(delegation_form, request.user) 
    12431220                if role=="notified": 
    12441221                    obj.set_role(user_obj.object, "notified") 
     
    15101487        form = AddChildForm(request.POST) 
    15111488        if form.is_valid(): 
    1512             child = get_obj(form.cleaned_data["type"], 
    1513                                 form.cleaned_data["reference"], 
    1514                                 form.cleaned_data["revision"], 
    1515                                 request.user) 
     1489            child = get_obj_from_form(form, request.user) 
    15161490            part.add_child(child, form.cleaned_data["quantity"],  
    15171491                           form.cleaned_data["order"]) 
     
    15411515        form = AddRelPartForm(request.GET) 
    15421516        if form.is_valid(): 
    1543             child = get_obj(form.cleaned_data["type"], 
    1544                                 form.cleaned_data["reference"], 
    1545                                 form.cleaned_data["revision"], 
    1546                                 request.user) 
     1517            child = get_obj_from_form(form, request.user) 
    15471518            try: 
    15481519                part.check_add_child(child) 
     
    15621533        form = AddRelPartForm(request.POST) 
    15631534        if form.is_valid(): 
    1564             attached = get_obj(form.cleaned_data["type"], 
    1565                                 form.cleaned_data["reference"], 
    1566                                 form.cleaned_data["revision"], 
    1567                                 request.user) 
     1535            attached = get_obj_from_form(form, request.user) 
    15681536            if hasattr(plmobject, "attach_to_document"): 
    15691537                plmobject.attach_to_document(attached) 
     
    15951563        form = AddRelPartForm(request.GET) 
    15961564        if form.is_valid(): 
    1597             attached = get_obj(form.cleaned_data["type"], 
    1598                                 form.cleaned_data["reference"], 
    1599                                 form.cleaned_data["revision"], 
    1600                                 request.user) 
     1565            attached = get_obj_from_form(form, request.user) 
    16011566             
    16021567            if hasattr(plmobject, "is_document_attached"): 
Note: See TracChangeset for help on using the changeset viewer.