コード例 #1
0
    def ready(self):
        super(AuthenticationApp, self).ready()

        User = get_user_model()

        menu_multi_item.bind_links(links=(link_user_multiple_set_password, ),
                                   sources=('user_management:user_list', ))

        menu_object.bind_links(links=(link_user_set_password, ),
                               sources=(User, ))

        menu_user.bind_links(links=(Separator(), link_password_change,
                                    link_logout),
                             position=99)
コード例 #2
0
ファイル: apps.py プロジェクト: Charsly/Mayan-EDMS
    def ready(self):
        super(EventsApp, self).ready()
        Action = apps.get_model(app_label='actstream', model_name='Action')
        Notification = self.get_model(model_name='Notification')
        StoredEventType = self.get_model(model_name='StoredEventType')

        # Add labels to Action model, they are not marked translatable in the
        # upstream package.
        SourceColumn(attribute='timestamp',
                     is_identifier=True,
                     is_sortable=True,
                     label=_('Date and time'),
                     source=Action)
        SourceColumn(func=widget_event_actor_link,
                     label=_('Actor'),
                     source=Action)
        SourceColumn(func=widget_event_type_link,
                     label=_('Event'),
                     source=Action)
        SourceColumn(attribute='target',
                     label=_('Target'),
                     source=Action,
                     widget=ObjectLinkWidget)
        SourceColumn(attribute='action_object',
                     label=_('Action object'),
                     source=Action,
                     widget=ObjectLinkWidget)

        SourceColumn(source=StoredEventType,
                     label=_('Namespace'),
                     attribute='namespace')
        SourceColumn(source=StoredEventType,
                     label=_('Label'),
                     attribute='label')

        SourceColumn(attribute='action__timestamp',
                     is_identifier=True,
                     is_sortable=True,
                     label=_('Date and time'),
                     source=Notification)
        SourceColumn(func=widget_event_actor_link,
                     label=_('Actor'),
                     kwargs={'attribute': 'action'},
                     source=Notification)
        SourceColumn(func=widget_event_type_link,
                     label=_('Event'),
                     kwargs={'attribute': 'action'},
                     source=Notification)
        SourceColumn(attribute='action.target',
                     label=_('Target'),
                     source=Notification,
                     widget=ObjectLinkWidget)

        SourceColumn(attribute='read',
                     is_sortable=True,
                     label=_('Seen'),
                     source=Notification,
                     widget=TwoStateWidget)

        menu_main.bind_links(links=(link_user_notifications_list, ),
                             position=99)
        menu_object.bind_links(links=(link_notification_mark_read, ),
                               sources=(Notification, ))
        menu_secondary.bind_links(links=(link_notification_mark_read_all, ),
                                  sources=('events:user_notifications_list', ))
        menu_tools.bind_links(links=(link_events_list, ))
        menu_user.bind_links(links=(link_event_types_subscriptions_list,
                                    link_current_user_events),
                             position=50)
