Example #1
0
 def decrease_order(self):
     """
     Decreases the order of this MenuItem
     """
     db = Database()
     if self.get_menu_id() is not None:
         stmnt = "SELECT MAX(MNI_ORDER) AS NEWORDER FROM MENUITEMS WHERE MNI_MNU_ID = ? AND MNI_ORDER < ? ;"
         cur = db.query(stmnt, (self.get_menu_id(), self.get_order()))
         row = cur.fetchonemap()
         if row is not None:
             if row["NEWORDER"] is None:
                 return
             temp_order = self.get_order()
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ORDER = ? AND MNI_MNU_ID = ? ;"
             db.query(stmnt, (temp_order, row["NEWORDER"], self.get_menu_id()),commit=True)
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ID = ? ;"
             db.query(stmnt, (row["NEWORDER"], self.get_id()),commit=True)
             db.commit()
             PokeManager.add_activity(ActivityType.MENU)
     elif self.get_parent_menu_item_id() is not None:
         stmnt = "SELECT MAX(MNI_ORDER) AS NEWORDER FROM MENUITEMS WHERE MNI_MNI_ID = ? AND MNI_ORDER < ? ;"
         cur = db.query(stmnt, (self.get_parent_menu_item_id(), self.get_order()))
         row = cur.fetchonemap()
         if row is not None:
             if row["NEWORDER"] is None:
                 return
             temp_order = self.get_order()
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ORDER = ? AND MNI_MNI_ID = ? ;"
             db.query(stmnt, (temp_order, row["NEWORDER"], self.get_parent_menu_item_id()),commit=True)
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ID = ? ;"
             db.query(stmnt, (row["NEWORDER"], self.get_id()),commit=True)
             db.commit()
             PokeManager.add_activity(ActivityType.MENU)
Example #2
0
 def delete(self):
     """
     deletes this session
     """
     db = Database()
     stmnt = "DELETE FROM SESSIONS WHERE SES_ID = ? ;"
     db.query(stmnt,(self._id,),commit=True)
Example #3
0
    def assign_to(self,user):
        """
        Assigns this role to a user
        """
        session_user = Session.get_current_session_user()

        db = Database()
        
        #check if sessionuser has role
        
        has_role = session_user.has_role(self)

        stmnt = "SELECT COUNT(URI_RIG_ID) AS CNT FROM USERRIGHTS WHERE URI_RIG_ID IN \
            (SELECT RRI_RIG_ID FROM ROLERIGHTS WHERE RRI_ROL_ID = ? ) ;"
        cur = db.query(stmnt,(self._id,))
        res = cur.fetchone()[0]

        has_all_permissions_of_role = res == len(self.get_permissions())

        if not has_role and not has_all_permissions_of_role:
            raise PermissionException(PermissionException.get_msg(7))

        for role in user.get_grantable_roles():
            if role["name"] == self._name:
                stmnt = "UPDATE OR INSERT INTO USERROLES (URO_USR_ID, URO_ROL_ID) \
                    VALUES (?,?) MATCHING (URO_USR_ID, URO_ROL_ID) ;";
                db.query(stmnt, (user.get_id(),self._id),commit=True)
                PokeManager.add_activity(ActivityType.USER)
                return
        raise PermissionException(PermissionException.get_msg(8))
