Example #1
0
    def mass_annotate(new_query, result):
        if not new_query.has_key("annotate_inode"):
            result.heading("Error")
            result.para("You must select some inodes to annotate by checking their checkboxes")
            return

        if new_query.has_key("__submit__"):
            tag = new_query.get("annotate_text","Tag")
            category = new_query.get("annotate_category", "Note")
            if new_query.has_key("new_annotate_category"):
                category = new_query['new_annotate_category']
                
            dbh = DB.DBO(case)
            ## First delete old annotations if present
            for inode_id in new_query.getarray("annotate_inode"):
                dbh.delete("annotate", where=DB.expand("inode_id=%r", inode_id))

            ## Now insert new ones
            for inode_id in new_query.getarray("annotate_inode"):
                dbh.insert("annotate",
                           inode_id = inode_id,
                           note = tag,
                           category = category,
                           )

            del query["annotate_inode"]
            query.set("annotate_text", tag)
            query.set("annotate_category", category)
            result.refresh(0, query, pane="parent_pane")

        fsfd = FileSystem.DBFS(case)
        new_query.default('annotate_text',query.get("annotate_text","Tag"))
        new_query.default("annotate_category", query.get("annotate_category","Note"))
        result.decoration='naked'
        result.heading("Set Annotation Text")
        result.start_form(new_query, pane='self')
        result.textarea("Annotation Text",'annotate_text')
        TableActions.selector_display(None, "Category", "annotate_category",
                                      result=result, table = 'annotate',
                                      field='category', case=case,
                                      default='Note')
        result.end_table()
        result.end_form()

        result.para("The following inodes will be annotated:")
        result.start_table(**{'class':'GeneralTable'})
        for inode_id in new_query.getarray("annotate_inode"):
            path, inode, inode_id = fsfd.lookup(inode_id = inode_id)
            
            result.row(inode, path)
Example #2
0
    def mass_annotate(new_query, result):
        if not new_query.has_key("annotate_inode"):
            result.heading("Error")
            result.para("You must select some inodes to annotate by checking their checkboxes")
            return

        if new_query.has_key("__submit__"):
            tag = new_query.get("annotate_text","Tag")
            category = new_query.get("annotate_category", "Note")
            if new_query.has_key("new_annotate_category"):
                category = new_query['new_annotate_category']
                
            dbh = DB.DBO(case)
            ## First delete old annotations if present
            for inode_id in new_query.getarray("annotate_inode"):
                dbh.delete("annotate", where=DB.expand("inode_id=%r", inode_id))

            ## Now insert new ones
            for inode_id in new_query.getarray("annotate_inode"):
                dbh.insert("annotate",
                           inode_id = inode_id,
                           note = tag,
                           category = category,
                           )

            del query["annotate_inode"]
            query.set("annotate_text", tag)
            query.set("annotate_category", category)
            result.refresh(0, query, pane="parent_pane")

        fsfd = FileSystem.DBFS(case)
        new_query.default('annotate_text',query.get("annotate_text","Tag"))
        new_query.default("annotate_category", query.get("annotate_category","Note"))
        result.decoration='naked'
        result.heading("Set Annotation Text")
        result.start_form(new_query, pane='self')
        result.textarea("Annotation Text",'annotate_text')
        TableActions.selector_display(None, "Category", "annotate_category",
                                      result=result, table = 'annotate',
                                      field='category', case=case,
                                      default='Note')
        result.end_table()
        result.end_form()

        result.para("The following inodes will be annotated:")
        result.start_table(**{'class':'GeneralTable'})
        for inode_id in new_query.getarray("annotate_inode"):
            path, inode, inode_id = fsfd.lookup(inode_id = inode_id)
            
            result.row(inode, path)