Changeset 615


Ignore:
Timestamp:
08/23/14 06:15:57 (4 years ago)
Author:
jls17
Message:
  • added audit schema detection
  • audit schema is now documented as "Audit" on the schema detail page
  • now audit log target form does show references to the audit source forms
Location:
branches/work_311
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/work_311/ARApi.h

    r610 r615  
    5959#endif 
    6060 
     61// normally audit forms are just regular form, but to distinct we define and use our own constant 
     62#define AR_SCHEMA_AUDIT        100 
    6163 
    6264// to support our own xml object types used in lists 
  • branches/work_311/ARInside.cpp

    r595 r615  
    6969///////// 
    7070// version information block 
    71 #define VERSION "3.1.0" 
     71#define VERSION "3.1.1" 
    7272#if defined(_DEBUG) 
    7373#define VERSION_STR VERSION "." SVN_REV_STR " Debug" 
     
    7575#define VERSION_STR VERSION "." SVN_REV_STR " Beta" 
    7676#else 
    77 #define VERSION_STR VERSION "." SVN_REV_STR 
     77#define VERSION_STR VERSION "." SVN_REV_STR " DevBuild" 
    7878#endif 
    7979const string AppVersion = VERSION_STR; 
  • branches/work_311/core/AREnum.cpp

    r571 r615  
    13911391        case AR_SCHEMA_DIALOG: return "Dialog"; 
    13921392        case AR_SCHEMA_VENDOR: return "Vendor"; 
     1393        case AR_SCHEMA_AUDIT: return "Audit"; 
    13931394        default: return EnumDefault; 
    13941395        } 
  • branches/work_311/doc/DocSchemaDetails.cpp

    r613 r615  
    17641764                                } 
    17651765                                break; 
     1766                        case AR_AUDIT_LOG_SHADOW: 
     1767                                { 
     1768                                        row.AddCell("Audited From Forms"); 
     1769                                        row.AddCell(AuditTargetReferences()); 
     1770                                        tbl.AddRow(row); 
     1771                                } 
     1772                                break; 
    17661773                } 
    17671774 
     
    21242131 
    21252132        // generate the schema type row (and with additional details for special form types like join, view and vendor) 
    2126         if (compSchema.schemaType == AR_SCHEMA_JOIN) 
    2127         { 
    2128                 strm << CAREnum::JoinType(compSchema.u.join.option) << "-"; 
    2129         } 
    2130         strm << CAREnum::SchemaType(compSchema.schemaType); 
    2131  
    2132         if(compSchema.schemaType == AR_SCHEMA_JOIN 
    2133                 || compSchema.schemaType == AR_SCHEMA_VIEW 
    2134                 || compSchema.schemaType == AR_SCHEMA_VENDOR) 
    2135         { 
    2136                 strm << " " << this->TypeDetails(); 
    2137         } 
    2138  
    21392133        row.AddCell("Type"); 
    2140         row.AddCell(strm.str()); 
     2134        row.AddCell(GetSchemaType()); 
    21412135        tbl.AddRow(row); 
    21422136        row.ClearCells(); 
     
    23462340             << "<div>" << this->pInside->ServerObjectHistory(&this->schema, rootLevel, true) << "</div>" << endl; 
    23472341} 
     2342 
     2343string CDocSchemaDetails::GetSchemaType() 
     2344{ 
     2345        const ARCompoundSchema &compSchema = schema.GetCompound(); 
     2346        unsigned int schemaType = compSchema.schemaType; 
     2347        stringstream strm; 
     2348 
     2349        if (IsAuditTarget()) 
     2350        { 
     2351                schemaType = AR_SCHEMA_AUDIT; 
     2352        } 
     2353 
     2354        if (schemaType == AR_SCHEMA_JOIN) 
     2355        { 
     2356                strm << CAREnum::JoinType(compSchema.u.join.option) << "-"; 
     2357        } 
     2358        strm << CAREnum::SchemaType(schemaType); 
     2359 
     2360        if(schemaType == AR_SCHEMA_JOIN 
     2361                || schemaType == AR_SCHEMA_VIEW 
     2362                || schemaType == AR_SCHEMA_VENDOR) 
     2363        { 
     2364                strm << " " << this->TypeDetails(); 
     2365        } 
     2366 
     2367        return strm.str(); 
     2368} 
     2369 
     2370bool CDocSchemaDetails::IsAuditTarget() 
     2371{ 
     2372        const CARSchema::ReferenceList &references = schema.GetReferences(); 
     2373        CARSchema::ReferenceList::const_iterator curIt = references.begin(); 
     2374        CARSchema::ReferenceList::const_iterator endIt = references.end(); 
     2375 
     2376        for (; curIt != endIt; ++curIt) 
     2377        { 
     2378                if (curIt->GetMessageId() == REFM_SCHEMA_AUDIT_SOURCE) 
     2379                        return true; 
     2380        } 
     2381        return false; 
     2382} 
     2383 
     2384string CDocSchemaDetails::AuditTargetReferences() 
     2385{ 
     2386        vector<int> schemas; 
     2387 
     2388        const CARSchema::ReferenceList &references = schema.GetReferences(); 
     2389        CARSchema::ReferenceList::const_iterator curIt = references.begin(); 
     2390        CARSchema::ReferenceList::const_iterator endIt = references.end(); 
     2391 
     2392        for (; curIt != endIt; ++curIt) 
     2393        { 
     2394                if (curIt->GetMessageId() == REFM_SCHEMA_AUDIT_SOURCE && curIt->GetObjectType() == AR_STRUCT_ITEM_XML_SCHEMA) 
     2395                        schemas.push_back(curIt->GetObjectId()); 
     2396        } 
     2397 
     2398        if (schemas.size() > 0) 
     2399        { 
     2400                stringstream strm; 
     2401                 
     2402                size_t count = schemas.size(); 
     2403 
     2404                for (size_t index = 0; index < count; ++index) 
     2405                { 
     2406                        if (index > 0) { strm << "<br/>"; } 
     2407                        strm << pInside->LinkToSchema(schemas[index], rootLevel); 
     2408                } 
     2409                return strm.str(); 
     2410        } 
     2411        return ""; 
     2412} 
  • branches/work_311/doc/DocSchemaDetails.h

    r589 r615  
    4747 
    4848        std::string GenerateReferencesTable(const ARCompoundSchema &compSchema); 
     49        std::string AuditTargetReferences(); 
    4950 
    5051        string AllFields(); 
     
    7778        bool IsSchemaInWFConnectStruct(const ARWorkflowConnectStruct& wfCS); 
    7879        bool IsJoinViewOrVendorForm(); 
     80        bool IsAuditTarget(); 
    7981        list<string> uniqueAlList; 
    8082        list<string> uniqueFilterList; 
    8183        list<string> uniqueEscalList; 
     84 
     85        string GetSchemaType(); 
    8286}; 
  • branches/work_311/scan/ScanSchema.cpp

    r614 r615  
    7676void CScanSchema::ScanAuditReference() 
    7777{ 
    78         ARAuditInfoStruct &audit = schema.GetAuditInfo(); 
     78        const ARAuditInfoStruct &audit = schema.GetAuditInfo(); 
    7979        if (audit.formName[0] != 0) 
    8080        { 
Note: See TracChangeset for help on using the changeset viewer.