Goods Morning - Love the Application and start by stating I am super new to 
Django, so pardon my elementary questions:

was able to create some new apps.... what is the proper way to reroute 
users to the new app with limited access using roles or group membership?

Thanks again!

Anthony


On Tuesday, October 3, 2017 at 12:03:56 AM UTC-4, Diego R. wrote:
>
> BTW If you want to remove the Dashboard Widgets, just add this to David's 
> example:
>
> from common.dashboards import dashboard_main
> from documents.dashboard_widgets import widget_total_documents
> from documents.dashboard_widgets import widget_document_types
> from documents.dashboard_widgets import widget_documents_in_trash
> from documents.dashboard_widgets import widget_new_documents_this_month
> from documents.dashboard_widgets import widget_pages_per_month
> from checkouts.dashboard_widgets import widget_checkouts
>
> dashboard_main.remove_widget(widget=widget_total_documents)
> dashboard_main.remove_widget(widget=widget_document_types)
> dashboard_main.remove_widget(widget=widget_documents_in_trash)
> dashboard_main.remove_widget(widget=widget_new_documents_this_month)
> dashboard_main.remove_widget(widget=widget_pages_per_month)
> dashboard_main.remove_widget(widget=widget_checkouts)
>
>
>
> Em segunda-feira, 2 de outubro de 2017 18:10:45 UTC-3, Diego R. escreveu:
>>
>> This is awesome. Thanks Dave.
>>
>> Em domingo, 1 de outubro de 2017 12:31:11 UTC-3, David Kimmel escreveu:
>>>
>>> Hey there,
>>>
>>> A common request seems to be “How do I remove the Workflow/Cabinets/Tags 
>>> menus from Mayan?”.  Hopefully this post can answer that question once and 
>>> for all.
>>>
>>> There are two things that need to be done to do this:  Create a custom 
>>> app which does the removal, make Mayan load the custom app as part of its 
>>> startup processing.
>>>
>>> 1)  Create a custom app:
>>>
>>> First, go to the Mayan apps directory (/usr/local/mayan-edms/mayan/apps 
>>> on my install) and create a directory for the custom app.  I called mine 
>>> “zzzcustom”, this is a name that probably won’t conflict with anything 
>>> delivered in the future.
>>>
>>> Next, create the following files in that new directory 
>>> (……/mayan/apps/zzzcustom) with the following contents:
>>>
>>> *__init__.py:*
>>> from __future__ import unicode_literals
>>>
>>> default_app_config = 'zzzcustom.apps.ZZZCustomApp'
>>>
>>> *apps.py:*
>>> from __future__ import unicode_literals
>>> from django.utils.translation import ugettext_lazy as _
>>> from common import MayanAppConfig
>>>
>>> from common import menu_main
>>> from tags.menus import menu_tags
>>> from cabinets.menus import menu_cabinets
>>> from document_states.links import link_workflow_list
>>> from checkouts.links import link_checkout_list
>>>
>>> class ZZZCustomApp(MayanAppConfig):
>>> name = 'zzzcustom'
>>> verbose_name = _('Custom Stuff')
>>>
>>> def ready(self):
>>> super(ZZZCustomApp, self).ready()
>>> # Remove "Tags" links from main menu
>>> menu_main.unbind_links(links=(menu_tags,),)
>>> # Remove "Cabients" from main menu
>>> menu_main.unbind_links(links=(menu_cabinets,),)
>>> # Remove "Workflow" from main menu
>>> menu_main.unbind_links(links=(link_workflow_list,),)
>>> # Remove "Checkouts" from main menu
>>> menu_main.unbind_links(links=(link_checkout_list,),)
>>>
>>> You can comment out or remove calls to menu_main.unbind_links if you 
>>> want to keep those options available.
>>>
>>> 2)  Add the following to your *settings/local.py*:
>>>
>>> INSTALLED_APPS += ('zzzcustom',)
>>>
>>> At this point you should be able to start Mayan and no longer see the 
>>> Tags, Cabinets, Workflow, and Checkouts menus.
>>>
>>>
>>>
>>> So how does all this work?
>>>
>>> The line in local.py adds the custom app into the list of installed 
>>> apps.  Mayan uses this to figure out what objects to load, so this makes it 
>>> load the custom app.
>>>
>>> The line in __init__.py is required by Django (which Mayan uses as its 
>>> framework) to tell it what class to use to initialize the app.
>>>
>>> Finally, apps.py has the code that actually initializes the custom app. 
>>>  The ready method within the configuration class (ZZZCustomApp) tells 
>>> Mayan’s menu_main object to unbind various links.  The link objects that 
>>> are being unbound are imported from the various apps that provide them. 
>>>  Removing other items requires looking through the source of the app that 
>>> provides them, figuring out how they are bound to the main menu, then 
>>> writing code in the custom app to unbind them.
>>>
>>> Why use a custom app for this?  Simple - if you modify the delivered 
>>> Mayan code, you have to remodify it every time you upgrade.  By using a 
>>> custom app it should survive upgrades and require no (or minimal) changes.
>>>
>>> Hopefully this is enough to get everyone who wants to remove items from 
>>> the main menu started.
>>>
>>> Thanks,
>>> -- Dave Kimmel
>>>    [email protected]
>>>
>>>
>>>
>>>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Mayan EDMS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to