Changeset 1209 in main


Ignore:
Timestamp:
06/11/12 15:55:42 (7 years ago)
Author:
zali
Message:

Template lifecycle : add button to cancel object

Location:
trunk/openPLM
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/media/css/lifecycle.css

    r1149 r1209  
    88    border: 4px solid #F49FE9; 
    99    border-radius: 4px; 
     10} 
     11 
     12#msg:empty{ 
     13    display:none; 
    1014} 
    1115 
  • trunk/openPLM/plmapp/controllers/plmobject.py

    r1195 r1209  
    699699        details = u"Unpublished by %s (%s)" % (self._user.get_full_name(), self._user.username) 
    700700        self._save_histo("Unpublish", details) 
    701  
    702  
     701     
     702    def check_cancel(self,raise_=True): 
     703        """ 
     704        .. versionadded:: 1.1 
     705 
     706        Checks that an object can be cancelled. 
     707 
     708        If *raise_* is True: 
     709 
     710            :raise: :exc:`.PermissionError` if the object is not draft 
     711            :raise: :exc:`.PermissionError` if the object has related previous 
     712                    or next revision 
     713            :raise: :exc:`.PermissionError` if the user has not owner rights on 
     714                an object 
     715 
     716        If *raise_* is False: 
     717 
     718            Returns True if all previous tests has been succesfully passed, 
     719            False otherwise. 
     720        """ 
     721        res = self.is_draft 
     722        if (not res) and raise_: 
     723            raise PermissionError("Invalid state: the object is not draft") 
     724        res = res and self.check_permission("owner",raise_=False) 
     725        if (not res) and raise_: 
     726            raise PermissionError("You are not allowed to cancel this object") 
     727        res = res and len(self.get_all_revisions())==1 
     728        if (not res) and raise_: 
     729            raise PermissionError("This object has more than 1 revision") 
     730        return res 
     731         
     732    def can_cancel(self): 
     733        """ 
     734        .. versionadded:: 1.1 
     735 
     736        Returns True if the user can cancel this object. 
     737        """ 
     738        return self.check_cancel(raise_=False) 
     739 
     740 
  • trunk/openPLM/plmapp/views/main.py

    r1198 r1209  
    267267        password_form = forms.ConfirmPasswordForm(request.user, request.POST) 
    268268        actions = (("demote", obj.demote), ("promote", obj.promote), 
    269                    ("publish", obj.publish), ("unpublish", obj.unpublish,)) 
     269                   ("publish", obj.publish), ("unpublish", obj.unpublish), 
     270                   ("cancel", obj.cancel,)) 
    270271        if password_form.is_valid(): 
    271272            for action_name, method in actions: 
     
    19731974 
    19741975def get_pages_num(total_pages, current_page,ctx): 
     1976    """ 
     1977        add to ctx the pages to display for the pagination 
     1978    """ 
    19751979    page = int(current_page) 
    19761980    total = int(total_pages) 
     
    19871991 
    19881992def display_pagination(r_GET,ctx, object_list, type="object"): 
     1993    """ 
     1994        called in view which return a template where object id card 
     1995        are displayed 
     1996        update ctx with pagination information 
     1997 
     1998    """ 
    19891999    sort = r_GET.get("sort", "recently-added") 
    19902000    if sort== "name" : 
  • trunk/openPLM/templates/lifecycle.html

    r1182 r1209  
    6666 
    6767        {# first put error messages, then put buttons #} 
    68         <div id="msg">  
     68        {% spaceless %} 
     69        <div id="msg"> 
    6970            {# demote #} 
    7071 
     
    8990            {% endif %} 
    9091        </div> 
     92        {% endspaceless %} 
    9193 
    9294        {# buttons #} 
     
    99101 
    100102    </form> 
     103 
     104    {# cancel #} 
     105    {% if obj.can_cancel %} 
     106        <form id ="form-cancel" class="confirmation" style="display: inline;" 
     107            action="{{obj.plmobject_url}}lifecycle/apply/" method="POST"> 
     108            <div id="form-cancel-dialog" 
     109                title="{% trans "Are you sure?" %}" 
     110                {% if password_form.is_bound and not password_form.is_valid %}  
     111                    class="c-error action-{{ action }}" 
     112                {% endif %} 
     113                > 
     114                <p> 
     115                <span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span> 
     116                {% trans "Warning, if you cancel this object, it won't be anymore accessible to everyone." %}</p> 
     117 
     118                <div class="password"> 
     119                    {{ password_form.as_p }} 
     120                </div> 
     121            </div> 
     122 
     123            {# button #} 
     124            <input name="cancel" type="submit" class="{{"Button"|button}}" value="{% trans "CANCEL" %}" /> 
     125        </form> 
     126    {% endif %} 
    101127 
    102128    {# publish #} 
     
    156182        </div> 
    157183    {% endif %} 
    158  
    159184 
    160185    {# lifecycle : display all states #} 
Note: See TracChangeset for help on using the changeset viewer.