示例#1
0
        /// <summary>
        /// Operations to be performed during the upgrade process.
        /// </summary>
        public override void Up()
        {
            AddColumn("dbo.WorkflowActivity", "AssignedPersonAliasId", c => c.Int());
            AddColumn("dbo.WorkflowActivity", "AssignedGroupId", c => c.Int());
            CreateIndex("dbo.WorkflowActivity", "AssignedPersonAliasId");
            CreateIndex("dbo.WorkflowActivity", "AssignedGroupId");
            AddForeignKey("dbo.WorkflowActivity", "AssignedGroupId", "dbo.Group", "Id");
            AddForeignKey("dbo.WorkflowActivity", "AssignedPersonAliasId", "dbo.PersonAlias", "Id");

            RockMigrationHelper.AddDefinedType_pre201409101843015("Global", "CSS Classes", "Contain common css class definitions", "407A3A73-A3EF-4970-B856-2A33F62AC72E", @"");
            RockMigrationHelper.AddDefinedTypeAttribute("407A3A73-A3EF-4970-B856-2A33F62AC72E", "9C204CD0-1233-41C5-818A-C5DA439445AA", "CSS Class", "CSSClass", "The css class", 28, "", "6FF59F53-28EA-4BFE-AFE1-A459CC588495");
            RockMigrationHelper.AddDefinedValue_pre20140819("407A3A73-A3EF-4970-B856-2A33F62AC72E", "Primary Button", "", "FDC397CD-8B4A-436E-BEA1-BCE2E6717C03", false);
            RockMigrationHelper.AddDefinedValueAttributeValue("FDC397CD-8B4A-436E-BEA1-BCE2E6717C03", "6FF59F53-28EA-4BFE-AFE1-A459CC588495", @"btn btn-primary");
            RockMigrationHelper.AddDefinedValue_pre20140819("407A3A73-A3EF-4970-B856-2A33F62AC72E", "Red Button", "", "FDEB8E6C-70C3-4033-B307-7D0DEE1AC29D", false);
            RockMigrationHelper.AddDefinedValueAttributeValue("FDEB8E6C-70C3-4033-B307-7D0DEE1AC29D", "6FF59F53-28EA-4BFE-AFE1-A459CC588495", @"btn btn-danger");

            RockMigrationHelper.AddDefinedType_pre201409101843015("Location", "Countries", "Defines how addresses are displayed and formatted for each country", "D7979EA1-44E9-46E2-BF37-DDAF7F741378", @"");
            RockMigrationHelper.AddDefinedTypeAttribute("D7979EA1-44E9-46E2-BF37-DDAF7F741378", "9C204CD0-1233-41C5-818A-C5DA439445AA", "Abbreviation", "Abbreviation", "The abbreviation for the country", 0, "", "DA46DC37-5398-4520-B6A5-6E57C9C46F7A");
            RockMigrationHelper.AddDefinedTypeAttribute("D7979EA1-44E9-46E2-BF37-DDAF7F741378", "9C204CD0-1233-41C5-818A-C5DA439445AA", "Postal Code Label", "PostalCodeLabel", "The label to use for the Postal Code (Zip) field", 2, "Zip", "7D785A5D-53CA-4FEC-BC88-DFBD7439B547");
            RockMigrationHelper.AddDefinedTypeAttribute("D7979EA1-44E9-46E2-BF37-DDAF7F741378", "9C204CD0-1233-41C5-818A-C5DA439445AA", "State Label", "StateLabel", "The label to use for the 'state' field", 1, "State", "A4E00B14-8CFF-4719-A43F-462851C7BBEF");
            RockMigrationHelper.AddDefinedTypeAttribute("D7979EA1-44E9-46E2-BF37-DDAF7F741378", "C28C7BF3-A552-4D77-9408-DEDCF760CED0", "Address Format", "AddressFormat", "The Liquid syntax to use for formatting addresses", 3, @"
{{ Street1 }} 
{{ Street2 }}
{{ City }}, {{ State }} {{ Zip }}
", "B6EF4138-C488-4043-A628-D35F91503843");
            RockMigrationHelper.AddDefinedValue_pre20140819("D7979EA1-44E9-46E2-BF37-DDAF7F741378", "United States", "United States", "F4DAEB01-A0E5-426A-A425-7F6D21DF1CE7", false);
            RockMigrationHelper.AddDefinedValueAttributeValue("F4DAEB01-A0E5-426A-A425-7F6D21DF1CE7", "DA46DC37-5398-4520-B6A5-6E57C9C46F7A", @"US");
            RockMigrationHelper.AddDefinedValueAttributeValue("F4DAEB01-A0E5-426A-A425-7F6D21DF1CE7", "A4E00B14-8CFF-4719-A43F-462851C7BBEF", @"State");
            RockMigrationHelper.AddDefinedValueAttributeValue("F4DAEB01-A0E5-426A-A425-7F6D21DF1CE7", "7D785A5D-53CA-4FEC-BC88-DFBD7439B547", @"Zip");
            RockMigrationHelper.AddDefinedValueAttributeValue("F4DAEB01-A0E5-426A-A425-7F6D21DF1CE7", "B6EF4138-C488-4043-A628-D35F91503843", @"{{ Street1 }} 
{{ Street2 }}
{{ City }}, {{ State }} {{ Zip }}");

            RockMigrationHelper.AddDefinedValue_pre20140819("D7979EA1-44E9-46E2-BF37-DDAF7F741378", "Canada", "Canada", "60D86635-8E4A-4F4B-8052-26048DAE0335", false);
            RockMigrationHelper.AddDefinedValueAttributeValue("60D86635-8E4A-4F4B-8052-26048DAE0335", "DA46DC37-5398-4520-B6A5-6E57C9C46F7A", @"CA");
            RockMigrationHelper.AddDefinedValueAttributeValue("60D86635-8E4A-4F4B-8052-26048DAE0335", "A4E00B14-8CFF-4719-A43F-462851C7BBEF", @"Province");
            RockMigrationHelper.AddDefinedValueAttributeValue("60D86635-8E4A-4F4B-8052-26048DAE0335", "7D785A5D-53CA-4FEC-BC88-DFBD7439B547", @"Postal Code");
            RockMigrationHelper.AddDefinedValueAttributeValue("60D86635-8E4A-4F4B-8052-26048DAE0335", "B6EF4138-C488-4043-A628-D35F91503843", @"{{ Street1 }} 
{{ Street2 }}
{{ City }}, {{ State }} {{ Zip }}
{{ Country }}");

            RockMigrationHelper.AddDefinedTypeAttribute("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "59D5A94C-94A0-4630-B80A-BB25697D74C7", "Country", "Country", "The country that the 'state' belongs to", 29, "f4daeb01-a0e5-426a-a425-7f6d21df1ce7", "3B234A62-B87D-47CD-A33F-32CC6C840A02");
            RockMigrationHelper.AddAttributeQualifier("3B234A62-B87D-47CD-A33F-32CC6C840A02", "allowmultiple", "False", "0177244E-D113-4752-8C89-2DD05BA5FAE0");
            RockMigrationHelper.AddAttributeQualifier("3B234A62-B87D-47CD-A33F-32CC6C840A02", "definedtype", "46", "50019CC0-BBD9-4CE8-B04D-15DD9698F8BD");

            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "AB", "Alberta", "50ABDD73-C7BF-4439-994F-EE3ADD60910B");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "BC", "British Columbia", "2651DEE8-30D6-477D-88CA-48EBA769683E");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "MB", "Manitoba", "5A59DC0E-97E0-45EA-83CD-586EB9D4BD49");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "NB", "New Brunswick", "C975FD3B-2A25-473A-8CD4-ABBCD0757CA0");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "NL", "Newfoundland and Labrador", "C8ABE4D8-6B88-47ED-80DB-CDF8EEF47A7F");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "NT", "Northwest Territories", "67E0BC8B-BE23-40B0-ADB1-ACA50CEF8825");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "NS", "Nova Scotia", "F91359C1-D6F9-495E-A475-9D7DEF7AA67B");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "NU", "Nunavut", "B6AC22E5-676E-4FB9-909D-4E047A21B703");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "ON", "Ontario", "0EF0F132-69C3-480F-801A-59145F417277");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "PE", "Prince Edward Island", "25DE8C9B-9F69-4B4E-A21F-D976FE1D0D41");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "QC", "Quebec", "BE1A052A-ABCD-48C2-AA04-BDE4F394D001");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "SK", "Saskatchewan", "63B48AA0-8904-4415-9F5E-7218454D3D0F");
            RockMigrationHelper.AddDefinedValue_pre20140819("C3A20D2D-AEAF-4E2B-A1D9-2E072CEFC2BB", "YT", "Yukon", "91D87671-F309-4908-ABE1-57FA27B2C7F6");

            RockMigrationHelper.AddDefinedValueAttributeValue("0EF0F132-69C3-480F-801A-59145F417277", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("BE1A052A-ABCD-48C2-AA04-BDE4F394D001", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("F91359C1-D6F9-495E-A475-9D7DEF7AA67B", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("C975FD3B-2A25-473A-8CD4-ABBCD0757CA0", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("5A59DC0E-97E0-45EA-83CD-586EB9D4BD49", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("2651DEE8-30D6-477D-88CA-48EBA769683E", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("25DE8C9B-9F69-4B4E-A21F-D976FE1D0D41", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("63B48AA0-8904-4415-9F5E-7218454D3D0F", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("50ABDD73-C7BF-4439-994F-EE3ADD60910B", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("C8ABE4D8-6B88-47ED-80DB-CDF8EEF47A7F", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("67E0BC8B-BE23-40B0-ADB1-ACA50CEF8825", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("91D87671-F309-4908-ABE1-57FA27B2C7F6", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");
            RockMigrationHelper.AddDefinedValueAttributeValue("B6AC22E5-676E-4FB9-909D-4E047A21B703", "3B234A62-B87D-47CD-A33F-32CC6C840A02", "60D86635-8E4A-4F4B-8052-26048DAE0335");

            Sql(@"
    UPDATE [Attribute] SET [IsGridColumn] = 1
    WHERE [Guid] IN ( '6FF59F53-28EA-4BFE-AFE1-A459CC588495', 'DA46DC37-5398-4520-B6A5-6E57C9C46F7A', '7D785A5D-53CA-4FEC-BC88-DFBD7439B547', 'A4E00B14-8CFF-4719-A43F-462851C7BBEF', '3B234A62-B87D-47CD-A33F-32CC6C840A02')
");

            RockMigrationHelper.AddPage("98163C8B-5C91-4A68-BB79-6AD948A604CE", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "Workflow", "", "CDB27DB2-977C-415A-AED5-D0751DFD5DF2", "");         // Site:Rock RMS
            RockMigrationHelper.AddPage("CDB27DB2-977C-415A-AED5-D0751DFD5DF2", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "Workflows", "", "6510AB6B-DFB4-4DBF-9F0F-7EA598E4AC54", "");        // Site:Rock RMS
            RockMigrationHelper.AddPage("6510AB6B-DFB4-4DBF-9F0F-7EA598E4AC54", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "Manage Workflows", "", "61E1B4B6-EACE-42E8-A2FB-37465E6D0004", ""); // Site:Rock RMS
            RockMigrationHelper.AddPage("61E1B4B6-EACE-42E8-A2FB-37465E6D0004", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "Workflow Entry", "", "0550D2AA-A705-4400-81FF-AB124FDF83D7", "");   // Site:Rock RMS
            RockMigrationHelper.AddPage("61E1B4B6-EACE-42E8-A2FB-37465E6D0004", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "Workflow Detail", "", "BA547EED-5537-49CF-BD4E-C583D760788C", "");  // Site:Rock RMS

            RockMigrationHelper.UpdateBlockType("Workflow Entry", "Used to enter information for a workflow form entry action.", "~/Blocks/Core/WorkflowEntry.ascx", "Core", "A8BD05C8-6F89-4628-845B-059E686F089A");
            RockMigrationHelper.UpdateBlockType("Workflow Navigation", "Block for navigating workflow types and launching and/or managing workflows.", "~/Blocks/Core/WorkflowNavigation.ascx", "Core", "DDC6B004-9ED1-470F-ABF5-041250082168");

            // Add Block to Page: Workflow Entry, Site: Rock RMS
            RockMigrationHelper.AddBlock("0550D2AA-A705-4400-81FF-AB124FDF83D7", "", "A8BD05C8-6F89-4628-845B-059E686F089A", "Workflow Entry", "Main", "", "", 0, "29D1A3BC-9D08-4782-8B01-FE5DC6FCF367");
            // Add Block to Page: Manage Workflows, Site: Rock RMS
            RockMigrationHelper.AddBlock("61E1B4B6-EACE-42E8-A2FB-37465E6D0004", "", "C86C80DF-F2FD-47F8-81CF-7C5EA4100C3B", "Workflow List", "Main", "", "", 0, "BCC61035-DA99-47EE-A376-71D430455DB4");
            // Add Block to Page: Workflows, Site: Rock RMS
            RockMigrationHelper.AddBlock("6510AB6B-DFB4-4DBF-9F0F-7EA598E4AC54", "", "DDC6B004-9ED1-470F-ABF5-041250082168", "Workflow Navigation", "Main", "", "", 0, "2D20CEC4-328E-4C2B-8059-78DFC49D8E35");

            // Attrib for BlockType: Workflow Entry:Workflow Type
            RockMigrationHelper.AddBlockTypeAttribute("A8BD05C8-6F89-4628-845B-059E686F089A", "46A03F59-55D3-4ACE-ADD5-B4642225DD20", "Workflow Type", "WorkflowType", "", "Type of workflow to start.", 0, @"", "2F1D98C4-A8EF-4680-9F64-11BFC28D5597");
            // Attrib for BlockType: Workflow Navigation:Manage Page
            RockMigrationHelper.AddBlockTypeAttribute("DDC6B004-9ED1-470F-ABF5-041250082168", "BD53F9C9-EBA9-4D3F-82EA-DE5DD34A8108", "Manage Page", "ManagePage", "", "Page used to manage workflows of the selected type.", 0, @"", "6B8E6B05-87E6-4CA0-9A44-861184E3A34C");
            // Attrib for BlockType: Workflow Navigation:Entry Page
            RockMigrationHelper.AddBlockTypeAttribute("DDC6B004-9ED1-470F-ABF5-041250082168", "BD53F9C9-EBA9-4D3F-82EA-DE5DD34A8108", "Entry Page", "EntryPage", "", "Page used to launch a new workflow of the selected type.", 0, @"", "DABA0448-C967-4E9D-863E-59C95059935A");
            // Attrib for BlockType: Workflow List:Entry Page
            RockMigrationHelper.AddBlockTypeAttribute("C86C80DF-F2FD-47F8-81CF-7C5EA4100C3B", "BD53F9C9-EBA9-4D3F-82EA-DE5DD34A8108", "Entry Page", "EntryPage", "", "Page used to launch a new workflow of the selected type.", 0, @"", "630AF4C8-6DA1-4BC2-8D38-283D7EF3DD43");
            // Attrib Value for Block:Attribute Values, Attribute:Category Page: Extended Attributes, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("DCA9E640-B5EA-4C73-90BC-4A91330528D5", "EC43CF32-3BDF-4544-8B6A-CE9208DD7C81", @"dd8f467d-b83c-444f-b04c-c681167046a1");
            // Attrib Value for Block:Workflow Entry, Attribute:Workflow Type Page: Workflow Entry, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("29D1A3BC-9D08-4782-8B01-FE5DC6FCF367", "2F1D98C4-A8EF-4680-9F64-11BFC28D5597", @"");
            // Attrib Value for Block:Workflow List, Attribute:Entry Page Page: Manage Workflows, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("BCC61035-DA99-47EE-A376-71D430455DB4", "630AF4C8-6DA1-4BC2-8D38-283D7EF3DD43", @"0550d2aa-a705-4400-81ff-ab124fdf83d7");
            // Attrib Value for Block:Workflow List, Attribute:Detail Page Page: Manage Workflows, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("BCC61035-DA99-47EE-A376-71D430455DB4", "C0BA339B-10C5-4609-B806-D192C733FFF1", @"ba547eed-5537-49cf-bd4e-c583d760788c");
            // Attrib Value for Block:Workflow Navigation, Attribute:Manage Page Page: Workflows, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("2D20CEC4-328E-4C2B-8059-78DFC49D8E35", "6B8E6B05-87E6-4CA0-9A44-861184E3A34C", @"61e1b4b6-eace-42e8-a2fb-37465e6d0004");
            // Attrib Value for Block:Workflow Navigation, Attribute:Entry Page Page: Workflows, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("2D20CEC4-328E-4C2B-8059-78DFC49D8E35", "DABA0448-C967-4E9D-863E-59C95059935A", @"0550d2aa-a705-4400-81ff-ab124fdf83d7");
            RockMigrationHelper.UpdateFieldType("Comparison", "", "Rock", "Rock.Field.Types.ComparisonFieldType", "3C742B81-3C55-48B8-A7CD-E7762EA5BB91");
            RockMigrationHelper.UpdateFieldType("Metric Entity", "", "Rock", "Rock.Field.Types.MetricEntityFieldType", "3A7FB32E-1CCD-4F79-B085-BDBADEB56CCF");
            RockMigrationHelper.UpdateFieldType("Workflow Activity", "", "Rock", "Rock.Field.Types.WorkflowActivityFieldType", "739FD425-5B8C-4605-B775-7E4D9D4C11DB");
            RockMigrationHelper.UpdateFieldType("Workflow Attribute", "", "Rock", "Rock.Field.Types.WorkflowAttributeFieldType", "33E6DF69-BDFA-407A-9744-C175B60643AE");
            RockMigrationHelper.UpdateFieldType("Metrics", "", "Rock", "Rock.Field.Types.MetricsFieldType", "3AF9AD35-9F3E-4497-BFDE-60C6C1827653");
            RockMigrationHelper.UpdateFieldType("Entity", "", "Rock", "Rock.Field.Types.EntityFieldType", "B50968BD-7643-4288-9237-6E89D2065363");
            RockMigrationHelper.UpdateFieldType("Metric Categories", "", "Rock", "Rock.Field.Types.MetricCategoriesFieldType", "F5334A8E-B7E2-415C-A6EC-A6D8FA5341C4");
            RockMigrationHelper.UpdateFieldType("Workflow Text Or Attribute", "", "Rock", "Rock.Field.Types.WorkflowTextOrAttributeFieldType", "3B1D93D7-9414-48F9-80E5-6A3FC8F94C20");
            RockMigrationHelper.UpdateFieldType("Sliding Date Range", "", "Rock", "Rock.Field.Types.SlidingDateRangeFieldType", "55810BC5-45EA-4044-B783-0CCE0A445C6F");
        }
示例#2
0
        /// <summary>
        /// Operations to be performed during the upgrade process.
        /// </summary>
        public override void Up()
        {
            // Update the schema for all stored procedures and functions to be 'dbo'
            Sql(@"
    DECLARE 
	    @SchemaName varchar(max),
	    @ObjectName varchar(max),
	    @Sql varchar(max)

    DECLARE schema_cursor CURSOR FOR
	    SELECT S.[Name], O.[Name]
	    FROM sys.all_objects O
	    INNER JOIN sys.schemas S ON S.[schema_id] = O.[schema_id]
	    WHERE O.[Type] IN ( 'FN', 'P', 'TF')
	    AND S.[name] NOT IN ('sys','dbo')

    OPEN schema_cursor 
    FETCH NEXT FROM schema_cursor INTO @SchemaName, @ObjectName

    WHILE @@FETCH_STATUS = 0
    BEGIN
	
	    BEGIN TRY
		    SELECT @SQL = 'ALTER SCHEMA dbo TRANSFER [' + @SchemaName  + '].[' + @ObjectName + ']'
		    EXEC (@SQL)
        END TRY
        BEGIN CATCH
        END CATCH
    
	    FETCH NEXT FROM schema_cursor INTO @SchemaName, @ObjectName

    END

    CLOSE schema_cursor
    DEALLOCATE schema_cursor

");

            #region Add Activated by Activity property

            AddColumn("dbo.WorkflowActivity", "ActivatedByActivityId", c => c.Int());
            CreateIndex("dbo.WorkflowActivity", "ActivatedByActivityId");
            AddForeignKey("dbo.WorkflowActivity", "ActivatedByActivityId", "dbo.WorkflowActivity", "Id");

            #endregion

            #region Convert Safe Sender Domains to Defined Type

            RockMigrationHelper.AddDefinedType_pre201409101843015("Communication", "Safe Sender Domains", @"
Are the domains that can be used to send emails.  If an Email communication is created with a From Address that is not from 
one of these domains, the Organization Email global attribute value will be used instead for the From Address and the original 
value will be used as the Reply To address.  This is to help reduce the likelihood of communications being rejected by the 
receiving email servers.", "DB91D0E9-DCA6-45A9-8276-AEF032BE8AED");
            RockMigrationHelper.AddPage("199DC522-F4D6-4D82-AF44-3C16EE9D2CDA", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "Safe Sender Domains", "", "B90576B0-110E-4DC0-8EB8-4668C5238508", "fa fa-check");
            RockMigrationHelper.AddBlock("B90576B0-110E-4DC0-8EB8-4668C5238508", "", "08C35F15-9AF7-468F-9D50-CDFD3D21220C", "Defined Type Detail", "Main", "", "", 0, "74583AD9-36F5-44CE-9346-AA009440A49A");
            RockMigrationHelper.AddBlockAttributeValue("74583AD9-36F5-44CE-9346-AA009440A49A", "0305EF98-C791-4626-9996-F189B9BB674C", @"DB91D0E9-DCA6-45A9-8276-AEF032BE8AED");
            RockMigrationHelper.AddBlock("B90576B0-110E-4DC0-8EB8-4668C5238508", "", "0AB2D5E9-9272-47D5-90E4-4AA838D2D3EE", "Defined Value List", "Main", "", "", 1, "840878A8-6CFF-4A9E-B9E7-48D33E37959C");
            RockMigrationHelper.AddBlockAttributeValue("840878A8-6CFF-4A9E-B9E7-48D33E37959C", "9280D61F-C4F3-4A3E-A9BB-BCD67FF78637", @"DB91D0E9-DCA6-45A9-8276-AEF032BE8AED");

            Sql(@"
    DECLARE @DefinedTypeId int = ( SELECT TOP 1 [Id] FROM [DefinedType] WHERE [Guid] = 'DB91D0E9-DCA6-45A9-8276-AEF032BE8AED' )
    DECLARE @AttributeId int = ( SELECT TOP 1 [Id] FROM [Attribute] WHERE [Guid] = 'CDD29C51-5D33-435F-96AB-2C06BA772F88' )
    DECLARE @Domains varchar(8000) = ( SELECT TOP 1 [Value] FROM [AttributeValue] WHERE [AttributeId] = @AttributeId )
    DECLARE @Domain varchar(1000)
    WHILE LEN(@Domains) > 0
    BEGIN
        SET @Domain= LEFT(@Domains, ISNULL(NULLIF(CHARINDEX(',', @Domains) - 1, -1), LEN(@Domains)))
        SET @Domains = SUBSTRING(@Domains,ISNULL(NULLIF(CHARINDEX(',', @Domains), 0), LEN(@Domains)) + 1, LEN(@Domains))
		INSERT INTO [DefinedValue] ( [IsSystem], [DefinedTypeId], [Order], [Value], [Guid] )
        SELECT 0, @DefinedTypeId, 0, @Domain, NEWID()
    END
");
            RockMigrationHelper.DeleteAttribute("CDD29C51-5D33-435F-96AB-2C06BA772F88");

            #endregion

            #region Workflow Action Rename

            Sql(@"
    UPDATE [EntityType] SET [FriendlyName] = 'Send SMS'
    WHERE [Name] = 'Rock.Workflow.Action.SendSms'

    UPDATE [EntityType]	SET [FriendlyName] = 'Set Workflow Name'
	WHERE [Name] = 'Rock.Workflow.Action.SetName'

    UPDATE [EntityType]	SET [FriendlyName] = 'Assign Activity From Attribute Value'
	WHERE [Name] = 'Rock.Workflow.Action.AssignActivityToAttributeValue'
");
            #endregion
        }
        /// <summary>
        /// Operations to be performed during the upgrade process.
        /// </summary>
        public override void Up()
        {
            RockMigrationHelper.AddDefinedType_pre201409101843015("Global", "REST CORS Domains (Advanced)", @"
Lists the external domains that are authorized to access the REST API through ""cross-origin resource sharing"" (CORS).", "DF7C8DF7-49F9-4858-9E5D-20842AF65AD8", @"
When a browser encounters a script that originated from another domain trying to access the Rock REST API, the browser will query Rock (using CORS) to check 
if that request should be allowed. By default Rock will deny access to the API through this type of cross-site request. To override this behavior, add the domains that
should be allowed to make this type of request to the list of values below. This will enable CORS for just those domains. Note: This only applies to REST calls made 
through scripts downloaded from another domain to a browser. It does not apply to REST calls made directly from another external server or application. That type of
request is allowed by default (but still controlled through security).");

            RockMigrationHelper.AddPage("91CCB1C9-5F9F-44F5-8BE2-9EC3A3CFD46F", "D65F783D-87A9-4CC9-8110-E83466A0EADB", "REST CORS Domains", "", "B03A8C4E-E394-44B0-B7CC-89B74C79C325", "fa fa-sign-in"); // Site:Rock RMS
            // Add Block to Page: REST CORS Domains, Site: Rock RMS
            RockMigrationHelper.AddBlock("B03A8C4E-E394-44B0-B7CC-89B74C79C325", "", "0AB2D5E9-9272-47D5-90E4-4AA838D2D3EE", "Defined Value List", "Main", "", "", 1, "BC6CE880-382B-4DF2-8C10-B7F7C1DEC9FB");
            // Add Block to Page: REST CORS Domains, Site: Rock RMS
            RockMigrationHelper.AddBlock("B03A8C4E-E394-44B0-B7CC-89B74C79C325", "", "08C35F15-9AF7-468F-9D50-CDFD3D21220C", "Defined Type Detail", "Main", "", "", 0, "EF27C0E7-9D1A-41AB-970B-C854299CE667");
            // Attrib Value for Block:Defined Value List, Attribute:Defined Type Page: REST CORS Domains, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("BC6CE880-382B-4DF2-8C10-B7F7C1DEC9FB", "9280D61F-C4F3-4A3E-A9BB-BCD67FF78637", @"df7c8df7-49f9-4858-9e5d-20842af65ad8");
            // Attrib Value for Block:Defined Type Detail, Attribute:Defined Type Page: REST CORS Domains, Site: Rock RMS
            RockMigrationHelper.AddBlockAttributeValue("EF27C0E7-9D1A-41AB-970B-C854299CE667", "0305EF98-C791-4626-9996-F189B9BB674C", @"df7c8df7-49f9-4858-9e5d-20842af65ad8");


            Sql(@"
/* Move Communications Under People */
UPDATE [Page]
SET [ParentPageId] = (SELECT [Id] FROM [Page] WHERE [Guid] = '97ECDC48-6DF6-492E-8C72-161F76AE111B')
WHERE 
	[Id] = (SELECT [Id] FROM [Page] WHERE [Guid] = '7F79E512-B9DB-4780-9887-AD6D63A39050')

/* Move Prayer Under People */
UPDATE [Page]
SET [ParentPageId] = (SELECT [Id] FROM [Page] WHERE [Guid] = 'B0F4B33D-DD11-4CCC-B79D-9342831B8701')
WHERE 
	[Id] = (SELECT [Id] FROM [Page] WHERE [Guid] = '1A3437C8-D4CB-4329-A366-8D6A4CBF79BF')

UPDATE [DefinedType] SET [HelpText] = 'chart styles are defined with a json object. click the ''show/hide fields'' button below to view an example with all the available chart style fields.
<p>
    <a data-toggle=""collapse""  href=""#collapsefields"" class=''btn btn-action btn-xs''>show/hide  fields</a>
</p>

<div id=""collapsefields"" class=""panel-collapse collapse"">
<pre>
{
  ""seriescolors"": [
    ""#00cc00"",
    ""#007a00"",
    ""#005500"",
    ""#4db84d""
  ],
  ""goalseriescolor"": ""blue"",
  ""grid"": {  
    ""colorgradient"": null,
    ""color"": ""black"",
    ""backgroundcolorgradient"": [""rgba(0, 125, 0, .2)"", ""rgba(0,255,0,.1)"", ""rgba(0,125,0,.01)""],
    ""backgroundcolor"": null,
    ""borderwidth"": {
      ""top"": 0,
      ""right"": 0,
      ""bottom"": 1,
      ""left"": 1
    },
    ""bordercolor"": {
      ""top"": null,
      ""right"": null,
      ""bottom"": ""green"",
      ""left"": ""black""
    }
  },
  ""xaxis"": {
    ""color"": ""#99c2ff"",
    ""font"": {
      ""size"": null,
      ""family"": null,
      ""color"": ""#336600""
    },
    ""datetimeformat"": ""%b %d, %y""
  },
  ""yaxis"": {
    ""color"": ""#99c2ff"",
    ""font"": {
      ""size"": null,
      ""family"": null,
      ""color"": ""#336600""
    },
    ""datetimeformat"": null
  },
  ""fillopacity"": 0.2,
  ""fillcolor"": null,
  ""legend"": {
    ""backgroundcolor"": ""transparent"",
    ""backgroundopacity"": null,
    ""labelboxbordercolor"": null
  },
  ""title"": {
    ""font"": {
      ""size"": 18,
      ""family"": ""terminal"",
      ""color"": ""#296629""
    },
    ""align"": ""left""
  },
  ""subtitle"": {
    ""font"": {
      ""size"": 12,
      ""family"": ""terminal"",
      ""color"": ""#00cc66""
    },
    ""align"": ""right""
  }
}
</pre>

datetimeformat of the xaxis and yaxis supports the following specifiers.  for example ""%b %d, %y"" will output something like ''december 25, 2014''
<pre>
%a: weekday name (customizable)
%b: month name (customizable)
%d: day of month, zero-padded (01-31)
%e: day of month, space-padded ( 1-31)
%h: hours, 24-hour time, zero-padded (00-23)
%i: hours, 12-hour time, zero-padded (01-12)
%m: month, zero-padded (01-12)
%m: minutes, zero-padded (00-59)
%q: quarter (1-4)
%s: seconds, zero-padded (00-59)
%y: year (two digits)
%y: year (four digits)
%p: am/pm
%p: am/pm (uppercase version of %p)
%w: weekday as number (0-6, 0 being sunday)
</pre>
</div>' WHERE [Guid] = 'FC684FD7-FE68-493F-AF38-1656FBF67E6B'
");
        }
示例#4
0
        /// <summary>
        /// Operations to be performed during the upgrade process.
        /// </summary>
        public override void Up()
        {
            RockMigrationHelper.AddDefinedType_pre201409101843015("Global", "Chart Styles", "Defines a listing of various chart styles to be used as configuration for blocks that render charts", "FC684FD7-FE68-493F-AF38-1656FBF67E6B", @"Chart styles are defined with a JSON object. Click the ''Show/Hide Fields'' button below to view an example with all the available chart style fields.

<p>
    <a data-toggle=""collapse""  href=""#collapseFields"" class=''btn btn-action btn-xs''>Show/Hide  Fields</a>
</p>

<div id=""collapseFields"" class=""panel-collapse collapse"">
<pre>
{
  ""SeriesColors"": [
    ""#00CC00"",
    ""#007A00"",
    ""#005500"",
    ""#4DB84D""
  ],
  ""GoalSeriesColor"": ""blue"",
  ""Grid"": {  
    ""ColorGradient"": null,
    ""Color"": ""black"",
    ""BackgroundColorGradient"": [""RGBA(0, 125, 0, .2)"", ""RGBA(0,255,0,.1)"", ""RGBA(0,125,0,.01)""],
    ""BackgroundColor"": null,
    ""BorderWidth"": {
      ""top"": 0,
      ""right"": 0,
      ""bottom"": 1,
      ""left"": 1
    },
    ""BorderColor"": {
      ""top"": null,
      ""right"": null,
      ""bottom"": ""green"",
      ""left"": ""black""
    }
  },
  ""XAxis"": {
    ""Color"": ""#99C2FF"",
    ""Font"": {
      ""Size"": null,
      ""Family"": null,
      ""Color"": ""#336600""
    }
  },
  ""YAxis"": {
    ""Color"": ""#99C2FF"",
    ""Font"": {
      ""Size"": null,
      ""Family"": null,
      ""Color"": ""#336600""
    }
  },
  ""FillOpacity"": 0.2,
  ""FillColor"": null,
  ""Legend"": {
    ""BackgroundColor"": ""transparent"",
    ""BackgroundOpacity"": null,
    ""LabelBoxBorderColor"": null
  },
  ""Title"": {
    ""Font"": {
      ""Size"": 18,
      ""Family"": ""Terminal"",
      ""Color"": ""#296629""
    },
    ""Align"": ""left""
  },
  ""Subtitle"": {
    ""Font"": {
      ""Size"": 12,
      ""Family"": ""Terminal"",
      ""Color"": ""#00CC66""
    },
    ""Align"": ""right""
  }
}
</pre>
</div>");
            RockMigrationHelper.AddDefinedTypeAttribute("FC684FD7-FE68-493F-AF38-1656FBF67E6B", "1D0D3794-C210-48A8-8C68-3FBEC08A6BA5", "Chart Style", "ChartStyle", "", 26, "{}", "173E1A89-A84E-48EC-BFD5-0C8D65A84276");
            RockMigrationHelper.AddAttributeQualifier("173E1A89-A84E-48EC-BFD5-0C8D65A84276", "editorHeight", "", "AB54A928-73C8-4172-97A5-1A1C0C7F4439");
            RockMigrationHelper.AddAttributeQualifier("173E1A89-A84E-48EC-BFD5-0C8D65A84276", "editorMode", "4", "8DCD60DF-C48C-41FA-A9B0-978855A3FB47");
            RockMigrationHelper.AddAttributeQualifier("173E1A89-A84E-48EC-BFD5-0C8D65A84276", "editorTheme", "0", "7C894CCE-5BC6-4A12-A9F4-BBBC27672A23");
            RockMigrationHelper.AddDefinedValue_pre20140819("FC684FD7-FE68-493F-AF38-1656FBF67E6B", "Flot", "The standard Flot chart style", "B45DA8E1-B9A6-46FD-9A2B-E8440D7D6AAC", false);
            RockMigrationHelper.AddDefinedValue_pre20140819("FC684FD7-FE68-493F-AF38-1656FBF67E6B", "Rock", "The default styling for Rock charts.", "2ABB2EA0-B551-476C-8F6B-478CD08C2227", false);
            RockMigrationHelper.AddDefinedValueAttributeValue("2ABB2EA0-B551-476C-8F6B-478CD08C2227", "173E1A89-A84E-48EC-BFD5-0C8D65A84276", @"{
  ""SeriesColors"": [
    ""#8498ab"",
    ""#a4b4c4"",
    ""#b9c7d5"",
    ""#c6d2df"",
    ""#d8e1ea""
  ],
  ""GoalSeriesColor"": ""red"",
  ""Grid"": {
    ""ColorGradient"": null,
    ""Color"": null,
    ""BackgroundColorGradient"": null,
    ""BackgroundColor"": ""transparent"",
    ""BorderWidth"": {
      ""top"": 0,
      ""right"": 0,
      ""bottom"": 1,
      ""left"": 1
    },
    ""BorderColor"": null
  },
  ""XAxis"": {
    ""Color"": ""rgba(81, 81, 81, 0.2)"",
    ""Font"": {
      ""Size"": 10,
      ""Family"": null,
      ""Color"": ""#515151""
    },
    ""DateTimeFormat"": ""%b %e,<br />%Y""
  },
  ""YAxis"": {
    ""Color"": ""rgba(81, 81, 81, 0.2)"",
    ""Font"": {
      ""Size"": null,
      ""Family"": null,
      ""Color"": ""#515151""
    },
    ""DateTimeFormat"": null
  },
  ""FillOpacity"": 0.2,
  ""FillColor"": null,
  ""Legend"": {
    ""BackgroundColor"": ""transparent"",
    ""BackgroundOpacity"": null,
    ""LabelBoxBorderColor"": null
  },
  ""Title"": {
    ""Font"": {
      ""Size"": 16,
      ""Family"": null,
      ""Color"": null
    },
    ""Align"": ""left""
  },
  ""Subtitle"": {
    ""Font"": {
      ""Size"": 12,
      ""Family"": null,
      ""Color"": null
    },
    ""Align"": ""left""
  }
}");
            RockMigrationHelper.AddDefinedValueAttributeValue("B45DA8E1-B9A6-46FD-9A2B-E8440D7D6AAC", "173E1A89-A84E-48EC-BFD5-0C8D65A84276", @"{
  ""Title"": {
    ""Font"": {
      ""Size"": 16,
      ""Family"": null,
      ""Color"": null
    },
    ""Align"": ""left""
  },
  ""Subtitle"": {
    ""Font"": {
      ""Size"": 12,
      ""Family"": null,
      ""Color"": null
    },
    ""Align"": ""left""
  }
}");
        }
示例#5
0
        /// <summary>
        /// Operations to be performed during the upgrade process.
        /// </summary>
        public override void Up()
        {
            // Add notification option fields to Workflow Action Type Form
            AddColumn("dbo.WorkflowActionForm", "NotificationSystemEmailId", c => c.Int());
            AddColumn("dbo.WorkflowActionForm", "IncludeActionsInNotification", c => c.Boolean(nullable: false));
            CreateIndex("dbo.WorkflowActionForm", "NotificationSystemEmailId");
            AddForeignKey("dbo.WorkflowActionForm", "NotificationSystemEmailId", "dbo.SystemEmail", "Id");

            // Add/Update Defined Type for ButtonHTML
            RockMigrationHelper.AddDefinedType_pre201409101843015("Global", "Button HTML", "Contains HTML for common button styles.", "407A3A73-A3EF-4970-B856-2A33F62AC72E", @"");

            Sql(@"
    DECLARE @AttributeId int = (SELECT [Id] FROM [Attribute] WHERE [Guid] = '6FF59F53-28EA-4BFE-AFE1-A459CC588495' )

    DECLARE @FieldTypeId int = (SELECT [Id] FROM [FieldType] WHERE [Guid] = '1D0D3794-C210-48A8-8C68-3FBEC08A6BA5')
    UPDATE [Attribute] SET
         [Name] = 'Button HTML'
        ,[Key] = 'ButtonHTML'
        ,[Description] = 'The HTML to use for displaying a button.  Both  ""{{ ButtonLink }}"" and ""{{ ButtonText }}"" merge fields are available to be used in the HTML as placeholder for the text and link values that will be rendered for the button.'
        ,[FieldTypeId] = @FieldTypeId
    WHERE [Id] = @AttributeId

    DECLARE @DefinedValueId int = (SELECT [ID] FROM [DefinedValue] WHERE [Guid] = 'FDC397CD-8B4A-436E-BEA1-BCE2E6717C03')
    UPDATE [AttributeValue] SET [Value] = '<a href=""{{ ButtonLink }}"" class=""btn btn-primary"">{{ ButtonText }}</a>'
	WHERE [AttributeId] = @AttributeId AND [EntityId] = CAST( @DefinedValueId AS varchar )

    SET @DefinedValueId = (SELECT [ID] FROM [DefinedValue] WHERE [Guid] = 'FDEB8E6C-70C3-4033-B307-7D0DEE1AC29D')
    UPDATE [AttributeValue] SET [Value] = '<a href=""{{ ButtonLink }}"" class=""btn btn-danger"">{{ ButtonText }}</a>'
	WHERE [AttributeId] = @AttributeId AND [EntityId] = CAST( @DefinedValueId AS varchar )
");
            RockMigrationHelper.AddAttributeQualifier("6FF59F53-28EA-4BFE-AFE1-A459CC588495", "editorMode", "2", "203785F4-60C1-4BD4-B2F4-CC125857A360");
            RockMigrationHelper.AddAttributeQualifier("6FF59F53-28EA-4BFE-AFE1-A459CC588495", "editorTheme", "0", "AFD572CD-B751-474F-945D-97DD1A3C7EDF");
            RockMigrationHelper.AddAttributeQualifier("6FF59F53-28EA-4BFE-AFE1-A459CC588495", "editorHeight", "", "7E21A104-50F6-4C93-943B-D1EBEE3444EE");


            // Create Default System Email for workflow form notifications
            RockMigrationHelper.UpdateSystemEmail_pre201409101843015("Workflow", "Workflow Form Notification", "", "", "", "", "", "{{ Workflow.WorkflowType.Name }}: {{ Workflow.Name }}", @"
{{ GlobalAttribute.EmailHeader }}

<p>{{ Person.FirstName }},</p>
<p>The following {{ Workflow.WorkflowType.Name }} requires action:<p>
<p>{{ Workflow.WorkflowType.WorkTerm}}: <a href='{{ GlobalAttribute.InternalApplicationRoot }}WorkflowEntry/{{ Workflow.WorkflowTypeId }}/{{ Workflow.Id }}'>{{ Workflow.Name }}</a></p>

{% assign RequiredFields = false %}

<h4>Details:</h4>
<p>
{% for attribute in Action.FormAttributes %}

    <strong>{{ attribute.Name }}:</strong> {{ attribute.Value }}<br/>

    {% if attribute.IsRequired %}
        {% assign RequiredFields = true %}
    {% endif %}

{% endfor %}
</p>


{% if Action.ActionType.WorkflowForm.IncludeActionsInNotification == true %}

    {% if RequiredFields != true %}

        <p>
        {% for button in Action.ActionType.WorkflowForm.Buttons %}

            {% capture ButtonLinkSearch %}{% raw %}{{ ButtonLink }}{% endraw %}{% endcapture %}
            {% capture ButtonLinkReplace %}{{ GlobalAttribute.InternalApplicationRoot }}WorkflowEntry/{{ Workflow.WorkflowTypeId }}/{{ Workflow.Id }}?action={{ button.Name }}{% endcapture %}
            {% capture ButtonHtml %}{{ button.Html | Replace: ButtonLinkSearch, ButtonLinkReplace }}{% endcapture %}

            {% capture ButtonTextSearch %}{% raw %}{{ ButtonText }}{% endraw %}{% endcapture %}
            {% capture ButtonTextReplace %}{{ button.Name }}{% endcapture %}
            {{ ButtonHtml | Replace: ButtonTextSearch, ButtonTextReplace }}

        {% endfor %}
        </p>

    {% endif %}

{% endif %}

{{ GlobalAttribute.EmailFooter }}

", "88C7D1CC-3478-4562-A301-AE7D4D7FFF6D");

            // Add/update routes for workflow entry page
            RockMigrationHelper.AddPageRoute("0550D2AA-A705-4400-81FF-AB124FDF83D7", "WorkflowEntry/{WorkflowTypeId}/{WorkflowId}");
            RockMigrationHelper.AddPageRoute("0550D2AA-A705-4400-81FF-AB124FDF83D7", "WorkflowEntry/{WorkflowTypeId}");
        }