This commit is contained in:
Virtuworks 2012-09-24 09:49:43 -04:00
commit 66d10645ac
10 changed files with 94 additions and 8 deletions

View file

@ -487,6 +487,19 @@ namespace WebsitePanel.EnterpriseServer
|| context.Groups.ContainsKey(ResourceGroups.MySql5))) || context.Groups.ContainsKey(ResourceGroups.MySql5)))
result.ErrorCodes.Add(GalleryErrors.MySQLRequired); result.ErrorCodes.Add(GalleryErrors.MySQLRequired);
//show Dependency warning optionaly
int serviceId = PackageController.GetPackageServiceId(packageId, ResourceGroups.Web);
StringDictionary serviceSettings = ServerController.GetServiceSettings(serviceId);
bool galleryAppsAlwaysIgnoreDependencies = Utils.ParseBool(serviceSettings["GalleryAppsAlwaysIgnoreDependencies"], false);
if (galleryAppsAlwaysIgnoreDependencies)
{
result.ErrorCodes.Clear();
}
if (result.ErrorCodes.Count > 0) if (result.ErrorCodes.Count > 0)
{ {
GalleryApplicationResult warning = Warning<GalleryApplicationResult>(result, GalleryErrors.PackageDoesNotMeetRequirements); GalleryApplicationResult warning = Warning<GalleryApplicationResult>(result, GalleryErrors.PackageDoesNotMeetRequirements);

View file

@ -123,9 +123,13 @@
<data name="FilterDialogButton.AlternateText" xml:space="preserve"> <data name="FilterDialogButton.AlternateText" xml:space="preserve">
<value>Click to modify the filter...</value> <value>Click to modify the filter...</value>
</data> </data>
<data name="chkGalleryAppsAlwaysIgnoreDependencies.Text" xml:space="preserve">
<value>Always ignore dependencies</value>
</data>
<data name="FilterDialogButton.Text" xml:space="preserve"> <data name="FilterDialogButton.Text" xml:space="preserve">
<value>Click to create a filter...</value> <value>Click to create a filter...</value>
</data> </data>
<data name="GalleryFeedFilter.Text" xml:space="preserve"> <data name="GalleryFeedFilter.Text" xml:space="preserve">
<value>Gallery feed filter:</value> <value>Gallery feed filter:</value>
</data> </data>

View file

@ -219,6 +219,9 @@
<data name="FilterDialogButton.Text" xml:space="preserve"> <data name="FilterDialogButton.Text" xml:space="preserve">
<value>Click to create a filter...</value> <value>Click to create a filter...</value>
</data> </data>
<data name="chkGalleryAppsAlwaysIgnoreDependencies.Text" xml:space="preserve">
<value>Always ignore dependencies</value>
</data>
<data name="GalleryFeedFilter.Text" xml:space="preserve"> <data name="GalleryFeedFilter.Text" xml:space="preserve">
<value>Gallery feed filter:</value> <value>Gallery feed filter:</value>
</data> </data>

View file

@ -135,6 +135,11 @@
<asp:LinkButton runat="server" ID="FilterDialogButton" meta:resourcekey="FilterDialogButton" Text="Click to apply a filter..." /> <asp:LinkButton runat="server" ID="FilterDialogButton" meta:resourcekey="FilterDialogButton" Text="Click to apply a filter..." />
</td> </td>
</tr> </tr>
<tr>
<td colspan="2">
<asp:CheckBox ID="chkGalleryAppsAlwaysIgnoreDependencies" runat="server" meta:resourcekey="chkGalleryAppsAlwaysIgnoreDependencies" Text="Always ignore dependencies" />
</td>
</tr>
</table> </table>
</fieldset> </fieldset>
<br /> <br />

View file

@ -132,6 +132,7 @@ namespace WebsitePanel.Portal.ProviderControls
ActiveDirectoryIntegration.BindSettings(settings); ActiveDirectoryIntegration.BindSettings(settings);
// //
FilteredAppIds = settings["GalleryAppsFilter"]; FilteredAppIds = settings["GalleryAppsFilter"];
chkGalleryAppsAlwaysIgnoreDependencies.Checked = Utils.ParseBool(settings["GalleryAppsAlwaysIgnoreDependencies"], false);
} }
public void SaveSettings(StringDictionary settings) public void SaveSettings(StringDictionary settings)
@ -166,6 +167,7 @@ namespace WebsitePanel.Portal.ProviderControls
ActiveDirectoryIntegration.SaveSettings(settings); ActiveDirectoryIntegration.SaveSettings(settings);
// //
settings["GalleryAppsFilter"] = GetAppsCatalogFilter(); settings["GalleryAppsFilter"] = GetAppsCatalogFilter();
settings["GalleryAppsAlwaysIgnoreDependencies"] = chkGalleryAppsAlwaysIgnoreDependencies.Checked.ToString();
} }
} }
} }

