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": []})
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))
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]})
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
def set_mode(self, mode): Params.setvalue('CORE-connectmode', mode)