Mercurial > kallithea
changeset 3752:1e5bb8ed77d6 beta
index: always use lightweight - there shouldn't be any reason not to
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Mon, 08 Apr 2013 17:57:58 +0200 |
parents | 78c7e8efe658 |
children | 7b5bf8e01325 |
files | rhodecode/controllers/admin/repos_groups.py rhodecode/controllers/admin/settings.py rhodecode/controllers/home.py rhodecode/lib/base.py rhodecode/model/forms.py rhodecode/templates/admin/settings/settings.html rhodecode/templates/index_base.html rhodecode/tests/functional/test_home.py |
diffstat | 8 files changed, 35 insertions(+), 232 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/admin/repos_groups.py Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/controllers/admin/repos_groups.py Mon Apr 08 17:57:58 2013 +0200 @@ -360,19 +360,15 @@ .filter(RepoGroup.group_parent_id == c.group.group_id).all() c.groups = self.scm_model.get_repos_groups(groups) - if not c.visual.lightweight_dashboard: - c.repos_list = self.scm_model.get_repos(all_repos=gr_filter) - ## lightweight version of dashboard - else: - c.repos_list = Repository.query()\ - .filter(Repository.group_id == c.group.group_id)\ - .order_by(func.lower(Repository.repo_name))\ - .all() + c.repos_list = Repository.query()\ + .filter(Repository.group_id == c.group.group_id)\ + .order_by(func.lower(Repository.repo_name))\ + .all() - repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, - admin=False) - #json used to render the grid - c.data = json.dumps(repos_data) + repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, + admin=False) + #json used to render the grid + c.data = json.dumps(repos_data) return render('admin/repos_groups/repos_groups.html')
--- a/rhodecode/controllers/admin/settings.py Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/controllers/admin/settings.py Mon Apr 08 17:57:58 2013 +0200 @@ -198,11 +198,6 @@ form_result['rhodecode_stylify_metatags'] Session().add(sett3) - sett4 = RhodeCodeSetting.get_by_name_or_create('lightweight_dashboard') - sett4.app_settings_value = \ - form_result['rhodecode_lightweight_dashboard'] - Session().add(sett4) - sett4 = RhodeCodeSetting.get_by_name_or_create('repository_fields') sett4.app_settings_value = \ form_result['rhodecode_repository_fields']
--- a/rhodecode/controllers/home.py Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/controllers/home.py Mon Apr 08 17:57:58 2013 +0200 @@ -52,19 +52,15 @@ c.groups = self.scm_model.get_repos_groups() c.group = None - if not c.visual.lightweight_dashboard: - c.repos_list = self.scm_model.get_repos() - ## lightweight version of dashboard - else: - c.repos_list = Repository.query()\ - .filter(Repository.group_id == None)\ - .order_by(func.lower(Repository.repo_name))\ - .all() + c.repos_list = Repository.query()\ + .filter(Repository.group_id == None)\ + .order_by(func.lower(Repository.repo_name))\ + .all() - repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, - admin=False) - #json used to render the grid - c.data = json.dumps(repos_data) + repos_data = RepoModel().get_repos_as_dict(repos_list=c.repos_list, + admin=False) + #json used to render the grid + c.data = json.dumps(repos_data) return render('/index.html')
--- a/rhodecode/lib/base.py Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/lib/base.py Mon Apr 08 17:57:58 2013 +0200 @@ -271,8 +271,7 @@ c.visual.show_public_icon = str2bool(rc_config.get('rhodecode_show_public_icon')) c.visual.show_private_icon = str2bool(rc_config.get('rhodecode_show_private_icon')) c.visual.stylify_metatags = str2bool(rc_config.get('rhodecode_stylify_metatags')) - c.visual.lightweight_dashboard = str2bool(rc_config.get('rhodecode_lightweight_dashboard')) - c.visual.lightweight_dashboard_items = safe_int(config.get('dashboard_items', 100)) + c.visual.dashboard_items = safe_int(config.get('dashboard_items', 100)) c.visual.repository_fields = str2bool(rc_config.get('rhodecode_repository_fields')) c.repo_name = get_repo_slug(request) # can be empty c.backends = BACKENDS.keys()
--- a/rhodecode/model/forms.py Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/model/forms.py Mon Apr 08 17:57:58 2013 +0200 @@ -282,7 +282,6 @@ rhodecode_show_private_icon = v.StringBoolean(if_missing=False) rhodecode_stylify_metatags = v.StringBoolean(if_missing=False) - rhodecode_lightweight_dashboard = v.StringBoolean(if_missing=False) rhodecode_repository_fields = v.StringBoolean(if_missing=False) rhodecode_lightweight_journal = v.StringBoolean(if_missing=False)
--- a/rhodecode/templates/admin/settings/settings.html Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/templates/admin/settings/settings.html Mon Apr 08 17:57:58 2013 +0200 @@ -130,12 +130,6 @@ </div> <div class="checkboxes"> <div class="checkbox"> - ${h.checkbox('rhodecode_lightweight_dashboard','True')} - <label for="rhodecode_lightweight_dashboard">${_('Use lightweight dashboard')}</label> - </div> - </div> - <div class="checkboxes"> - <div class="checkbox"> ${h.checkbox('rhodecode_repository_fields','True')} <label for="rhodecode_repository_fields">${_('Use repository extra fields')}</label> </div>
--- a/rhodecode/templates/index_base.html Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/templates/index_base.html Mon Apr 08 17:57:58 2013 +0200 @@ -70,160 +70,13 @@ <div id="welcome" style="display:none;text-align:center"> <h1><a href="${h.url('home')}">${c.rhodecode_name} ${c.rhodecode_version}</a></h1> </div> - <%cnt=0%> - <%namespace name="dt" file="/data_table/_dt_elements.html"/> - % if not c.visual.lightweight_dashboard: - ## old full detailed version - <div id='repos_list_wrap' class="yui-skin-sam"> - <table id="repos_list"> - <thead> - <tr> - <th class="left"></th> - <th class="left">${_('Name')}</th> - <th class="left">${_('Description')}</th> - <th class="left">${_('Last change')}</th> - <th class="left">${_('Tip')}</th> - <th class="left">${_('Owner')}</th> - <th class="left">${_('Atom')}</th> - </tr> - </thead> - <tbody> - %for cnt,repo in enumerate(c.repos_list): - <tr class="parity${(cnt+1)%2}"> - ##QUICK MENU - <td class="quick_repo_menu"> - ${dt.quick_menu(repo['name'])} - </td> - ##REPO NAME AND ICONS - <td class="reponame"> - ${dt.repo_name(repo['name'],repo['dbrepo']['repo_type'],repo['dbrepo']['private'],h.AttributeDict(repo['dbrepo_fork']),pageargs.get('short_repo_names'))} - </td> - ##DESCRIPTION - <td><span class="tooltip" title="${h.tooltip(repo['description'])}"> - %if c.visual.stylify_metatags: - ${h.urlify_text(h.desc_stylize(h.truncate(repo['description'],60)))}</span> - %else: - ${h.truncate(repo['description'],60)}</span> - %endif - </td> - ##LAST CHANGE DATE - <td> - ${dt.last_change(repo['last_change'])} - </td> - ##LAST REVISION - <td> - ${dt.revision(repo['name'],repo['rev'],repo['tip'],repo['author'],repo['last_msg'])} - </td> - ## - <td title="${repo['contact']}">${h.person(repo['contact'])}</td> - <td> - ${dt.atom(repo['name'])} - </td> - </tr> - %endfor - </tbody> - </table> - </div> - % else: - ## lightweight version - <div class="yui-skin-sam" id="repos_list_wrap"></div> - <div id="user-paginator" style="padding: 0px 0px 0px 0px"></div> - % endif + <%cnt=0%> + <%namespace name="dt" file="/data_table/_dt_elements.html"/> + <div class="yui-skin-sam" id="repos_list_wrap"></div> + <div id="user-paginator" style="padding: 0px 0px 0px 0px"></div> </div> </div> - % if not c.visual.lightweight_dashboard: - <script> - YUD.get('repo_count').innerHTML = ${cnt+1 if cnt else 0}; - // groups table sorting - var myColumnDefs = [ - {key:"name",label:"${_('Group name')}",sortable:true, - sortOptions: { sortFunction: groupNameSort }}, - {key:"desc",label:"${_('Description')}",sortable:true}, - ]; - - var myDataSource = new YAHOO.util.DataSource(YUD.get("groups_list")); - - myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE; - myDataSource.responseSchema = { - fields: [ - {key:"name"}, - {key:"desc"}, - ] - }; - - var myDataTable = new YAHOO.widget.DataTable("groups_list_wrap", myColumnDefs, myDataSource,{ - sortedBy:{key:"name",dir:"asc"}, - paginator: new YAHOO.widget.Paginator({ - rowsPerPage: 50, - alwaysVisible: false, - template : "{PreviousPageLink} {FirstPageLink} {PageLinks} {LastPageLink} {NextPageLink}", - pageLinks: 5, - containerClass: 'pagination-wh', - currentPageClass: 'pager_curpage', - pageLinkClass: 'pager_link', - nextPageLinkLabel: '>', - previousPageLinkLabel: '<', - firstPageLinkLabel: '<<', - lastPageLinkLabel: '>>', - containers:['group-user-paginator'] - }), - MSG_SORTASC:"${_('Click to sort ascending')}", - MSG_SORTDESC:"${_('Click to sort descending')}" - }); - - // main table sorting - var myColumnDefs = [ - {key:"menu",label:"",sortable:false,className:"quick_repo_menu hidden"}, - {key:"name",label:"${_('Name')}",sortable:true, - sortOptions: { sortFunction: nameSort }}, - {key:"desc",label:"${_('Description')}",sortable:true}, - {key:"last_change",label:"${_('Last Change')}",sortable:true, - sortOptions: { sortFunction: ageSort }}, - {key:"tip",label:"${_('Tip')}",sortable:true, - sortOptions: { sortFunction: revisionSort }}, - {key:"owner",label:"${_('Owner')}",sortable:true}, - {key:"atom",label:"",sortable:false}, - ]; - - var myDataSource = new YAHOO.util.DataSource(YUD.get("repos_list")); - - myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE; - - myDataSource.responseSchema = { - fields: [ - {key:"menu"}, - //{key:"raw_name"}, - {key:"name"}, - {key:"desc"}, - {key:"last_change"}, - {key:"tip"}, - {key:"owner"}, - {key:"atom"}, - ] - }; - - var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource, - { - sortedBy:{key:"name",dir:"asc"}, - MSG_SORTASC:"${_('Click to sort ascending')}", - MSG_SORTDESC:"${_('Click to sort descending')}", - MSG_EMPTY:"${_('No records found.')}", - MSG_ERROR:"${_('Data error.')}", - MSG_LOADING:"${_('Loading...')}", - } - ); - myDataTable.subscribe('postRenderEvent',function(oArgs) { - tooltip_activate(); - quick_repo_menu(); - var func = function(node){ - return node.parentNode.parentNode.parentNode.parentNode; - } - q_filter('q_filter',YUQ('div.table tr td a.repo_name'),func); - }); - - </script> - % else: <script> var data = ${c.data|n}; var myDataSource = new YAHOO.util.DataSource(data); @@ -279,7 +132,7 @@ var myDataTable = new YAHOO.widget.DataTable("repos_list_wrap", myColumnDefs, myDataSource,{ sortedBy:{key:"name",dir:"asc"}, paginator: new YAHOO.widget.Paginator({ - rowsPerPage: ${c.visual.lightweight_dashboard_items}, + rowsPerPage: ${c.visual.dashboard_items}, alwaysVisible: false, template : "{PreviousPageLink} {FirstPageLink} {PageLinks} {LastPageLink} {NextPageLink}", pageLinks: 5, @@ -336,4 +189,3 @@ filterTimeout = setTimeout(updateFilter,600); }); </script> - % endif
--- a/rhodecode/tests/functional/test_home.py Mon Apr 15 01:46:32 2013 +0200 +++ b/rhodecode/tests/functional/test_home.py Mon Apr 08 17:57:58 2013 +0200 @@ -17,19 +17,22 @@ response = self.app.get(url(controller='home', action='index')) #if global permission is set response.mustcontain('Add repository') - response.mustcontain('href="/%s"' % HG_REPO) + # html in javascript variable: + response.mustcontain("""var data = {"totalRecords": %s""" + % len(Repository.getAll())) + response.mustcontain(r'href=\"/%s\"' % HG_REPO) - response.mustcontain("""<img class="icon" title="Mercurial repository" """ - """alt="Mercurial repository" src="/images/icons/hg""" - """icon.png"/>""") - response.mustcontain("""<img class="icon" title="Public repository" """ - """alt="Public repository" src="/images/icons/lock_""" - """open.png"/>""") + response.mustcontain(r"""<img class=\"icon\" title=\"Mercurial repository\" """ + r"""alt=\"Mercurial repository\" src=\"/images/icons/hg""" + r"""icon.png\"/>""") + response.mustcontain(r"""<img class=\"icon\" title=\"Public repository\" """ + r"""alt=\"Public repository\" src=\"/images/icons/lock_""" + r"""open.png\"/>""") response.mustcontain( -"""<a title="Marcin Kuzminski &lt;marcin@python-works.com&gt;:\n -merge" class="tooltip" href="/vcs_test_hg/changeset/27cd5cce30c96924232""" -"""dffcd24178a07ffeb5dfc">r173:27cd5cce30c9</a>""" +r"""<a title=\"Marcin Kuzminski &lt;marcin@python-works.com&gt;:\n\n""" +r"""merge\" class=\"tooltip\" href=\"/vcs_test_hg/changeset/27cd5cce30c96924232""" +r"""dffcd24178a07ffeb5dfc\">r173:27cd5cce30c9</a>""" ) def test_repo_summary_with_anonymous_access_disabled(self): @@ -66,22 +69,6 @@ Session().add(anon) Session().commit() - def _set_l_dash(self, set_to): - self.app.post(url('admin_setting', setting_id='visual'), - params=dict(_method='put', - rhodecode_lightweight_dashboard=set_to,)) - - def test_index_with_lightweight_dashboard(self): - self.log_user() - self._set_l_dash(True) - - try: - response = self.app.get(url(controller='home', action='index')) - response.mustcontain("""var data = {"totalRecords": %s""" - % len(Repository.getAll())) - finally: - self._set_l_dash(False) - def test_index_page_on_groups(self): self.log_user() gr = fixture.create_group('gr1') @@ -94,18 +81,3 @@ RepoModel().delete('gr1/repo_in_group') ReposGroupModel().delete(repos_group='gr1', force_delete=True) Session().commit() - - def test_index_page_on_groups_with_lightweight_dashboard(self): - self.log_user() - self._set_l_dash(True) - fixture.create_repo(name='gr1/repo_in_group', - repos_group=fixture.create_group('gr1')) - response = self.app.get(url('repos_group_home', group_name='gr1')) - - try: - response.mustcontain("""gr1/repo_in_group""") - finally: - self._set_l_dash(False) - RepoModel().delete('gr1/repo_in_group') - ReposGroupModel().delete(repos_group='gr1', force_delete=True) - Session().commit()