Changeset 1184 in main


Ignore:
Timestamp:
06/06/12 15:57:30 (7 years ago)
Author:
pcosquer
Message:

allows anonymous users to browse published objects

Location:
trunk/openPLM
Files:
7 edited

Legend:

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

    r1183 r1184  
    6767from django.template import RequestContext 
    6868from django.utils.encoding import iri_to_uri 
    69 from django.utils import translation 
    7069from django.utils.translation import ugettext_lazy as _ 
    7170from django.utils.decorators import method_decorator 
     
    8281from openPLM.plmapp.base_views import init_ctx, get_obj, get_obj_from_form, \ 
    8382    get_obj_by_id, handle_errors, get_generic_data, get_navigate_data, \ 
    84     get_creation_view, register_creation_view 
     83    get_creation_view, register_creation_view, secure_required 
    8584from openPLM.plmapp.cadformats import is_cad_file 
    8685from openPLM.plmapp.controllers import get_controller  
     
    19651964        return super(OpenPLMSearchView, self).__call__(request) 
    19661965 
    1967 @handle_errors 
     1966@secure_required 
    19681967def browse(request, type="object"): 
    1969     obj, ctx = get_generic_data(request, search=False) 
    1970     cls = { 
    1971         "object" : models.PLMObject,  
    1972         "part" : models.Part, 
    1973         "document" : models.Document, 
    1974         "group" : models.GroupInfo, 
    1975         "user" : User, 
    1976     }[type] 
    1977              
    1978     object_list = cls.objects.all() 
    1979     ctx["state"] = state = request.GET.get("state", "all") 
    1980     if type in ("object", "part", "document"): 
    1981         ctx["plmobjects"] = True 
    1982         if state == "official": 
    1983             object_list = object_list.\ 
    1984                     exclude(lifecycle=models.get_cancelled_lifecycle()).\ 
    1985                     filter(state=F("lifecycle__official_state")) 
    1986     else: 
    1987         ctx["plmobjects"] = False 
     1968    if request.user.is_authenticated(): 
     1969        # only authenticated users can see all groups and users 
     1970        obj, ctx = get_generic_data(request, search=False) 
     1971        cls = { 
     1972            "object" : models.PLMObject,  
     1973            "part" : models.Part, 
     1974            "document" : models.Document, 
     1975            "group" : models.GroupInfo, 
     1976            "user" : User, 
     1977        }[type] 
     1978        object_list = cls.objects.all() 
     1979        # this only relevant for authenticated users 
     1980        ctx["state"] = state = request.GET.get("state", "all") 
     1981        if type in ("object", "part", "document"): 
     1982            ctx["plmobjects"] = True 
     1983            if state == "official": 
     1984                object_list = object_list.\ 
     1985                        exclude(lifecycle=models.get_cancelled_lifecycle()).\ 
     1986                        filter(state=F("lifecycle__official_state")) 
     1987            elif state == "published": 
     1988                object_list = object_list.filter(published=True) 
     1989        else: 
     1990            ctx["plmobjects"] = False 
     1991    else: 
     1992        cls = { 
     1993            "object" : models.PLMObject,  
     1994            "part" : models.Part, 
     1995            "document" : models.Document, 
     1996        }[type] 
     1997        ctx = init_ctx("-", "-", "-") 
     1998        ctx.update({ 
     1999            'is_readable' : True, 
     2000            'plmobjects' : True, 
     2001            'object_menu' : [], 
     2002            'navigation_history' : [], 
     2003        }) 
     2004        object_list = cls.objects.filter(published=True) 
     2005 
    19882006         
    1989      
    19902007    sort = request.GET.get("sort", "recently-added") 
    19912008    if sort == "name": 
  • trunk/openPLM/templates/base.html

    r1158 r1184  
    6464            <div id="content-box" class="clearfix"> 
    6565                {% block toolbar %} 
    66                     <div id="DisplayBox"> 
     66                    {% if request.user.is_authenticated %} 
     67                        <div id="DisplayBox"> 
    6768 
    6869 
    69                         <ul> 
    70                             <li class="{{"Button"|button}}"> 
    71                             <a href="/home/"> 
    72                                 <span class="ui-button-text">{% trans "HOME" %}</span> 
    73                             </a> 
    74                             </li> 
     70                            <ul> 
     71                                <li class="{{"Button"|button}}"> 
     72                                <a href="/home/"> 
     73                                    <span class="ui-button-text">{% trans "HOME" %}</span> 
     74                                </a> 
     75                                </li> 
    7576 
    76                             <li class="{{"Button"|button}}"> 
    77                             <a href="/search/?type={{request.session.type}}&amp;q={{search_query}}"> 
    78                                 <span class="ui-button-text">{% trans "SEARCH" %}</span> 
    79                             </a> 
    80                             </li> 
     77                                <li class="{{"Button"|button}}"> 
     78                                <a href="/search/?type={{request.session.type}}&amp;q={{search_query}}"> 
     79                                    <span class="ui-button-text">{% trans "SEARCH" %}</span> 
     80                                </a> 
     81                                </li> 
    8182 
    82                             <li class="{{"Button"|button}}"> 
    83                             <a href="/browse/object/"> 
    84                                 <span class="ui-button-text">{% trans "BROWSE" %}</span> 
    85                             </a> 
    86                             </li> 
     83                                <li class="{{"Button"|button}}"> 
     84                                <a href="/browse/object/"> 
     85                                    <span class="ui-button-text">{% trans "BROWSE" %}</span> 
     86                                </a> 
     87                                </li> 
    8788 
    88                             {% if user.get_profile.is_contributor %} 
    89                                 <li class="{{"Button"|button}}"> 
    90                             <a href="/object/create/?type={% if request.session.type == "User"%}Part{%else %}{{ request.session.type }}{% endif %}"> 
     89                                {% if user.get_profile.is_contributor %} 
     90                                    <li class="{{"Button"|button}}"> 
     91                                <a href="/object/create/?type={% if request.session.type == "User"%}Part{%else %}{{ request.session.type }}{% endif %}"> 
    9192                                    <span class="ui-button-text">{% trans "CREATE" %}</span> 
    9293                                </a> 
     
    99100                                <li class="{{"Button"|button:"corner-left"}}" id="NavigateButton"> 
    100101                            {% endif %} 
    101                             <a href="{% if obj.plmobject_url %}{{obj.plmobject_url}}navigate/{% else %}/user/{{user|urlencode }}/navigate/{% endif %}"> 
    102                                 <span class="ui-button-text">{% trans "NAVIGATE" %}</span> 
    103                             </a> 
    104                             </li> 
    105                             {% if object_reference != "-" and not navigate_bool %} 
    106                                 <li class="{{"Button"|button:"corner-right,state-active,state-focus"}}" id="StudyButton"> 
    107                             {% else %} 
    108                                 <li class="{{"Button"|button:"corner-right"}}" id="StudyButton"> 
    109                             {% endif %} 
    110                             <a href="{% if obj.plmobject_url %}{{obj.plmobject_url}} {% else %}/user/{{user|urlencode }}/{% endif %}"> 
    111                                 <span class="ui-button-text">{% trans "STUDY" %}</span> 
    112                             </a> 
    113                             </li> 
    114                         </ul> 
     102                        <a href="{% if obj.plmobject_url %}{{obj.plmobject_url}}navigate/{% else %}/user/{{user|urlencode }}/navigate/{% endif %}"> 
     103                            <span class="ui-button-text">{% trans "NAVIGATE" %}</span> 
     104                        </a> 
     105                        </li> 
     106                        {% if object_reference != "-" and not navigate_bool %} 
     107                            <li class="{{"Button"|button:"corner-right,state-active,state-focus"}}" id="StudyButton"> 
     108                        {% else %} 
     109                            <li class="{{"Button"|button:"corner-right"}}" id="StudyButton"> 
     110                        {% endif %} 
     111                    <a href="{% if obj.plmobject_url %}{{obj.plmobject_url}} {% else %}/user/{{user|urlencode }}/{% endif %}"> 
     112                        <span class="ui-button-text">{% trans "STUDY" %}</span> 
     113                    </a> 
     114                    </li> 
     115                </ul> 
     116            </div> 
     117        {% endif %} 
     118    {% endblock %} 
     119 
     120    <div class="clearfix"> 
     121        {% block leftcolumn %} 
     122            <div id="ToggleBoxButton"> 
     123                <input type="checkbox" id="SearchButton" /> 
     124                <label for="SearchButton">{% trans "Toggle the left panel" %}</label> 
     125                </li> 
     126            </div> 
     127            <div id="left-col"> 
     128 
     129                {% block search %} 
     130                    <div id="SearchBox" class="Box {{link_creation|yesno:"link_creation,"}}"> 
     131                        <h2>{% trans "Search" %} 
     132                            <div class="toolbar"> 
     133                                <ul> 
     134                                    <li> 
     135                                    <a class="help ui-button ui-button-text-icon-primary ui-state-default ui-button-icon-only ui-corner-all ui-widget"  
     136                                        href="/media/help/{{LANGUAGE_CODE}}/search.html" target="_blank"> 
     137                                        <span class="ui-button-icon-primary ui-icon ui-icon-help">&nbsp;</span> 
     138                                        <span class="ui-button-text">?</span> 
     139                                    </a> 
     140                                    </li> 
     141                                </ul> 
     142                            </div> 
     143                        </h2> 
     144                        {% include "blocks/search.html" %} 
    115145                    </div> 
    116146                {% endblock %} 
     147            </div> 
     148        {% endblock %} 
    117149 
    118                 <div class="clearfix"> 
    119                     {% block leftcolumn %} 
    120                         <div id="ToggleBoxButton"> 
    121                             <input type="checkbox" id="SearchButton" /> 
    122                             <label for="SearchButton">{% trans "Toggle the left panel" %}</label> 
    123                             </li> 
    124                         </div> 
    125                         <div id="left-col"> 
     150        <div id="center-col" class="heightfix"> 
    126151 
    127                             {% block search %} 
    128                                 <div id="SearchBox" class="Box {{link_creation|yesno:"link_creation,"}}"> 
    129                                     <h2>{% trans "Search" %} 
    130                                         <div class="toolbar"> 
    131                                             <ul> 
    132                                                 <li> 
    133                                                 <a class="help ui-button ui-button-text-icon-primary ui-state-default ui-button-icon-only ui-corner-all ui-widget"  
    134                                                     href="/media/help/{{LANGUAGE_CODE}}/search.html" target="_blank"> 
    135                                                     <span class="ui-button-icon-primary ui-icon ui-icon-help">&nbsp;</span> 
    136                                                     <span class="ui-button-text">?</span> 
    137                                                 </a> 
    138                                                 </li> 
    139                                             </ul> 
    140                                         </div> 
    141                                     </h2> 
    142                                     {% include "blocks/search.html" %} 
    143                                 </div> 
    144                             {% endblock %} 
    145                         </div> 
     152            {% block main %} 
     153                <div id="ActiveBox" class="{{class4div}}"> 
     154                    {% block reference %} 
     155                        {% include "blocks/reference.html" %} 
    146156                    {% endblock %} 
    147157 
    148                     <div id="center-col" class="heightfix"> 
     158                    <div id="ActiveArea"> 
     159                        {% if is_readable %} 
     160                            {% if object_menu and not navigate_bool %} 
     161                                {% include "blocks/menu.html" %} 
     162                            {% endif %} 
     163                            <div id="main_content"> 
     164                                {% block content %}{% endblock %}        
     165                            </div> 
     166                        {% else %} 
     167                            <p>{% trans "You are not allowed to see this object" %}</p> 
     168                        {% endif %} 
    149169 
    150                         {% block main %} 
    151                             <div id="ActiveBox" class="{{class4div}}"> 
    152                                 {% block reference %} 
    153                                     {% include "blocks/reference.html" %} 
    154                                 {% endblock %} 
    155  
    156                                 <div id="ActiveArea"> 
    157                                     {% if is_readable %} 
    158                                         {% if object_menu and not navigate_bool %} 
    159                                             {% include "blocks/menu.html" %} 
    160                                         {% endif %} 
    161                                         <div id="main_content"> 
    162                                             {% block content %}{% endblock %}    
    163                                         </div> 
    164                                     {% else %} 
    165                                         <p>{% trans "You are not allowed to see this object" %}</p> 
    166                                     {% endif %} 
    167  
    168                                     <div class="clearfix"></div> 
    169  
    170                                 </div> 
    171  
    172                             </div> 
    173                         {% endblock %} 
     170                        <div class="clearfix"></div> 
    174171 
    175172                    </div> 
    176173 
    177174                </div> 
    178             </div> 
     175            {% endblock %} 
    179176 
    180             <div id="bottom-box"> 
    181                 <div id="links"> 
    182                     <div class="legal"> 
    183                         2010-2012 openPLM &#0153; - openPLM {{ openPLM_version }} 
    184                         - <a href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GNU General Public License</a> 
    185                         - <a href="http://wiki.openplm.org/trac/wiki/Credits" target="_blank">Credits</a> 
    186                     </div> 
    187                     <a id="linobject" href="http://www.linobject.com">Powered by LinObject</a> 
    188                 </div>                     
    189             </div> 
     177        </div> 
     178 
     179    </div> 
     180</div> 
     181 
     182<div id="bottom-box"> 
     183    <div id="links"> 
     184        <div class="legal"> 
     185            2010-2012 openPLM &#0153; - openPLM {{ openPLM_version }} 
     186            - <a href="http://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GNU General Public License</a> 
     187            - <a href="http://wiki.openplm.org/trac/wiki/Credits" target="_blank">Credits</a> 
     188        </div> 
     189        <a id="linobject" href="http://www.linobject.com">Powered by LinObject</a> 
     190    </div>                     
     191</div> 
    190192 
    191193        </div> 
  • trunk/openPLM/templates/browse.html

    r1123 r1184  
    2424                <a href="/browse/document/{% add_get page='1'%}"><span style="padding-left:1em;" >{% trans "Documents" %}</span></a> 
    2525                </li> 
    26                 <li {% if type == "group"%}class="selected"{% endif %} > 
    27                 <a href="/browse/group/{% add_get page='1'%}"><span>{% trans "Groups" %}</span></a></li> 
    28                 <li {% if type == "user"%}class="selected"{% endif %} > 
    29                 <a href="/browse/user/{% add_get page='1'%}"><span>{% trans "Users" %}</span></a> 
    30                 </li> 
     26                {% if request.user.is_authenticated %} 
     27                    <li {% if type == "group"%}class="selected"{% endif %} > 
     28                    <a href="/browse/group/{% add_get page='1'%}"><span>{% trans "Groups" %}</span></a></li> 
     29                    <li {% if type == "user"%}class="selected"{% endif %} > 
     30                    <a href="/browse/user/{% add_get page='1'%}"><span>{% trans "Users" %}</span></a> 
     31                    </li> 
     32                {% endif %} 
    3133            </ul> 
    3234            <hr/> 
     
    3941                </li> 
    4042            </ul> 
    41             {% if plmobjects %} 
     43            {% if plmobjects and request.user.is_authenticated %} 
    4244                <hr/> 
    4345                <ul> 
     
    4850                    <a href="{% add_get state='official' %}"><span>{% trans "Official state" %}</span></a> 
    4951                    </li> 
     52                    <li> 
     53                    <a href="{% add_get state='published' %}"><span>{% trans "Published" %}</span></a> 
     54                    <li> 
    5055                </ul> 
    5156            {% endif %} 
     
    6873                            {% trans "Only official objects." %} 
    6974                        {% else %} 
    70                             {% trans "All objects. "%} 
     75                            {% if state == "published" %} 
     76                                {% trans "Only published objects." %} 
     77                            {% else %} 
     78                                {% trans "All objects. "%} 
     79                            {% endif %} 
    7180                        {% endif %} 
    7281                    </span> 
  • trunk/openPLM/templates/documents/identity_card.html

    r1098 r1184  
    1717    </p> 
    1818    <p> 
    19     <a href="{{object.plmobject_url}}"> 
     19    <a href="{{object.plmobject_url}}{% if request.user.is_anonymous %}public/{% endif %}"> 
    2020        <span class="reference">{{object.reference}}</span> 
    2121        <span class="revision">{{object.revision}}</span> 
  • trunk/openPLM/templates/identity_card.html

    r1098 r1184  
    55    <div class="id_thumbnail"> 
    66        <div class="id_thumbnail_inner"> 
    7             <a href="{% block object_url %}{{object.plmobject_url}}{% endblock %}"> 
     7            <a href="{% block object_url %}{{object.plmobject_url}}{% if request.user.is_anonymous %}public/{% endif %}{% endblock %}"> 
    88                <img src="{% block thumbnail_url %}{% endblock %}"/> 
    99            </a> 
  • trunk/openPLM/templates/login.html

    r1100 r1184  
    8282                        <input type="hidden" name="next" value="{{ next|default:"/home/"|iriencode }}"/> 
    8383                    </form> 
    84                     <p style="line-height:15px; text-align:left">If you have any trouble logging in to your account, contact your administrator </p> 
     84                    <p style="line-height:15px; text-align:left">{% trans "If you have any trouble logging in to your account, contact your administrator" %} </p> 
    8585                </div> 
     86                <hr /> 
     87                <p> 
     88                <a href="/browse/object/">{% trans "Browse public data." %}</a> 
     89                </p> 
    8690                <hr /> 
    8791                <h4>{% trans "Professionals" %}</h4> 
  • trunk/openPLM/templates/parts/identity_card.html

    r1098 r1184  
    88    </p> 
    99    <p> 
    10     <a href="{{object.plmobject_url}}"> 
     10    <a href="{{object.plmobject_url}}{% if request.user.is_anonymous %}public/{% endif %}"> 
    1111    <span class="reference">{{object.reference}}</span> 
    1212    <span class="revision">{{object.revision}}</span> 
Note: See TracChangeset for help on using the changeset viewer.