View file

@ -255,6 +255,15 @@ namespace WebsitePanel.Portal.ProviderControls {
/// </remarks> /// </remarks>
protected global::System.Web.UI.WebControls.LinkButton FilterDialogButton; protected global::System.Web.UI.WebControls.LinkButton FilterDialogButton;
/// <summary>
/// chkGalleryAppsAlwaysIgnoreDependencies control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkGalleryAppsAlwaysIgnoreDependencies;
/// <summary> /// <summary>
/// FilterDialogPanel control. /// FilterDialogPanel control.
/// </summary> /// </summary>

View file

@ -214,9 +214,19 @@
</tr> </tr>
--%> --%>
</table> </table>
<uc6:EditFeedsList ID="wpiEditFeedsList" runat="server" DisplayNames="false" /> <uc6:EditFeedsList ID="wpiEditFeedsList" runat="server" DisplayNames="false" />
<br/>
<asp:CheckBox ID="chkGalleryAppsAlwaysIgnoreDependencies" runat="server" meta:resourcekey="chkGalleryAppsAlwaysIgnoreDependencies" Text="Always ignore dependencies" />
</fieldset> </fieldset>
<br /> <br />
<asp:Panel ID="FilterDialogPanel" runat="server" CssClass="PopupContainer" style="display:none" <asp:Panel ID="FilterDialogPanel" runat="server" CssClass="PopupContainer" style="display:none"

View file

@ -200,6 +200,8 @@ namespace WebsitePanel.Portal.ProviderControls
WDeployDisabledCheckBox.Checked = true; WDeployDisabledCheckBox.Checked = true;
} }
} }
chkGalleryAppsAlwaysIgnoreDependencies.Checked = Utils.ParseBool(settings["GalleryAppsAlwaysIgnoreDependencies"], false);
} }
public void SaveSettings(StringDictionary settings) public void SaveSettings(StringDictionary settings)
@ -269,6 +271,8 @@ namespace WebsitePanel.Portal.ProviderControls
{ {
settings[WDeployEnabled] = Boolean.FalseString; settings[WDeployEnabled] = Boolean.FalseString;
} }
settings["GalleryAppsAlwaysIgnoreDependencies"] = chkGalleryAppsAlwaysIgnoreDependencies.Checked.ToString();
} }
protected void DownladAndIstallApeLinkButton_Click(object sender, EventArgs e) protected void DownladAndIstallApeLinkButton_Click(object sender, EventArgs e)

View file