Example #4
0
 def move_to_bottom_order(self):
     """
     Moves this menuitem to the bottom-order
     """
     db = Database()
     if self.get_menu_id() is not None:
         stmnt = "SELECT MIN(MNI_ORDER) AS NEWORDER FROM MENUITEMS WHERE MNI_MNU_ID = ? ;"
         cur = db.query(stmnt, (self.get_menu_id(),))
         row = cur.fetchonemap()
         if row is not None:
             if row["NEWORDER"] is None:
                 return
             temp_order = self.get_order()
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ORDER = ? AND MNI_MNU_ID = ? ;"
             db.query(stmnt, (temp_order, row["NEWORDER"], self.get_menu_id()),commit=True)
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ID = ? ;"
             db.query(stmnt, (row["NEWORDER"], self.get_id()),commit=True)
             db.commit()
             PokeManager.add_activity(ActivityType.MENU)
     elif self.get_parent_menu_item_id() is not None:
         stmnt = "SELECT MIN(MNI_ORDER) AS NEWORDER, MNI_ID FROM MENUITEMS WHERE MNI_MNI_ID = ? ;"
         cur = db.query(stmnt, (self.get_parent_menu_item_id(),))
         row = cur.fetchonemap()
         if row is not None:
             if row["NEWORDER"] is None:
                 return
             temp_order = self.get_order()
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ORDER = ? AND MNI_MNI_ID = ? ;"
             db.query(stmnt, (temp_order, row["NEWORDER"], self.get_parent_menu_item_id()),commit=True)
             stmnt = "UPDATE MENUITEMS SET MNI_ORDER = ? WHERE MNI_ID = ? ;"
             db.query(stmnt, (row["NEWORDER"], self.get_id()),commit=True)
             db.commit()
             PokeManager.add_activity(ActivityType.MENU)
