Exemplo n.º 1
0
 def testAdvancePlugin(self):
     Params.setvalue("CORE-PluginPermission", '{"basic": []}')
     self._add_plugin('advance', title='Advance tool', version='1.2.3')
     self.assertEqual(self.plugins.count, 1)
     self.assertEqual(self.plugins[0].name, 'advance')
     self.assertEqual(self.plugins[0].title, 'Advance tool')
     self.assertEqual(self.plugins[0].version, '1.2.3')
     self.assertEqual(Params.getobject("CORE-PluginPermission"), {"advance": []})
Exemplo n.º 2
0
    def testPermissionPlugin_logon_useraccess(self):
        group = LucteriosGroup.objects.create(name="plugin")
        Params.setvalue("CORE-PluginPermission", '{"useraccess": [%d]}' % group.id)
        self.set_mode(0)
        self._add_plugin('useraccess', add_view=True)

        request = RequestFactory().post('/')
        request.user = LucteriosUser.objects.create(username="******", is_superuser=False, is_staff=False)
        self.assertEqual(self.plugins.count, 1)
        self.assertEqual(len(self.plugins[0].views), 3)
        self.assertFalse(self.plugins[0].views[0].get_action().check_permission(request))
        self.assertFalse(self.plugins[0].views[1].get_action().check_permission(request))
        self.assertFalse(self.plugins[0].views[2].get_action().check_permission(request))

        request.user.groups.set(LucteriosGroup.objects.filter(id=group.id))
        request.user.save()
        self.assertFalse(self.plugins[0].views[0].get_action().check_permission(request))
        self.assertTrue(self.plugins[0].views[1].get_action().check_permission(request))
        self.assertFalse(self.plugins[0].views[2].get_action().check_permission(request))
Exemplo n.º 3
0
    def test_groupedit(self):
        group = LucteriosGroup.objects.create(name="plugin")
        Params.setvalue("CORE-PluginPermission", '{"useraccess": [%d]}' % group.id)
        self._add_plugin('useraccess', add_view=True)
        self._add_plugin('view', add_view=True)
        self._add_plugin('advance', title='Advance tool', version='1.2.3')

        self.factory.xfer = GroupsEdit()
        self.calljson('/CORE/groupsEdit', {'group': group.id}, False)
        self.assert_observer('core.custom', 'CORE', 'groupsEdit')
        self.assert_count_equal('', 4)
        self.assert_json_equal('EDIT', "name", 'plugin',)
        self.assert_json_equal('CHECKLIST', "permissions", [])
        self.assert_select_equal("plugins", {'advance': 'Advance tool', 'useraccess': 'useraccess', 'view': 'view'}, True)
        self.assert_json_equal('CHECKLIST', "plugins", ['useraccess'])

        self.factory.xfer = GroupsEdit()
        self.calljson('/CORE/groupsEdit', {'SAVE': 'YES', 'group': group.id, 'name': 'plugin', "plugins": 'advance;view'}, False)
        self.assert_observer('core.acknowledge', 'CORE', 'groupsEdit')
        self.assertEqual(Params.getobject("CORE-PluginPermission"), {"advance": [group.id], 'useraccess': [], 'view': [group.id]})
Exemplo n.º 4
0
 def check_account_config(self):
     from diacamma.accounting.tools import current_system_account
     try:
         lettering_check = Params.getvalue(
             "accounting-lettering-check").split('{[br/]}')
         changed = False
         new_lettering = []
         for letter in lettering_check:
             if match(current_system_account().get_third_mask(),
                      letter) is not None:
                 new_lettering.append(letter)
             else:
                 changed = True
         for account in ChartsAccount.objects.filter(
                 year=FiscalYear.get_current(),
                 code__regex=current_system_account().get_societary_mask()):
             if account.code not in new_lettering:
                 new_lettering.append(account.code)
                 changed = True
         if changed:
             Params.setvalue("accounting-lettering-check",
                             '{[br/]}'.join(new_lettering))
     except LucteriosException:
         pass
Exemplo n.º 5
0
 def set_mode(self, mode):
     Params.setvalue('CORE-connectmode', mode)