コード例 #3
0
ファイル: apps.py プロジェクト: Sumit-Kumar-Jha/mayan
    def ready(self):
        super(UserManagementApp, self).ready()
        from actstream import registry

        Group = apps.get_model(app_label='auth', model_name='Group')
        User = get_user_model()

        DynamicSerializerField.add_serializer(
            klass=get_user_model(),
            serializer_class=
            'mayan.apps.user_management.serializers.UserSerializer')

        # Silence UnorderedObjectListWarning
        # "Pagination may yield inconsistent result"
        # TODO: Remove on Django 2.x
        Group._meta.ordering = ('name', )
        Group._meta.verbose_name = _('Group')
        Group._meta.verbose_name_plural = _('Groups')
        Group._meta.get_field('name').verbose_name = _('Name')

        # Silence UnorderedObjectListWarning
        # "Pagination may yield inconsistent result"
        # TODO: Remove on Django 2.x
        User._meta.ordering = ('pk', )
        User._meta.verbose_name = _('User')
        User._meta.verbose_name_plural = _('Users')
        User._meta.ordering = ('last_name', 'first_name')

        User._meta.get_field('username').verbose_name = _('Username')
        User._meta.get_field('first_name').verbose_name = _('First name')
        User._meta.get_field('last_name').verbose_name = _('Last name')
        User._meta.get_field('email').verbose_name = _('Email')
        User._meta.get_field('is_active').verbose_name = _('Is active?')
        if six.PY3:
            User.has_usable_password.short_description = _(
                'Has usable password?')
        else:
            User.has_usable_password.__func__.short_description = _(
                'Has usable password?')

        Group.add_to_class(name='get_users', value=method_group_get_users)
        Group.add_to_class(name='users_add', value=method_group_users_add)
        Group.add_to_class(name='users_remove',
                           value=method_group_users_remove)
        Group.add_to_class(name='save', value=get_method_group_save())

        MetadataLookup(description=_('All the groups.'),
                       name='groups',
                       value=get_groups)
        MetadataLookup(description=_('All the users.'),
                       name='users',
                       value=get_users)

        ModelEventType.register(event_types=(event_group_created,
                                             event_group_edited),
                                model=Group)

        ModelEventType.register(event_types=(event_user_created,
                                             event_user_edited),
                                model=User)

        ModelPermission.register(model=Group,
                                 permissions=(
                                     permission_acl_edit,
                                     permission_acl_view,
                                     permission_events_view,
                                     permission_group_delete,
                                     permission_group_edit,
                                     permission_group_view,
                                 ))
        ModelPermission.register(
            model=User,
            permissions=(permission_acl_edit, permission_acl_view,
                         permission_events_view, permission_user_delete,
                         permission_user_edit, permission_user_view))

        SourceColumn(attribute='name',
                     is_identifier=True,
                     is_sortable=True,
                     source=Group)
        SourceColumn(attribute='user_set.count',
                     label=_('Users'),
                     source=Group)

        SourceColumn(attribute='username',
                     is_object_absolute_url=True,
                     is_identifier=True,
                     is_sortable=True,
                     source=User)
        SourceColumn(attribute='first_name', is_sortable=True, source=User)
        SourceColumn(attribute='last_name', is_sortable=True, source=User)
        SourceColumn(attribute='email', is_sortable=True, source=User)
        SourceColumn(attribute='is_active',
                     is_sortable=True,
                     source=User,
                     widget=TwoStateWidget)
        SourceColumn(attribute='has_usable_password',
                     source=User,
                     widget=TwoStateWidget)

        User.add_to_class(name='get_absolute_url',
                          value=method_user_get_absolute_url)
        User.add_to_class(name='get_groups', value=method_user_get_groups)
        User.add_to_class(name='groups_add', value=method_user_groups_add)
        User.add_to_class(name='groups_remove',
                          value=method_user_groups_remove)
        User.add_to_class(name='save', value=get_method_user_save())

        dashboard_main.add_widget(widget=DashboardWidgetUserTotal, order=99)
        dashboard_main.add_widget(widget=DashboardWidgetGroupTotal, order=99)

        menu_list_facet.bind_links(links=(
            link_acl_list,
            link_events_for_object,
            link_object_event_types_user_subcriptions_list,
            link_group_user_list,
        ),
                                   sources=(Group, ))
        menu_list_facet.bind_links(
            links=(link_acl_list, link_events_for_object,
                   link_object_event_types_user_subcriptions_list,
                   link_user_group_list, link_user_set_options),
            sources=(User, ))
        menu_multi_item.bind_links(links=(link_user_multiple_delete, ),
                                   sources=('user_management:user_list', ))
        menu_object.bind_links(links=(link_group_edit, ), sources=(Group, ))
        menu_object.bind_links(links=(link_group_delete, ),
                               position=99,
                               sources=(Group, ))
        menu_object.bind_links(links=(
            link_user_delete,
            link_user_edit,
        ),
                               sources=(User, ))
        menu_secondary.bind_links(
            links=(link_group_list, link_group_create),
            sources=('user_management:group_multiple_delete',
                     'user_management:group_list',
                     'user_management:group_create', Group))
        menu_secondary.bind_links(
            links=(link_user_list, link_user_create),
            sources=(User, 'authentication:user_multiple_set_password',
                     'user_management:user_multiple_delete',
                     'user_management:user_list',
                     'user_management:user_create'))
        menu_setup.bind_links(links=(link_user_setup, link_group_setup))
        menu_user.bind_links(links=(
            text_user_label,
            separator_user_label,
            link_current_user_details,
            link_current_user_edit,
        ),
                             position=0)

        post_save.connect(
            dispatch_uid='user_management_handler_initialize_new_user_options',
            receiver=handler_initialize_new_user_options,
            sender=User)

        user_logged_in.connect(
            dispatch_uid='user_management_handler_user_logged_in',
            receiver=handler_user_logged_in,
            sender=User)
        user_logged_out.connect(
            dispatch_uid='user_management_handler_user_logged_out',
            receiver=handler_user_logged_out,
            sender=User)

        registry.register(Group)
        registry.register(User)