Example #5
0
 def delete(self):
     """
     Deletes this Action from the database
     """
     db = Database()
     stmnt = "DELETE FROM ACTIONS WHERE ACT_ID = ? ;"
     db.query(stmnt, (self.get_id(),),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
Example #6
0
 def cleanup_css_sessiontable(cls):
     """
     Cleans up old css filenames
     """
     db = Database()
     stmnt = "DELETE FROM CSSSESSION WHERE CSE_OUTDATED = 1 ;"
     db.query(stmnt, commit=True)
     return
Example #7
0
 def delete(self):
     """
     Deletes the ActionList from the DB
     """
     db = Database()
     stmnt = "DELETE FROM ACTIONLISTS WHERE ATL_ID = ? ;"
     db.query(stmnt, (self.get_id(),),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
Example #8
0
 def remove_permissions_for_module(cls,module):
     """
     removes the permissions of a module
     """
     module_name = module.get_name()
     db = Database()
     stmnt = "DELETE FROM RIGHTS WHERE RIG_NAME LIKE ? ;"
     db.query(stmnt, (module_name+"%",),commit=True)
Example #9
0
 def store(self):
     """
     currently only one repository can be owned by one skarphed instance
     """
     db = Database()
     stmnt = "UPDATE OR INSERT INTO REPOSITORIES (REP_ID, REP_NAME, REP_IP, REP_PORT, REP_LASTUPDATE, REP_PUBLICKEY) VALUES (1,?,?,?,?,?) MATCHING (REP_ID) ;"
     db.query(stmnt,(self._name, self._ip, self._port, self._lastupdate, self.get_public_key()),commit=True)
     PokeManager.add_activity(ActivityType.REPOSITORY)
Example #10
0
 def delete(self):
     """
     Deletes this MenuItem from DB
     """        
     db = Database()
     stmnt = "DELETE FROM MENUITEMS WHERE MNI_ID = ? ;"
     db.query(stmnt, (self.get_id(),),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
Example #11
0
 def remove_permission(cls, permission, module=""):
     """
     removes a permission from the database
     """
     db = Database()
     stmnt = "DELETE FROM RIGHTS WHERE RIG_NAME = ? ;"
     db.query(stmnt, (permission,),commit=True)
     PokeManager.add_activity(ActivityType.PERMISSION)
Example #12
0
 def delete(self):
     """
     deletes this role from the database
     """
     db = Database()
     stmnt = "DELETE FROM ROLES WHERE ROL_ID = ? ;"
     db.query(stmnt,(self._id,),commit=True)
     PokeManager.add_activity(ActivityType.ROLE)
Example #13
0
 def delete_actions_with_module(cls, module):
     """
     Deletes all actions that contain this widget
     """
     db = Database()
     stmnt = "DELETE FROM ACTIONS WHERE ACT_WGT_ID IN (SELECT WGT_ID FROM WIDGETS WHERE WGT_MOD_ID = ?) ;"
     db.query(stmnt,(module.get_id(),),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
     return
Example #14
0
 def delete_actions_with_widget(cls, widget):
     """
     Deletes all actions that contain this widget
     """
     db = Database()
     stmnt = "DELETE FROM ACTIONS WHERE ACT_WGT_ID = ? ;"
     db.query(stmnt,(widget.get_id(),),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
     return
Example #15
0
 def delete_definitions_with_widget(cls, widget):
     """
     Deletes all Definitions that concern the given widget
     """
     db = Database()
     stmnt = "DELETE FROM CSS WHERE CSS_WGT_ID = ? ;"
     db.query(stmnt, (widget.get_id(),), commit=True)
     cls.cleanup_css_sessiontable()
     return
Example #16
0
 def delete(self):
     """
     Deletes this menu from the database
     """
     db = Database()
     stmnt = "DELETE FROM MENUS WHERE MNU_ID = ? ;"
     db.query(stmnt, (self.get_id(),),commit=True)
     db.commit()
     PokeManager.add_activity(ActivityType.MENU)
Example #17
0
 def set_name(self,name,ignore_db = True):
     """
     Sets the Name of the action
     """
     self._name = unicode(name)
     if not ignore_db:
         db = Database()
         stmnt = "UPDATE ACTIONS SET ACT_NAME = ? WHERE ACT_ID = ? ;"
         db.query(stmnt, (self._name, self.get_id()),commit=True)
Example #18
0
 def set_name(self, name, ignore_db=False):
     """
     Sets the Name of the actionList
     """
     self._name = unicode(name)
     if self._id is not None and not ignore_db:
         db = Database()
         stmnt= "UPDATE ACTIONLISTS SET ATL_NAME = ? WHERE ATL_ID = ? ;"
         db.query(stmnt, (self._name, self.get_id()),commit=True)
Example #19
0
 def create_permission(cls, permission, module=""):
     """
     Creates a new permission in database
     """
     db = Database()
     new_id = db.get_seq_next('RIG_GEN')
     stmnt = "INSERT INTO RIGHTS (RIG_ID, RIG_NAME) VALUES (?,?) ;"
     db.query(stmnt,(new_id,module+"."+permission),commit=True)
     PokeManager.add_activity(ActivityType.PERMISSION)
     return module+"."+permission
Example #20
0
    def revoke_from(self, user):
        """
        Revokes a role from a user 
        """
        session_user = Session.get_current_session_user()

        db = Database()
        stmnt = "DELETE FROM USERROLES WHERE URO_USR_ID = ? AND URO_ROL_ID = ? ;";
        db.query(stmnt,(user.get_id(),self._id),commit=True)
        PokeManager.add_activity(ActivityType.USER)
Example #21
0
 def add_menu_item(self, menu_item):
     """
     Adds a MenuItem as SubMenu-Component to this MenuItem
     """
     menu_item_id = menu_item.get_id()
     menu_item.set_parent_menu_item_id(self.get_id())
     db = Database()
     stmnt = "UPDATE MENUITEMS SET MNI_MNI_ID = ? WHERE MNI_ID = ? ;"
     db.query(stmnt, (self.get_id(), menu_item_id),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
Example #22
0
 def assign_action_list(self, action_list):
     """
     Assigns an ActionList to this MenuItem
     """
     action_list_id = action_list.get_id()
     self.set_action_list_id(action_list_id)
     db = Database()
     stmnt = "UPDATE MENUITEMS SET MNI_ATL_ID = ? WHERE MNI_ID = ? ;"
     db.query(stmnt, (action_list_id, self.get_id()),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
Example #23
0
 def set_name(self,name, ignore_db=False):
     """
     Sets the name of this MenuItem
     """
     self._name = unicode(name)
     if self.get_id() is not None and not ignore_db:
         db = Database()
         stmnt = "UPDATE MENUITEMS SET MNI_NAME = ? WHERE MNI_ID = ? ;"
         db.query(stmnt, (self._name, self.get_id()),commit=True)
         PokeManager.add_activity(ActivityType.MENU)
Example #24
0
 def remove_menu_item(self, menu_item):
     """
     Removes a MenuItem (SubmenuItem) assigned to this MenuItem
     """
     menu_item_id = menu_item.get_id()
     menu_item.set_parent_menu_item_id(None)
     db = Database()
     stmnt = "UPDATE MENUITEMS SET MNI_MNI_ID = NULL WHERE MNI_ID = ? ;"
     db.query(stmnt, (self.get_id(), menu_item_id),commit=True)
     PokeManager.add_activity(ActivityType.MENU)
Example #25
0
 def create_default_view(cls):
     db = Database()
     stmnt = "SELECT VIE_ID FROM VIEWS WHERE VIE_DEFAULT = 1 ;"
     cur = db.query(stmnt)
     row = cur.fetchonemap()
     if row is None:
         view_id = db.get_seq_next("VIE_GEN")
         stmnt = "INSERT INTO VIEWS (VIE_ID, VIE_SIT_ID, VIE_NAME, VIE_DEFAULT) \
                    VALUES (?,1,'default',1) ;"
         db.query(stmnt, (view_id,), commit=True)
Example #26
0
    def cleanup(cls):
        """
        Remove activities that are no longer needed
        """
        session = Session.get_current_session()

        db = Database()
        stmnt = "DELETE FROM SESSIONPOKE WHERE SPO_SES_ID IN (SELECT SES_ID FROM SESSIONS WHERE SES_EXPIRES < CURRENT_TIMESTAMP) ;"
        db.query(stmnt, (session.get_id(),), commit=True)
        stmnt = "DELETE FROM ACTIVITIES WHERE ATV_ID < COALESCE ((SELECT MIN(SPO_ATV_ID) FROM SESSIONPOKE WHERE SPO_SES_ID != ?),0) ;"
        db.query(stmnt, (session.get_id(),), commit=True)
Example #27
0
    def delete(self):
        """
        deletes this repo from database
        """
        if self._id is None:
            raise ModuleCoreException(ModuleCoreException.get_msg(4))
        db = Database()

        stmnt = "DELETE FROM REPOSITORIES WHERE REP_ID = ? ;"
        db.query(stmnt,(self._id,),commit=True)
        PokeManager.add_activity(ActivityType.REPOSITORY)
Example #28
0
 def add_menu_item(self, menu_item):
     """
     Adds a MenuItem to this Menu
     MenuItem only gets added if its not already assigned here
     """
     if menu_item not in self._children:
         self._chilren.append(menu_item)
         db = Database()
         stmnt = "UPDATE MENUITEMS SET MNI_MNU_ID = ? WHERE MNI_ID = ? ;"
         db.query(stmnt, (self.get_id(),menu_item.get_id()),commit=True)
         PokeManager.add_activity(ActivityType.MENU)
Example #29
0
 def delete_definitions_with_module(cls, module):
     """
     Deletes all CSS-Definitions that concern the given module
     and its children (Widget-related)
     """
     db = Database()
     stmnt = "DELETE FROM CSS WHERE CSS_MOD_ID = ? OR \
              CSS_WGT_ID IN (SELECT WGT_ID FROM WIDGETS WHERE WGT_MOD_ID = ? ) ;"
     db.query(stmnt, (module.get_id(), module.get_id()), commit=True)
     cls.cleanup_css_sessiontable()
     return
Example #30
0
 def poke(cls):
     """
     Pulls together poke-response information for the current client
     """
     activity_report = ActivityReport.generate()
     session = Session.get_current_session()
     db = Database()
     stmnt = "UPDATE OR INSERT INTO SESSIONPOKE (SPO_SES_ID, SPO_ATV_ID) VALUES (?, \
             MAXVALUE(COALESCE((SELECT SPO_ATV_ID FROM SESSIONPOKE WHERE SPO_SES_ID = ?), 0) ,?)) MATCHING (SPO_SES_ID) ;"
     db.query(stmnt, (session.get_id(), session.get_id(), activity_report._latest_id+1), commit=True)
     cls.cleanup()
     return activity_report.to_dict()