Changeset 561 in main


Ignore:
Timestamp:
11/25/11 13:06:15 (8 years ago)
Author:
pcosquer
Message:

remove non editable attribute (creator, owner) on the creation/modification pages

Location:
trunk/openPLM
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/plmapp/views/main.py

    r524 r561  
    591591###    Manage html pages for part / document creation and modification                 ### 
    592592########################################################################################## 
    593 def get_non_modifyable_attributes(obj, user, cls=models.PLMObject): 
    594     """ 
    595     Create a list of object's attributes we can't modify' and set them a value 
    596      
    597     Example:: 
    598         >>> MyClass 
    599         <class 'openPLM.plmapp.models.Part'> 
    600         >>> get_non_modifyable_attributes(MyClass) 
    601         [('owner', 'Person'), 
    602          ('creator', 'Person'), 
    603          ('ctime', 'Date'), 
    604          ('mtime', 'Date')] 
    605      
    606     :param cls: :class: instance of `models.PLMObject` 
    607     :return: list 
    608     """ 
    609     non_modifyable_fields = cls.excluded_creation_fields() 
    610     non_modifyable_attributes = [] 
    611     if obj == 'create': 
    612         for field in non_modifyable_fields: 
    613             if field in ('ctime', 'mtime'): 
    614                 non_modifyable_attributes.append(('datetime', field, 
    615                     datetime.datetime.now())) 
    616             elif field in ('owner', 'creator'): 
    617                 non_modifyable_attributes.append(('User', field, 
    618                     user.username)) 
    619             elif field == 'state': 
    620                 non_modifyable_attributes.append(('State', field, 
    621                     models.get_default_state())) 
    622     else: 
    623         for field in non_modifyable_fields: 
    624             value = getattr(obj, field) 
    625             if isinstance(value, datetime.datetime): 
    626                 non_modifyable_attributes.append(('datetime', field, value)) 
    627             elif isinstance(value, User): 
    628                 non_modifyable_attributes.append(('User', field, value.username)) 
    629             elif isinstance(value, models.State): 
    630                 non_modifyable_attributes.append(('State', field, value.name)) 
    631     return non_modifyable_attributes 
    632  
    633 ########################################################################################## 
     593 
    634594@handle_errors 
    635595def create_object(request): 
     
    647607        type_form = TypeForm(request.GET) 
    648608        if type_form.is_valid(): 
    649             cls = models.get_all_userprofiles_and_plmobjects()[type_form.cleaned_data["type"]] 
     609            type_ = type_form.cleaned_data["type"] 
     610            cls = models.get_all_userprofiles_and_plmobjects()[type_] 
    650611            if issubclass(cls, models.Document): 
    651612                class_for_div="ActiveBox4Doc" 
     
    655616                    'lifecycle': str(models.get_default_lifecycle()), } 
    656617            creation_form = get_creation_form(request.user, cls, data, True) 
    657             non_modifyable_attributes = get_non_modifyable_attributes('create', request.user, cls) 
    658618    elif request.method == 'POST': 
    659619        type_form = TypeForm(request.POST) 
     
    665625            else: 
    666626                class_for_div="ActiveBox4Part" 
    667             non_modifyable_attributes = get_non_modifyable_attributes('create', request.user, cls) 
    668627            creation_form = get_creation_form(request.user, cls, request.POST) 
    669628            if creation_form.is_valid(): 
     
    675634                'creation_form': creation_form, 
    676635                'object_type': type_form.cleaned_data["type"], 
    677                 'non_modifyable_attributes': non_modifyable_attributes }) 
     636               }) 
    678637    return r2r('DisplayObject4creation.htm', ctx, request) 
    679638 
     
    689648    obj, ctx = get_generic_data(request, obj_type, obj_ref, obj_revi) 
    690649    cls = models.get_all_plmobjects()[obj_type] 
    691     non_modifyable_attributes = get_non_modifyable_attributes(obj, request.user, cls) 
    692650    if request.method == 'POST' and request.POST: 
    693651        modification_form = get_modification_form(cls, request.POST) 
     
    698656        modification_form = get_modification_form(cls, instance=obj.object) 
    699657     
    700     ctx.update({'modification_form': modification_form, 
    701                 'non_modifyable_attributes': non_modifyable_attributes}) 
     658    ctx['modification_form'] = modification_form 
    702659    return r2r('DisplayObject4modification.htm', ctx, request) 
    703660 
  • trunk/openPLM/templates/DisplayObject4creation.htm

    r520 r561  
    1212                        <td class="Content">{{ object_type }}</td> 
    1313                </tr> 
    14                 {% for type, field, value in non_modifyable_attributes %} 
    15                         <tr class="Content"> 
    16                                 <th class="Content">{% trans field %}</th> 
    17                                 {% ifequal type 'datetime' %} 
    18                                     <td class="Content">{{ value|date:"l j F Y, G:i" }}</td> 
    19                                 {% else %} 
    20                                     <td class="Content">{{value}}</td> 
    21                                 {% endifequal %} 
    22                         </tr> 
    23                 {% endfor%} 
    24                 <tr class="Content"> 
     14                <tr class="Content hidden"> 
    2515                        <th><label for="id_type">&nbsp;</label></th> 
    2616                        <td><input id="id_type" type="hidden" name="type" value="{{object_type}}" /></td> 
  • trunk/openPLM/templates/DisplayObject4modification.htm

    r520 r561  
    1212                        <td>{{ object_type }}</td> 
    1313                </tr> 
    14                 {% for type, field, value in non_modifyable_attributes %} 
    15                         <tr class="Content"> 
    16                                 <th>{% trans field %} </th> 
    17                                 {% ifequal type 'datetime' %} 
    18                                     <td>{{ value|date:"l j F Y, G:i" }}</td> 
    19                             {% else %} 
    20                                 <td>{{value}}</td> 
    21                                 {% endifequal %} 
    22                         </tr> 
    23                 {% endfor%} 
    24                 <tr class="Content"> 
     14 
     15                <tr class="Content hidden"> 
    2516                        <th><label for="id_type">&nbsp;</label></th> 
    2617                        <td><input id="id_type" type="hidden" name="type" value="{{object_type}}" /></td> 
Note: See TracChangeset for help on using the changeset viewer.