@ -337,6 +337,15 @@ namespace WebsitePanel.Portal.ProviderControls {
/// </remarks> /// </remarks>
protected global::WebsitePanel.Portal.UserControls.EditFeedsList wpiEditFeedsList; protected global::WebsitePanel.Portal.UserControls.EditFeedsList wpiEditFeedsList;
/// <summary>
/// chkGalleryAppsAlwaysIgnoreDependencies control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.WebControls.CheckBox chkGalleryAppsAlwaysIgnoreDependencies;
/// <summary> /// <summary>
/// FilterDialogPanel control. /// FilterDialogPanel control.
/// </summary> /// </summary>

View file

@ -150,8 +150,6 @@ namespace WebsitePanel.Portal
AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2005, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2005)); AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2005, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2005));
if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2000)) if (cntx.Groups.ContainsKey(ResourceGroups.MsSql2000))
AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2000, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2000)); AddDatabaseEngine(DeploymentParameterWellKnownTag.Sql, ResourceGroups.MsSql2000, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MsSql2000));
SetDBPolicies(UserSettings.MSSQL_POLICY, parameters);
} }
// MySQL Server // MySQL Server
@ -165,8 +163,6 @@ namespace WebsitePanel.Portal
AddDatabaseEngine(DeploymentParameterWellKnownTag.MySql, ResourceGroups.MySql5, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MySql5)); AddDatabaseEngine(DeploymentParameterWellKnownTag.MySql, ResourceGroups.MySql5, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MySql5));
if (cntx.Groups.ContainsKey(ResourceGroups.MySql4)) if (cntx.Groups.ContainsKey(ResourceGroups.MySql4))
AddDatabaseEngine(DeploymentParameterWellKnownTag.MySql, ResourceGroups.MySql4, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MySql4)); AddDatabaseEngine(DeploymentParameterWellKnownTag.MySql, ResourceGroups.MySql4, GetSharedLocalizedString("ResourceGroup." + ResourceGroups.MySql4));
SetDBPolicies(UserSettings.MYSQL_POLICY, parameters);
} }
// SQLite // SQLite
@ -181,6 +177,7 @@ namespace WebsitePanel.Portal
if (FindParameterByTag(parameters, DeploymentParameterWellKnownTag.VistaDB) != null) if (FindParameterByTag(parameters, DeploymentParameterWellKnownTag.VistaDB) != null)
AddDatabaseEngine(DeploymentParameterWellKnownTag.VistaDB, "", GetLocalizedString("DatabaseEngine.VistaDB")); AddDatabaseEngine(DeploymentParameterWellKnownTag.VistaDB, "", GetLocalizedString("DatabaseEngine.VistaDB"));
BindDBPolicies(parameters);
// hide module if no database required // hide module if no database required
divDatabase.Visible = (databaseEngines.Items.Count > 0); divDatabase.Visible = (databaseEngines.Items.Count > 0);
@ -190,18 +187,42 @@ namespace WebsitePanel.Portal
} }
#region prefix & suffix for database name & username #region prefix & suffix for database name & username
private void SetDBPolicies(string policy, IEnumerable<DeploymentParameter> parameters) private void BindDBPolicies(List<DeploymentParameter> parameters)
{
// MS SQL Server
if (FindParameterByTag(parameters, DeploymentParameterWellKnownTag.Sql) != null)
{
SetDBPolicies(UserSettings.MSSQL_POLICY, parameters, DeploymentParameterWellKnownTag.Sql);
}
// MySQL Server
if (FindParameterByTag(parameters, DeploymentParameterWellKnownTag.MySql) != null)
{
SetDBPolicies(UserSettings.MYSQL_POLICY, parameters, DeploymentParameterWellKnownTag.MySql);
}
}
private void SetDBPolicies(string policy, IEnumerable<DeploymentParameter> parameters, DeploymentParameterWellKnownTag dbTag)
{ {
foreach (DeploymentParameter parameter in parameters) foreach (DeploymentParameter parameter in parameters)
{ {
if ((parameter.WellKnownTags & DeploymentParameterWellKnownTag.DBName) != 0) if (
(parameter.WellKnownTags & DeploymentParameterWellKnownTag.DBName) != 0
&&
(parameter.WellKnownTags & dbTag) != 0
)
{ {
// database name // database name
string policyValue = GetPackagePolicy(policy, "DatabaseNamePolicy"); string policyValue = GetPackagePolicy(policy, "DatabaseNamePolicy");
ApplyPrefixSuffixPolicy(parameter, policyValue); ApplyPrefixSuffixPolicy(parameter, policyValue);
} }
if ((parameter.WellKnownTags & DeploymentParameterWellKnownTag.DBUserName) != 0) if (
(parameter.WellKnownTags & DeploymentParameterWellKnownTag.DBUserName) != 0
&&
(parameter.WellKnownTags & dbTag) != 0
)
{ {
// user name // user name
string policyValue = GetPackagePolicy(policy, "UserNamePolicy"); string policyValue = GetPackagePolicy(policy, "UserNamePolicy");
@ -302,7 +323,13 @@ namespace WebsitePanel.Portal
protected void databaseEngines_SelectedIndexChanged(object sender, EventArgs e) protected void databaseEngines_SelectedIndexChanged(object sender, EventArgs e)
{ {
BindParameters(); // load parameters
List<DeploymentParameter> parameters = GetApplicationParameters();
if (parameters == null)
return;
BindDBPolicies(parameters);
BindParameters(parameters);
} }
protected void databaseMode_SelectedIndexChanged(object sender, EventArgs e) protected void databaseMode_SelectedIndexChanged(object sender, EventArgs e)