Merge: dev to default

This commit is contained in:
ptsurbeleu 2012-08-01 07:34:56 -07:00
commit 19d6bae05e
1884 changed files with 65140 additions and 30708 deletions

View file

@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnAddItem.Text" xml:space="preserve">
<value>Create Peer Account</value>
@ -135,4 +135,7 @@
<data name="usersListUsername.Header" xml:space="preserve">
<value>Username</value>
</data>
<data name="usersListRole.Header" xml:space="preserve">
<value>Role</value>
</data>
</root>

View file

@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
@ -180,4 +180,7 @@
<data name="btnDelete.OnClientClick" xml:space="preserve">
<value>return confirm('Are you sure you want to delete this peer account?');</value>
</data>
<data name="lblRole.Text" xml:space="preserve">
<value>Role</value>
</data>
</root>

View file

@ -112,69 +112,75 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="cancel.Text" xml:space="preserve">
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="locContacts.Text" xml:space="preserve">
<value>Contacts:</value>
<data name="cmdContinue.Text" xml:space="preserve">
<value>Continue</value>
</data>
<data name="locDistributionLists.Text" xml:space="preserve">
<value>Distribution Lists:</value>
<data name="cmdPause.Text" xml:space="preserve">
<value>Pause</value>
</data>
<data name="locMailboxes.Text" xml:space="preserve">
<value>Mailboxes:</value>
<data name="cmdStart.Text" xml:space="preserve">
<value>Start</value>
</data>
<data name="maxQuota.Text" xml:space="preserve">
<value>(max {0})</value>
<data name="cmdStop.Text" xml:space="preserve">
<value>Stop</value>
</data>
<data name="rangeContacts.ErrorMessage" xml:space="preserve">
<value>Specify correct number</value>
<data name="gvServices.Empty" xml:space="preserve">
<value>No Windows Services found.</value>
</data>
<data name="rangeContacts.Text" xml:space="preserve">
<value>!</value>
<data name="gvServicesId.Header" xml:space="preserve">
<value>Id</value>
</data>
<data name="rangeDistributionLists.ErrorMessage" xml:space="preserve">
<value>Specify correct number</value>
<data name="gvServicesName.Header" xml:space="preserve">
<value>Name</value>
</data>
<data name="rangeDistributionLists.Text" xml:space="preserve">
<value>!</value>
<data name="gvServicesStatus.Header" xml:space="preserve">
<value>Status</value>
</data>
<data name="rangeMailboxes.ErrorMessage" xml:space="preserve">
<value>Specify correct number</value>
<data name="gvWPILogo.Header" xml:space="preserve">
<value>Logo</value>
</data>
<data name="rangeMailboxes.Text" xml:space="preserve">
<value>!</value>
<data name="Status.ContinuePending" xml:space="preserve">
<value>Continuing</value>
</data>
<data name="requireContacts.ErrorMessage" xml:space="preserve">
<value>Enter contacts quota</value>
<data name="Status.Paused" xml:space="preserve">
<value>Paused</value>
</data>
<data name="requireContacts.Text" xml:space="preserve">
<value>*</value>
<data name="Status.PausePending" xml:space="preserve">
<value>Pausing</value>
</data>
<data name="requireDistributionLists.ErrorMessage" xml:space="preserve">
<value>Enter distribution lists quota</value>
<data name="Status.Running" xml:space="preserve">
<value>Running</value>
</data>
<data name="requireDistributionLists.Text" xml:space="preserve">
<value>*</value>
<data name="Status.StartPending" xml:space="preserve">
<value>Starting</value>
</data>
<data name="requireMailboxes.ErrorMessage" xml:space="preserve">
<value>Enter mailboxes quota</value>
<data name="Status.Stopped" xml:space="preserve">
<value>Stopped</value>
</data>
<data name="requireMailboxes.Text" xml:space="preserve">
<value>*</value>
<data name="Status.StopPending" xml:space="preserve">
<value>Stopping</value>
</data>
<data name="unlimited.Text" xml:space="preserve">
<value>Unlimited</value>
<data name="btnAdd.Text" xml:space="preserve">
<value>Add</value>
</data>
<data name="update.OnClientClick" xml:space="preserve">
<value>ShowProgressDialog('Updating organization quotas...');</value>
<data name="btnInstall.Text" xml:space="preserve">
<value>Install</value>
</data>
<data name="update.Text" xml:space="preserve">
<value>Update</value>
<data name="gvInstall.Header" xml:space="preserve">
<value>Install</value>
</data>
<data name="btnAccept" xml:space="preserve">
<value>Accept</value>
</data>
<data name="WebPlatformInstallerDeps" xml:space="preserve">
<value>Products to be installed</value>
</data>
</root>

View file

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnAddMailboxPlan.Text" xml:space="preserve">
<value>Add New Mailbox plan</value>
</data>
<data name="btnSetDefaultMailboxPlan.Text" xml:space="preserve">
<value>Set Default Mailbox plan</value>
</data>
<data name="chkActiveSync.Text" xml:space="preserve">
<value>ActiveSync</value>
</data>
<data name="chkHideFromAddressBook" xml:space="preserve">
<value>Hide from Addressbook</value>
</data>
<data name="chkIMAP.Text" xml:space="preserve">
<value>IMAP</value>
</data>
<data name="chkMAPI.Text" xml:space="preserve">
<value>MAPI</value>
</data>
<data name="chkOWA.Text" xml:space="preserve">
<value>OWA/HTTP</value>
</data>
<data name="chkPOP3.Text" xml:space="preserve">
<value>POP3</value>
</data>
<data name="gvMailboxPlan.Header" xml:space="preserve">
<value>Mailbox plan</value>
</data>
<data name="gvMailboxPlanDefault.Header" xml:space="preserve">
<value>Default Mailbox plan</value>
</data>
<data name="gvMailboxPlanEdit.Header" xml:space="preserve">
<value>Select</value>
</data>
<data name="gvMailboxPlans.Empty" xml:space="preserve">
<value>No mailbox plans have been added yet. To add a new mailbox plan click "Add New Mailbox plan" button.</value>
</data>
<data name="gvMailboxPlanSelect.Header" xml:space="preserve">
<value>Select</value>
</data>
<data name="locDays.Text" xml:space="preserve">
<value>days</value>
</data>
<data name="locIssueWarning.Text" xml:space="preserve">
<value>Issue warning at:</value>
</data>
<data name="locKB.Text" xml:space="preserve">
<value>KB</value>
</data>
<data name="locKeepDeletedItems.Text" xml:space="preserve">
<value>Keep deleted items for:</value>
</data>
<data name="locMailboxSize.Text" xml:space="preserve">
<value>Mailbox size:</value>
</data>
<data name="locMaxReceiveMessageSizeKB.Text" xml:space="preserve">
<value>Maximum Receive Message Size:</value>
</data>
<data name="locMaxRecipients.Text" xml:space="preserve">
<value>Maximum Recipients:</value>
</data>
<data name="locMaxSendMessageSizeKB.Text" xml:space="preserve">
<value>Maximum Send Message Size:</value>
</data>
<data name="locProhibitSend.Text" xml:space="preserve">
<value>Prohibit send at:</value>
</data>
<data name="locProhibitSendReceive.Text" xml:space="preserve">
<value>Prohibit send and receive at:</value>
</data>
<data name="locTitle.Text" xml:space="preserve">
<value>Add Mailbox plan</value>
</data>
<data name="locWhenSizeExceeds.Text" xml:space="preserve">
<value>When the mailbox size exceeds the indicated amount:</value>
</data>
<data name="secDeleteRetention.Text" xml:space="preserve">
<value>Delete Item Retention</value>
</data>
<data name="secMailboxFeatures.Text" xml:space="preserve">
<value>Mailbox Features</value>
</data>
<data name="secMailboxGeneral.Text" xml:space="preserve">
<value>General</value>
</data>
<data name="secMailboxPlan.Text" xml:space="preserve">
<value>Mailbox plan</value>
</data>
<data name="secStorageQuotas.Text" xml:space="preserve">
<value>Quotas</value>
</data>
<data name="valRequireMailboxPlan.ErrorMessage" xml:space="preserve">
<value>Please enter correct mailboxplan</value>
</data>
<data name="valRequireMailboxPlan.Text" xml:space="preserve">
<value>*</value>
</data>
</root>

View file

@ -0,0 +1,192 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnAddPlan.Text" xml:space="preserve">
<value>Add New Plan</value>
</data>
<data name="btnSetDefaultPlan.Text" xml:space="preserve">
<value>Set Default Plan</value>
</data>
<data name="chkConferencing.Text" xml:space="preserve">
<value>Conferencing</value>
</data>
<data name="chkEmergency.Text" xml:space="preserve">
<value>Emergency Calls</value>
</data>
<data name="chkEnterpriseVoice.Text" xml:space="preserve">
<value>Enterprise Voice</value>
</data>
<data name="chkFederation.Text" xml:space="preserve">
<value>Federation</value>
</data>
<data name="chkIM.Text" xml:space="preserve">
<value>Instant Messaging</value>
</data>
<data name="chkInternational.Text" xml:space="preserve">
<value>International Calls</value>
</data>
<data name="chkMobile.Text" xml:space="preserve">
<value>Mobile Calls</value>
</data>
<data name="chkMobility.Text" xml:space="preserve">
<value>Mobile Access</value>
</data>
<data name="chkNational.Text" xml:space="preserve">
<value>National Calls</value>
</data>
<data name="chkNone.Text" xml:space="preserve">
<value>None</value>
</data>
<data name="gvPlan.Header" xml:space="preserve">
<value>Plan</value>
</data>
<data name="gvPlanDefault.Header" xml:space="preserve">
<value>Default plan</value>
</data>
<data name="gvPlanEdit.Header" xml:space="preserve">
<value>Select</value>
</data>
<data name="gvPlans.Empty" xml:space="preserve">
<value>No plans have been added yet. To add a new plan click "Add New plan" button.</value>
</data>
<data name="gvPlanSelect.Header" xml:space="preserve">
<value>Select</value>
</data>
<data name="locConferencingSize.Text" xml:space="preserve">
<value>Maximum Conference Size</value>
</data>
<data name="secConferencing.Text" xml:space="preserve">
<value>Conferencing Settings</value>
</data>
<data name="secEnterpriseVoice.Text" xml:space="preserve">
<value>Enterprise Voice Policy</value>
</data>
<data name="secPlan.Text" xml:space="preserve">
<value>Lync User Plan</value>
</data>
<data name="secPlanFeatures.Text" xml:space="preserve">
<value>Plan Features</value>
</data>
<data name="valRequirePlan.ErrorMessage" xml:space="preserve">
<value>Please enter correct plan</value>
</data>
<data name="valRequirePlan.Text" xml:space="preserve">
<value>*</value>
</data>
</root>

View file

@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="chkAddParkingPage.Text" xml:space="preserve">
<value>Add Parking Page</value>
@ -147,6 +147,9 @@
<data name="chkDedicatedPool.Text" xml:space="preserve">
<value>Dedicated Application Pool</value>
</data>
<data name="chkEnableParkingPageTokens" xml:space="preserve">
<value>Allow tokens</value>
</data>
<data name="chkParentPaths.Text" xml:space="preserve">
<value>Enable Parent Paths</value>
</data>

View file

@ -171,4 +171,22 @@
<data name="lblHyperVForPC.Text" xml:space="preserve">
<value>Number of VM:</value>
</data>
<data name="lblBlackBerryUsers.Text" xml:space="preserve">
<value>BlackBerry Users:</value>
</data>
<data name="lblDatabases" xml:space="preserve">
<value>Databases:</value>
</data>
<data name="lblOCSUsers.Text" xml:space="preserve">
<value>OCS Users:</value>
</data>
<data name="lblSharepointSites" xml:space="preserve">
<value>Sharepoint Sites:</value>
</data>
<data name="lblUserAccounts.Text" xml:space="preserve">
<value>User Accounts:</value>
</data>
<data name="lblLyncUsers.Text" xml:space="preserve">
<value>Lync Users:</value>
</data>
</root>

View file

@ -141,9 +141,6 @@
<data name="lnkVps.Text" xml:space="preserve">
<value>Virtual Private Servers</value>
</data>
<data name="lnkExchangeHostedEdition.Text" xml:space="preserve">
<value>Exchange Hosting Mode</value>
</data>
<data name="lnkVpsForPC.Text" xml:space="preserve">
<value>Virtual Private Servers for Private Cloud</value>
</data>

View file

@ -141,7 +141,4 @@
<data name="lnkVpsSummaryLetter.Text" xml:space="preserve">
<value>VPS Summary Letter</value>
</data>
<data name="lnkExchangeHostedEditionOrganizationSummary.Text" xml:space="preserve">
<value>Exchange Hosting Mode Organization Summary</value>
</data>
</root>

View file

@ -150,7 +150,4 @@
<data name="lnkWebPolicy.Text" xml:space="preserve">
<value>WEB Policy</value>
</data>
<data name="lnkExchangeHostedEditionPolicy.Text" xml:space="preserve">
<value>Exchange Hosting Mode Policy</value>
</data>
</root>

View file

@ -112,10 +112,10 @@
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnCancel.Text" xml:space="preserve">
<value>Cancel</value>
@ -219,4 +219,7 @@
<data name="valRequirePlan.ErrorMessage" xml:space="preserve">
<value>Please select hosting plan</value>
</data>
<data name="chkIntegratedOUProvisioning.Text" xml:space="preserve">
<value>Automated Hosted Organization Provisioning</value>
</data>
</root>

View file

@ -226,6 +226,12 @@
<data name="locDatabaseGroupDescr.Text" xml:space="preserve">
<value>Choose your database:</value>
</data>
<data name="locDatabaseType.Text" xml:space="preserve">
<value>Database type</value>
</data>
<data name="locDatabaseTypeDescr.Text" xml:space="preserve">
<value>Choose your database type:</value>
</data>
<data name="locNewDatabase.Text" xml:space="preserve">
<value>Create a new or use an existing database</value>
</data>

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -82,7 +82,14 @@ namespace WebsitePanel.Portal
{
get { return GetCachedProxy<esOCS>(); }
}
public esLync Lync
{
get { return GetCachedProxy<esLync>(); }
}
public esOrganizations Organizations
{
get
@ -206,11 +213,6 @@ namespace WebsitePanel.Portal
get { return GetCachedProxy<esExchangeServer>(); }
}
public esExchangeHostedEdition ExchangeHostedEdition
{
get { return GetCachedProxy<esExchangeHostedEdition>(); }
}
protected ES()
{
}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -185,5 +185,11 @@ namespace WebsitePanel.Portal
get { return HttpContext.Current.Request["Name"] != null
? HttpContext.Current.Request["Name"].Trim() : ""; }
}
public static string Context
{
get { return HttpContext.Current.Request["Context"]; }
}
}
}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -130,6 +130,7 @@ namespace WebsitePanel.Portal
HttpContext.Current.Items[key] = s;
HttpCookie cookie = new HttpCookie(key, s);
cookie.HttpOnly = true;
HttpContext.Current.Response.Cookies.Remove(key);
HttpContext.Current.Response.Cookies.Add(cookie);
}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -302,6 +302,7 @@ namespace WebsitePanel.Portal
AddDatabaseVersion(cntx, ResourceGroups.MsSql2000, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2005, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2008, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MsSql2012, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MySql4, items, versions);
AddDatabaseVersion(cntx, ResourceGroups.MySql5, items, versions);
}
@ -325,6 +326,9 @@ namespace WebsitePanel.Portal
// localize grid viewes
LocalizeGridViews(this);
//if (PanelSecurity.LoggedUser != null)
//if (PanelSecurity.LoggedUser.Role == UserRole.CSR) DisableControls = false;
// call base handler
base.OnLoad(e);
}
@ -334,6 +338,43 @@ namespace WebsitePanel.Portal
// localize all controls
LocalizeModuleControls(this);
string role = string.Empty;
if (PanelSecurity.LoggedUser != null)
{
switch (PanelSecurity.LoggedUser.Role)
{
case UserRole.Administrator:
role = "Administrator";
break;
case UserRole.Reseller:
role = "Reseller";
break;
case UserRole.User:
role = "User";
break;
case UserRole.PlatformCSR:
role = "PlatformCSR";
break;
case UserRole.PlatformHelpdesk:
role = "PlatformHelpdesk";
break;
case UserRole.ResellerCSR:
role = "ResellerCSR";
break;
case UserRole.ResellerHelpdesk:
role = "ResellerHelpdesk";
break;
}
}
if (Module != null)
{
if (Module.ReadOnlyRoles != null)
if (Module.ReadOnlyRoles.Contains(role))
DisableControls = true;
}
// disable controls (if required)
if (DisableControls)
DisableFormControls(this, ExcludeDisableControls.ToArray());

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -0,0 +1,85 @@
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using WebsitePanel.Providers.HostedSolution;
using WebsitePanel.Providers.ResultObjects;
namespace WebsitePanel.Portal
{
public class LyncHelper
{
public LyncUser[] GetLyncUsersPaged(int itemId,
string filterColumn, string filterValue,
int maximumRows, int startRowIndex, string sortColumn)
{
if (!String.IsNullOrEmpty(filterValue))
filterValue = filterValue + "%";
if (maximumRows == 0)
{
maximumRows = Int32.MaxValue;
}
string name = string.Empty;
string email = string.Empty;
if (filterColumn == "DisplayName")
name = filterValue;
else
email = filterValue;
string[] data = sortColumn.Split(' ');
string direction = data.Length > 1 ? "DESC" : "ASC";
LyncUsersPagedResult res =
ES.Services.Lync.GetLyncUsersPaged(itemId, data[0], direction, startRowIndex, maximumRows);
return res.Value.PageUsers;
}
public int GetLyncUsersPagedCount(int itemId, string filterColumn, string filterValue)
{
string name = string.Empty;
string email = string.Empty;
if (!string.IsNullOrEmpty(filterValue))
filterValue = filterValue + "%";
if (filterColumn == "DisplayName")
name = filterValue;
else
email = filterValue;
IntResult res = ES.Services.Lync.GetLyncUserCount(itemId);
return res.Value;
}
}
}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -46,6 +46,7 @@ namespace WebsitePanel.Portal
private const string DEFAULT_ADMIN_ROLE = "WebsitePanel Administrators";
private const string DEFAULT_RESELLER_ROLE = "WebsitePanel Resellers";
private const string DEFAULT_CSR_ROLE = "CSR";
private const string DEFAULT_USER_ROLE = "WebsitePanel Users";
#region Users ODS Methods (for Selected User)

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -39,6 +39,12 @@ namespace WebsitePanel.Portal
return ES.Services.WebApplicationGallery.GetGalleryApplications(packageId, categoryId);
}
public GalleryApplicationsResult GetGalleryApplicationsFiltered(string pattern, int packageId)
{
return ES.Services.WebApplicationGallery.GetGalleryApplicationsFiltered(packageId, pattern);
}
public List<GalleryApplication> GetGalleryApplicationsByServiceId(int serviceId)
{
GalleryApplicationsResult result = ES.Services.WebApplicationGallery.GetGalleryApplicationsByServiceId(serviceId);

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -0,0 +1,70 @@
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WebsitePanel.Portal.Code.UserControls
{
public class Tab
{
string id;
string name;
string url;
public Tab(string id, string name, string url)
{
this.id = id;
this.name = name;
this.url = url;
}
public string Id
{
get { return this.id; }
set { this.id = value; }
}
public string Name
{
get { return this.name; }
set { this.name = value; }
}
public string Url
{
get { return this.url; }
set { this.url = value; }
}
}
}

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,15 +1,13 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DnsZoneRecords.ascx.cs" Inherits="WebsitePanel.Portal.DnsZoneRecords" %>
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
TagPrefix="wsp" %>
<%@ Register Src="UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
<script type="text/javascript">
function confirmation()
{
if (!confirm('Are you sure you want to delete this DNS Zone Record?')) return false; else ShowProgressDialog('Deleting DNS Zone Record...');
}
function confirmation() {
if (!confirm('Are you sure you want to delete this DNS Zone Record?')) return false; else ShowProgressDialog('Deleting DNS Zone Record...');
}
</script>
<asp:Panel ID="pnlRecords" runat="server">
<div class="FormBody">
@ -33,6 +31,9 @@ function confirmation()
<asp:Literal ID="litRecordName" runat="server" Text='<%# Eval("RecordName") %>' Visible="false"></asp:Literal>
<asp:Literal ID="litRecordType" runat="server" Text='<%# Eval("RecordType") %>' Visible="false"></asp:Literal>
<asp:Literal ID="litRecordData" runat="server" Text='<%# Eval("RecordData") %>' Visible="false"></asp:Literal>
<asp:Literal ID="litSrvPriority" runat="server" Text='<%# Eval("SrvPriority") %>' Visible="false"></asp:Literal>
<asp:Literal ID="litSrvWeight" runat="server" Text='<%# Eval("SrvWeight") %>' Visible="false"></asp:Literal>
<asp:Literal ID="litSrvPort" runat="server" Text='<%# Eval("SrvPort") %>' Visible="false"></asp:Literal>
</ItemTemplate>
<ItemStyle CssClass="NormalBold" Wrap="False" />
</asp:TemplateField>
@ -41,7 +42,7 @@ function confirmation()
<asp:TemplateField SortExpression="RecordData" HeaderText="gvRecordsData" >
<ItemStyle Width="100%" />
<ItemTemplate>
<%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority")) %>
<%# GetRecordFullData((string)Eval("RecordType"), (string)Eval("RecordData"), (int)Eval("MxPriority"), (int)Eval("SrvPort"))%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
@ -77,6 +78,7 @@ function confirmation()
<asp:ListItem>NS</asp:ListItem>
<asp:ListItem>TXT</asp:ListItem>
<asp:ListItem>CNAME</asp:ListItem>
<asp:ListItem>SRV</asp:ListItem>
</asp:DropDownList><asp:Literal ID="litRecordType" runat="server"></asp:Literal>
</td>
</tr>
@ -106,10 +108,43 @@ function confirmation()
<asp:RegularExpressionValidator ID="valRequireCorrectPriority" runat="server" ControlToValidate="txtMXPriority"
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
</tr>
<tr id="rowSRVPriority" runat="server">
<td class="SubHead"><asp:Label ID="lblSRVPriority" runat="server" meta:resourcekey="lblSRVPriority" Text="Priority:"></asp:Label></td>
<td class="NormalBold">
<asp:TextBox ID="txtSRVPriority" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
<asp:RequiredFieldValidator ID="valRequireSrvPriority" runat="server" ControlToValidate="txtSRVPriority"
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="valRequireCorrectSrvPriority" runat="server" ControlToValidate="txtSRVPriority"
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
</tr>
<tr id="rowSRVWeight" runat="server">
<td class="SubHead"><asp:Label ID="lblSRVWeight" runat="server" meta:resourcekey="lblSRVWeight" Text="Weight:"></asp:Label></td>
<td class="NormalBold">
<asp:TextBox ID="txtSRVWeight" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
<asp:RequiredFieldValidator ID="valRequireSrvWeight" runat="server" ControlToValidate="txtSRVWeight"
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="valRequireCorrectSrvWeight" runat="server" ControlToValidate="txtSRVWeight"
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
</tr>
<tr id="rowSRVPort" runat="server">
<td class="SubHead"><asp:Label ID="lblSRVPort" runat="server" meta:resourcekey="lblSRVPort" Text="Port Number:"></asp:Label></td>
<td class="NormalBold">
<asp:TextBox ID="txtSRVPort" runat="server" Width="30" CssClass="NormalTextBox"></asp:TextBox>
<asp:RequiredFieldValidator ID="valRequireSrvPort" runat="server" ControlToValidate="txtSRVPort"
ErrorMessage="*" ValidationGroup="DnsZoneRecord" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="valRequireCorrectSrvPort" runat="server" ControlToValidate="txtSRVPort"
ErrorMessage="*" ValidationExpression="\d{1,3}"></asp:RegularExpressionValidator></td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="btnSave" runat="server" meta:resourcekey="btnSave" Text="Save" CssClass="Button1" OnClick="btnSave_Click" OnClientClick = "ShowProgressDialog('Saving DNS Zone Record ...');" ValidationGroup="DnsZoneRecord" />
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" Text="Cancel" CssClass="Button1" OnClick="btnCancel_Click" CausesValidation="False" /></td>
<asp:Button ID="btnCancel" runat="server" meta:resourcekey="btnCancel" Text="Cancel" CssClass="Button1" OnClick="btnCancel_Click" CausesValidation="False" />
</div>
</asp:Panel>

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -54,25 +54,35 @@ namespace WebsitePanel.Portal
// toggle panels
ShowPanels(false);
// domain name
DomainInfo domain = ES.Services.Servers.GetDomain(PanelRequest.DomainID);
litDomainName.Text = domain.DomainName;
// domain name
DomainInfo domain = ES.Services.Servers.GetDomain(PanelRequest.DomainID);
litDomainName.Text = domain.DomainName;
}
}
public string GetRecordFullData(string recordType, string recordData, int mxPriority)
public string GetRecordFullData(string recordType, string recordData, int mxPriority, int port)
{
return (String.Compare(recordType, "mx", true) == 0)
? String.Format("[{0}], {1}", mxPriority, recordData) : recordData;
switch (recordType)
{
case "MX":
return String.Format("[{0}], {1}", mxPriority, recordData);
case "SRV":
return String.Format("[{0}], {1}", port, recordData);
default:
return recordData;
}
}
private void GetRecordsDetails(int recordIndex)
{
GridViewRow row = gvRecords.Rows[recordIndex];
ViewState["SrvPort"] = ((Literal)row.Cells[0].FindControl("litSrvPort")).Text;
ViewState["SrvWeight"] = ((Literal)row.Cells[0].FindControl("litSrvWeight")).Text;
ViewState["SrvPriority"] = ((Literal)row.Cells[0].FindControl("litSrvPriority")).Text;
ViewState["MxPriority"] = ((Literal)row.Cells[0].FindControl("litMxPriority")).Text;
ViewState["RecordName"] = ((Literal)row.Cells[0].FindControl("litRecordName")).Text; ;
ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType),
((Literal)row.Cells[0].FindControl("litRecordType")).Text, true);
ViewState["RecordType"] = (DnsRecordType)Enum.Parse(typeof(DnsRecordType), ((Literal)row.Cells[0].FindControl("litRecordType")).Text, true);
ViewState["RecordData"] = ((Literal)row.Cells[0].FindControl("litRecordData")).Text;
}
@ -88,6 +98,9 @@ namespace WebsitePanel.Portal
txtRecordName.Text = ViewState["RecordName"].ToString();
txtRecordData.Text = ViewState["RecordData"].ToString();
txtMXPriority.Text = ViewState["MxPriority"].ToString();
txtSRVPriority.Text = ViewState["SrvPriority"].ToString();
txtSRVWeight.Text = ViewState["SrvWeight"].ToString();
txtSRVPort.Text = ViewState["SrvPort"].ToString();
}
catch (Exception ex)
{
@ -103,24 +116,39 @@ namespace WebsitePanel.Portal
private void ToggleRecordControls()
{
rowMXPriority.Visible = (ddlRecordType.SelectedValue == "MX");
if (ddlRecordType.SelectedValue == "A")
rowMXPriority.Visible = false;
rowSRVPriority.Visible = false;
rowSRVWeight.Visible = false;
rowSRVPort.Visible = false;
lblRecordData.Text = "Record Data:";
IPValidator.Enabled = false;
switch (ddlRecordType.SelectedValue)
{
lblRecordData.Text = "IP:";
IPValidator.Enabled = true;
}
else
{
lblRecordData.Text = "Record Data:";
IPValidator.Enabled = false;
case "A":
lblRecordData.Text = "IP:";
IPValidator.Enabled = true;
break;
case "MX":
rowMXPriority.Visible = true;
break;
case "SRV":
rowSRVPriority.Visible = true;
rowSRVWeight.Visible = true;
rowSRVPort.Visible = true;
lblRecordData.Text = "Host offering this service:";
break;
default:
break;
}
}
private void SaveRecord()
{
if (Page.IsValid)
{
bool newRecord = (bool) ViewState["NewRecord"];
bool newRecord = (bool)ViewState["NewRecord"];
if (newRecord)
{
@ -130,10 +158,13 @@ namespace WebsitePanel.Portal
int result = ES.Services.Servers.AddDnsZoneRecord(PanelRequest.DomainID,
txtRecordName.Text.Trim(),
(DnsRecordType)
Enum.Parse(typeof (DnsRecordType),
Enum.Parse(typeof(DnsRecordType),
ddlRecordType.SelectedValue, true),
txtRecordData.Text.Trim(),
Int32.Parse(txtMXPriority.Text.Trim()));
Int32.Parse(txtMXPriority.Text.Trim()),
Int32.Parse(txtSRVPriority.Text.Trim()),
Int32.Parse(txtSRVWeight.Text.Trim()),
Int32.Parse(txtSRVPort.Text.Trim()));
if (result < 0)
{
@ -156,9 +187,12 @@ namespace WebsitePanel.Portal
ViewState["RecordName"].ToString(),
ViewState["RecordData"].ToString(),
txtRecordName.Text.Trim(),
(DnsRecordType) ViewState["RecordType"],
(DnsRecordType)ViewState["RecordType"],
txtRecordData.Text.Trim(),
Int32.Parse(txtMXPriority.Text.Trim()));
Int32.Parse(txtMXPriority.Text.Trim()),
Int32.Parse(txtSRVPriority.Text.Trim()),
Int32.Parse(txtSRVWeight.Text.Trim()),
Int32.Parse(txtSRVPort.Text.Trim()));
if (result < 0)
{
@ -217,6 +251,10 @@ namespace WebsitePanel.Portal
txtRecordName.Text = "";
txtRecordData.Text = "";
txtMXPriority.Text = "1";
txtSRVPriority.Text = "0";
txtSRVWeight.Text = "0";
txtSRVPort.Text = "0";
ShowPanels(true);
}
@ -253,7 +291,7 @@ namespace WebsitePanel.Portal
{
if (e.Exception != null)
{
ShowErrorMessage("GDNS_GET_RECORD", e.Exception);
ShowErrorMessage("GDNS_GET_RECORD", e.Exception);
//this.DisableControls = true;
e.ExceptionHandled = true;
}

View file

@ -1,10 +1,37 @@
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
//
// - Redistributions in binary form must reproduce the above copyright notice,
// this list of conditions and the following disclaimer in the documentation
// and/or other materials provided with the distribution.
//
// - Neither the name of the Outercurve Foundation nor the names of its
// contributors may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
// ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.3074
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
@ -220,6 +247,141 @@ namespace WebsitePanel.Portal {
/// </remarks>
protected global::System.Web.UI.WebControls.RegularExpressionValidator valRequireCorrectPriority;
/// <summary>
/// rowSRVPriority control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPriority;
/// <summary>
/// lblSRVPriority 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.Label lblSRVPriority;
/// <summary>
/// txtSRVPriority 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.TextBox txtSRVPriority;
/// <summary>
/// valRequireSrvPriority 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.RequiredFieldValidator valRequireSrvPriority;
/// <summary>
/// valRequireCorrectSrvPriority 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.RegularExpressionValidator valRequireCorrectSrvPriority;
/// <summary>
/// rowSRVWeight control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVWeight;
/// <summary>
/// lblSRVWeight 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.Label lblSRVWeight;
/// <summary>
/// txtSRVWeight 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.TextBox txtSRVWeight;
/// <summary>
/// valRequireSrvWeight 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.RequiredFieldValidator valRequireSrvWeight;
/// <summary>
/// valRequireCorrectSrvWeight 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.RegularExpressionValidator valRequireCorrectSrvWeight;
/// <summary>
/// rowSRVPort control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlTableRow rowSRVPort;
/// <summary>
/// lblSRVPort 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.Label lblSRVPort;
/// <summary>
/// txtSRVPort 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.TextBox txtSRVPort;
/// <summary>
/// valRequireSrvPort 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.RequiredFieldValidator valRequireSrvPort;
/// <summary>
/// valRequireCorrectSrvPort 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.RegularExpressionValidator valRequireCorrectSrvPort;
/// <summary>
/// btnSave control.
/// </summary>

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -304,7 +304,7 @@ namespace WebsitePanel.Portal
try
{
// create instant alias
int result = ES.Services.Servers.CreateDomainInstantAlias(PanelRequest.DomainID);
int result = ES.Services.Servers.CreateDomainInstantAlias("", PanelRequest.DomainID);
if (result < 0)
{
ShowResultMessage(result);

View file

@ -1,4 +1,4 @@
// Copyright (c) 2011, Outercurve Foundation.
// Copyright (c) 2012, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
@ -95,6 +95,7 @@ namespace WebsitePanel.Portal
{
BindDomains();
}
}
private void BindDomains()

View file

@ -1,30 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="AddOrganizationDomain.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.AddOrganizationDomain" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="AddDomain" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table>
<tr>
<td><asp:Localize ID="locDomain" runat="server" meta:resourcekey="locDomain">Domain:</asp:Localize></td>
<td>
<asp:TextBox ID="domain" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireDomain" runat="server" meta:resourcekey="requireDomain" ControlToValidate="domain" ValidationGroup="AddDomain"
Text="*" ErrorMessage="Specify organization domain" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator id="requireCorrectDomain" runat="server" ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){1,10}[a-zA-Z]{2,6}$"
ErrorMessage="Enter correct domain name" ControlToValidate="domain"
Display="Dynamic" meta:resourcekey="requireCorrectDomain" ValidationGroup="AddDomain">*</asp:RegularExpressionValidator>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="update" runat="server" meta:resourcekey="update" Text="Update"
CssClass="Button1" onclick="update_Click" ValidationGroup="AddDomain" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -1,54 +0,0 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebsitePanel.Providers.Common;
namespace WebsitePanel.Portal.ExchangeHostedEdition
{
public partial class AddOrganizationDomain : WebsitePanelModuleBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void update_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
try
{
// call service
ResultObject result = ES.Services.ExchangeHostedEdition.AddExchangeOrganizationDomain(PanelRequest.ItemID, domain.Text.Trim());
// check results
if (result.IsSuccess)
{
// navigate to details
RedirectBack();
}
else
{
// display message
messageBox.ShowMessage(result, "EXCHANGE_HOSTED_ADD_DOMAIN", "ExchangeHostedEdition");
}
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_ADD_DOMAIN", ex);
}
}
protected void cancel_Click(object sender, EventArgs e)
{
RedirectBack();
}
private void RedirectBack()
{
Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString()));
}
}
}

View file

@ -1,234 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="btnAddDomain.Text" xml:space="preserve">
<value>Add Domain</value>
</data>
<data name="catchAllNotSet.Text" xml:space="preserve">
<value>(not set)</value>
</data>
<data name="changeServicePlan.Text" xml:space="preserve">
<value>Change Service Plan</value>
</data>
<data name="cmdDelete.OnClientClick" xml:space="preserve">
<value>if(!confirm('Are you sure you want to remove selected domain?')) return false; else ShowProgressDialog('Deleting domain...');</value>
</data>
<data name="cmdDelete.Text" xml:space="preserve">
<value>Delete</value>
</data>
<data name="deleteOrganization.Text" xml:space="preserve">
<value>Delete Organization</value>
</data>
<data name="domainsQuota.Text" xml:space="preserve">
<value>{0} of {1}</value>
</data>
<data name="gvDomains.Empty" xml:space="preserve">
<value>There are no domains allowed for this organization. Click "Add Domain" button to add domain.</value>
</data>
<data name="gvDomainsIsDefault.Header" xml:space="preserve">
<value>Default</value>
</data>
<data name="gvDomainsIsTemp.Header" xml:space="preserve">
<value>Temporary</value>
</data>
<data name="gvDomainsName.Header" xml:space="preserve">
<value>Domain</value>
</data>
<data name="lblAdminsWarning.Text" xml:space="preserve">
<value>This block is visible to system administrators only.</value>
</data>
<data name="locAdministratorEmail.Text" xml:space="preserve">
<value>Administrator e-mail:</value>
</data>
<data name="locAdministratorName.Text" xml:space="preserve">
<value>Administrator name:</value>
</data>
<data name="locCatchAll.Text" xml:space="preserve">
<value>Catch-all</value>
</data>
<data name="locCatchAllAddress.Text" xml:space="preserve">
<value>Catch-all address:</value>
</data>
<data name="locContacts.Text" xml:space="preserve">
<value>Contacts:</value>
</data>
<data name="locDistributionLists.Text" xml:space="preserve">
<value>Distribution Lists:</value>
</data>
<data name="locDomains.Text" xml:space="preserve">
<value>Domains</value>
</data>
<data name="locDomainsQuota.Text" xml:space="preserve">
<value>Total domains used:</value>
</data>
<data name="locEcpURL.Text" xml:space="preserve">
<value>Exchange Control Panel:</value>
</data>
<data name="locMailboxes.Text" xml:space="preserve">
<value>Mailboxes:</value>
</data>
<data name="locOfferID.Text" xml:space="preserve">
<value>Offer ID:</value>
</data>
<data name="locOrganizationDetails.Text" xml:space="preserve">
<value>Organization Details</value>
</data>
<data name="locOrganizationName.Text" xml:space="preserve">
<value>Organization name:</value>
</data>
<data name="locProgramID.Text" xml:space="preserve">
<value>Program ID:</value>
</data>
<data name="locQuotas.Text" xml:space="preserve">
<value>Quotas</value>
</data>
<data name="locSendTo.Text" xml:space="preserve">
<value>Send to e-mail:</value>
</data>
<data name="locService.Text" xml:space="preserve">
<value>Service:</value>
</data>
<data name="locServicePlan.Text" xml:space="preserve">
<value>Service Plan</value>
</data>
<data name="locSetupInstructions.Text" xml:space="preserve">
<value>Setup Instructions</value>
</data>
<data name="quota.FormatText" xml:space="preserve">
<value>{0} of {1} (max {2})</value>
</data>
<data name="requireSendTo.Text" xml:space="preserve">
<value>*</value>
</data>
<data name="sendSetupInstructions.Text" xml:space="preserve">
<value>Send</value>
</data>
<data name="setCatchAll.Text" xml:space="preserve">
<value>Set Catch-all</value>
</data>
<data name="summaryTemplateNotSet.Text" xml:space="preserve">
<value>(summary information template is not set)</value>
</data>
<data name="unlimited.Text" xml:space="preserve">
<value>Unlimited</value>
</data>
<data name="updateQuotas.Text" xml:space="preserve">
<value>Update Quotas</value>
</data>
</root>

View file

@ -1,73 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CreateOrganization.ascx.cs"
Inherits="WebsitePanel.Portal.ExchangeHostedEdition.CreateOrganization" %>
<%@ Register Src="../UserControls/PasswordControl.ascx" TagName="PasswordControl"
TagPrefix="wsp" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox"
TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport"
TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server" />
<asp:Panel runat="server" ID="CreateExchangeOrganizationPanel" DefaultButton="createOrganization">
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="CreateOrg"
DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table cellpadding="2">
<tr>
<td style="width: 150px;">
<asp:Localize ID="locOrganizationName" runat="server" meta:resourcekey="locOrganizationName">Organization name:</asp:Localize>
</td>
<td>
<asp:TextBox ID="organizationName" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireOrganizationName" runat="server" meta:resourcekey="requireOrganizationName"
ControlToValidate="organizationName" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Enter organization name"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Localize ID="locAdministratorName" runat="server" meta:resourcekey="locAdministratorName">Administrator name:</asp:Localize>
</td>
<td>
<asp:TextBox ID="administratorName" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireAdministratorName" runat="server" meta:resourcekey="requireAdministratorName"
ControlToValidate="administratorName" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Enter administrator name"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
<tr>
<td>
<asp:Localize ID="locAdministratorEmail" runat="server" meta:resourcekey="locAdministratorEmail">Administrator e-mail:</asp:Localize>
</td>
<td>
<asp:TextBox ID="administratorEmail" runat="server" Width="100"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireAdministratorEmail" runat="server" meta:resourcekey="requireAdministratorEmail"
ControlToValidate="administratorEmail" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Enter administrator e-mail address"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
@
<asp:TextBox ID="domain" runat="server" Width="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireDomain" runat="server" meta:resourcekey="requireDomain"
ControlToValidate="domain" ValidationGroup="CreateOrg" Text="*" ErrorMessage="Specify organization domain"
Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="requireCorrectDomain" runat="server" ValidationExpression="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.){1,10}[a-zA-Z]{2,6}$"
ErrorMessage="Enter correct domain name" ControlToValidate="domain" Display="Dynamic"
meta:resourcekey="requireCorrectDomain" ValidationGroup="CreateOrg">*</asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td valign="top">
<asp:Localize ID="locAdministratorPassword" runat="server" meta:resourcekey="locAdministratorPassword">Administrator password:</asp:Localize>
</td>
<td valign="top">
<wsp:PasswordControl id="administratorPassword" runat="server" ValidationGroup="CreateOrg">
</wsp:PasswordControl>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="createOrganization" runat="server" meta:resourcekey="createOrganization"
Text="Create" CssClass="Button1" ValidationGroup="CreateOrg" OnClick="createOrganization_Click" />
</div>
</asp:Panel>

View file

@ -1,56 +0,0 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebsitePanel.Providers.ResultObjects;
using WebsitePanel.EnterpriseServer;
namespace WebsitePanel.Portal.ExchangeHostedEdition
{
public partial class CreateOrganization : WebsitePanelModuleBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// apply password policy
administratorPassword.SetPackagePolicy(PanelSecurity.PackageId, UserSettings.EXCHANGE_HOSTED_EDITION_POLICY, "MailboxPasswordPolicy");
}
}
protected void createOrganization_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
try
{
string orgDomain = domain.Text.Trim();
string adminEmail = administratorEmail.Text.Trim() + "@" + orgDomain;
IntResult result = ES.Services.ExchangeHostedEdition.CreateExchangeOrganization(PanelSecurity.PackageId,
organizationName.Text.Trim(),
orgDomain,
administratorName.Text.Trim(),
adminEmail,
administratorPassword.Password);
if (result.IsSuccess)
{
// navigate to details
Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + result.Value.ToString()));
}
else
{
// display message
messageBox.ShowMessage(result, "EXCHANGE_HOSTED_CREATE_ORGANIZATION", "ExchangeHostedEdition");
}
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_CREATE_ORGANIZATION", ex);
}
}
}
}

View file

@ -1,21 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DeleteOrganization.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.DeleteOrganization" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<div>
<asp:Localize ID="locWarningMessage" runat="server" meta:resourcekey="locWarningMessage"></asp:Localize>
</div>
<asp:CheckBox ID="confirmDelete" runat="server" meta:resourcekey="confirmDelete" Text="I confirm deletion of this organization and all its contents" />
</div>
<div class="FormFooter">
<asp:Button ID="delete" runat="server" meta:resourcekey="delete" Text="Delete"
CssClass="Button1" onclick="delete_Click" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -1,54 +0,0 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebsitePanel.Providers.Common;
namespace WebsitePanel.Portal.ExchangeHostedEdition
{
public partial class DeleteOrganization : WebsitePanelModuleBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void delete_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
if (!confirmDelete.Checked)
{
messageBox.ShowWarningMessage("EXCHANGE_HOSTED_CONFIRM_DELETE_ORGANIZATION");
return;
}
try
{
ResultObject result = ES.Services.ExchangeHostedEdition.DeleteExchangeOrganization(PanelRequest.ItemID);
if (result.IsSuccess)
{
// navigate to details
Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString()));
}
else
{
// display message
messageBox.ShowMessage(result, "EXCHANGE_HOSTED_DELETE_ORGANIZATION", "ExchangeHostedEdition");
}
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_DELETE_ORGANIZATION", ex);
}
}
protected void cancel_Click(object sender, EventArgs e)
{
Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString()));
}
}
}

View file

@ -1,69 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace WebsitePanel.Portal.ExchangeHostedEdition {
public partial class DeleteOrganization {
/// <summary>
/// asyncTasks control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.EnableAsyncTasksSupport asyncTasks;
/// <summary>
/// messageBox control.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// </remarks>
protected global::WebsitePanel.Portal.UserControls.SimpleMessageBox messageBox;
/// <summary>
/// locWarningMessage 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.Localize locWarningMessage;
/// <summary>
/// confirmDelete 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 confirmDelete;
/// <summary>
/// delete 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.Button delete;
/// <summary>
/// cancel 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.Button cancel;
}
}

View file

@ -1,166 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="OrganizationDetails.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.OrganizationDetails" %>
<%@ Register Src="../UserControls/QuotaViewer.ascx" TagName="QuotaViewer" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<fieldset>
<legend><asp:Localize ID="locOrganizationDetails" runat="server" meta:resourcekey="locOrganizationDetails">Organization Details</asp:Localize></legend>
<table>
<tr>
<td class="Label" style="width:150px;"><asp:Localize ID="locOrganizationName" runat="server" meta:resourcekey="locOrganizationName">Organization name:</asp:Localize></td>
<td><asp:Literal ID="organizationName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locAdministratorName" runat="server" meta:resourcekey="locAdministratorName">Administrator name:</asp:Localize></td>
<td><asp:Literal ID="administratorName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locAdministratorEmail" runat="server" meta:resourcekey="locAdministratorEmail">Administrator e-mail:</asp:Localize></td>
<td><asp:Literal ID="administratorEmail" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locEcpURL" runat="server" meta:resourcekey="locEcpURL">Exchange Control Panel:</asp:Localize></td>
<td><asp:HyperLink ID="ecpURL" runat="server" Target="_blank"></asp:HyperLink></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="deleteOrganization" runat="server"
meta:resourcekey="deleteOrganization" Text="Delete Organization"
CssClass="Button1" onclick="deleteOrganization_Click" />
</div>
</fieldset>
<fieldset id="servicePlanBlock" runat="server">
<legend><asp:Localize ID="locServicePlan" runat="server" meta:resourcekey="locServicePlan">Service Plan</asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locService" runat="server" meta:resourcekey="locService">Service:</asp:Localize></td>
<td><asp:Literal ID="serviceName" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locProgramID" runat="server" meta:resourcekey="locProgramID">Program ID:</asp:Localize></td>
<td><asp:Literal ID="programID" runat="server"></asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locOfferID" runat="server" meta:resourcekey="locOfferID">Offer ID:</asp:Localize></td>
<td><asp:Literal ID="offerID" runat="server"></asp:Literal></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="changeServicePlan" runat="server"
meta:resourcekey="changeServicePlan" Text="Change Service Plan"
CssClass="Button1" onclick="changeServicePlan_Click" />
</div>
<div>
<asp:Label ID="lblAdminsWarning" runat="server" ForeColor="Red" meta:resourcekey="lblAdminsWarning">Visible to admins only</asp:Label>
</div>
</fieldset>
<fieldset>
<legend><asp:Localize ID="locQuotas" runat="server" meta:resourcekey="locQuotas">Quotas</asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locMailboxes" runat="server" meta:resourcekey="locMailboxes">Mailboxes:</asp:Localize></td>
<td><asp:Literal ID="mailboxes" runat="server">0 of 0 (max 0)</asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locContacts" runat="server" meta:resourcekey="locContacts">Contacts:</asp:Localize></td>
<td><asp:Literal ID="contacts" runat="server">0 of 0 (max 0)</asp:Literal></td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locDistributionLists" runat="server" meta:resourcekey="locDistributionLists">Distribution Lists:</asp:Localize></td>
<td><asp:Literal ID="distributionLists" runat="server">0 of 0 (max 0)</asp:Literal></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="updateQuotas" runat="server" meta:resourcekey="updateQuotas"
Text="Update Quotas" CssClass="Button1" onclick="updateQuotas_Click" />
</div>
</fieldset>
<fieldset>
<legend><asp:Localize ID="locDomains" runat="server" meta:resourcekey="locDomains">Domains</asp:Localize></legend>
<div class="FormButtonsBarClean">
<asp:Button ID="btnAddDomain" runat="server" meta:resourcekey="btnAddDomain"
Text="Add Domain" CssClass="Button1" onclick="btnAddDomain_Click" />
</div>
<asp:GridView ID="gvDomains" runat="server" AutoGenerateColumns="False" EnableViewState="true"
EmptyDataText="gvDomains" CssSelectorClass="NormalGridView" DataKeyNames="Name"
onrowdeleting="gvDomains_RowDeleting">
<Columns>
<asp:TemplateField HeaderText="gvDomainsName">
<ItemStyle Width="70%"></ItemStyle>
<ItemTemplate>
<%# Eval("Name") %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="gvDomainsIsDefault">
<ItemTemplate>
<div style="text-align:center">
&nbsp;
<asp:Image runat="server" SkinID="Checkbox16" Visible='<%# Eval("IsDefault") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="gvDomainsIsTemp">
<ItemTemplate>
<div style="text-align:center">
&nbsp;
<asp:Image runat="server" SkinID="Checkbox16" Visible='<%# Eval("IsTemp") %>' />
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
&nbsp;<asp:ImageButton ID="imgDelDomain" runat="server" Text="Delete" SkinID="ExchangeDelete"
CommandName="delete" CommandArgument='<%# Eval("Name") %>' Visible='<%# !((bool)Eval("IsTemp") || (bool)Eval("IsDefault")) %>'
meta:resourcekey="cmdDelete" OnClientClick="return confirm('Are you sure you want to remove selected domain?')"></asp:ImageButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
<asp:Localize ID="locDomainsQuota" runat="server" meta:resourcekey="locDomainsQuota" Text="Total domains used:"></asp:Localize>
&nbsp;&nbsp;&nbsp;
<wsp:QuotaViewer ID="domainsQuota" runat="server" QuotaTypeId="2" />
</fieldset>
<%--
<fieldset>
<legend><asp:Localize ID="locCatchAll" runat="server" meta:resourcekey="locCatchAll">Catch-all</asp:Localize></legend>
<table>
<tr>
<td class="Label"><asp:Localize ID="locCatchAllAddress" runat="server" meta:resourcekey="locCatchAllAddress">Catch-all address:</asp:Localize></td>
<td><asp:Literal ID="catchAllAddress" runat="server">(not set)</asp:Literal></td>
</tr>
</table>
<div style="text-align:right;">
<asp:Button ID="setCatchAll" runat="server" meta:resourcekey="setCatchAll"
Text="Set Catch-all" CssClass="Button1" onclick="setCatchAll_Click" />
</div>
</fieldset>
--%>
<fieldset id="organizationSummary" runat="server">
<legend><asp:Localize ID="locSetupInstructions" runat="server" meta:resourcekey="locSetupInstructions">Setup Instructions</asp:Localize></legend>
<div style="padding:10px;">
<asp:Literal ID="setupInstructions" runat="server">(not set)</asp:Literal>
</div>
<div>
<asp:Localize ID="locSendTo" runat="server" meta:resourcekey="locSendTo" Text="Send to e-mail:"></asp:Localize>
<asp:TextBox ID="sendTo" runat="server" Width="150"></asp:TextBox>
<asp:Button ID="sendSetupInstructions" runat="server" ValidationGroup="SendInstructions"
meta:resourcekey="sendSetupInstructions" Text="Send"
CssClass="Button1" onclick="sendSetupInstructions_Click" />
<asp:RequiredFieldValidator ID="requireSendTo" runat="server" meta:resourcekey="requireSendTo" ControlToValidate="sendTo" ValidationGroup="SendInstructions"
Text="*" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</div>
</fieldset>
</div>

View file

@ -1,211 +0,0 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.ExchangeHostedEdition;
namespace WebsitePanel.Portal.ExchangeHostedEdition
{
public partial class OrganizationDetails : WebsitePanelModuleBase
{
private int ItemID
{
get { return (ViewState["ItemID"] != null) ? (int)ViewState["ItemID"] : 0; }
set { ViewState["ItemID"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
// get organization details
ExchangeOrganization[] orgs = ES.Services.ExchangeHostedEdition.GetOrganizations(PanelSecurity.PackageId);
if (orgs.Length == 0)
{
// create a new organization
Response.Redirect(EditUrl("SpaceID", PanelSecurity.PackageId.ToString(), "create_org"));
return;
}
else
{
// bind
if(!IsPostBack)
BindOrganization(orgs[0].Id);
}
}
private void BindOrganization(int itemId)
{
// load organization details
ExchangeOrganization org = null;
try
{
org = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationDetails(itemId);
if (org == null)
throw new ArgumentNullException("Organization not found");
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_ORGANIZATION", ex);
return;
}
// basic details
ItemID = org.Id;
organizationName.Text = org.Name;
administratorName.Text = org.AdministratorName;
administratorEmail.Text = org.AdministratorEmail;
ecpURL.Text = org.ExchangeControlPanelUrl;
ecpURL.NavigateUrl = org.ExchangeControlPanelUrl;
// service plan
serviceName.Text = org.ServicePlan;
programID.Text = org.ProgramId;
offerID.Text = org.OfferId;
servicePlanBlock.Visible = (PanelSecurity.LoggedUser.Role == EnterpriseServer.UserRole.Administrator);
// quotas
string quotaFormat = GetLocalizedString("quota.FormatText");
mailboxes.Text = String.Format(quotaFormat, org.MailboxCount, FormatUnlimited(org.MailboxCountQuota), FormatUnlimited(org.MaxMailboxCountQuota));
contacts.Text = String.Format(quotaFormat, org.ContactCount, FormatUnlimited(org.ContactCountQuota), FormatUnlimited(org.MaxContactCountQuota));
distributionLists.Text = String.Format(quotaFormat, org.DistributionListCount, FormatUnlimited(org.DistributionListCountQuota), FormatUnlimited(org.MaxDistributionListCountQuota));
// catch-all
//catchAllAddress.Text = !String.IsNullOrEmpty(org.CatchAllAddress) ? org.CatchAllAddress : GetLocalizedString("catchAllNotSet.Text");
// domains
BindOrganizationDomains(org);
// summary
BindOrganizationSummary(org);
}
private string FormatUnlimited(int num)
{
return (num != -1) ? num.ToString() : GetLocalizedString("unlimited.Text");
}
private void BindOrganizationDomains(ExchangeOrganization org)
{
try
{
// bind grid
gvDomains.DataSource = org.Domains;
gvDomains.DataBind();
// set gauge
domainsQuota.QuotaValue = org.MaxDomainsCountQuota;
domainsQuota.QuotaUsedValue = org.Domains.Length;
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_DOMAINS", ex);
return;
}
}
private void BindOrganizationSummary(ExchangeOrganization org)
{
try
{
string summaryText = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationSummary(org.Id);
setupInstructions.Text = !String.IsNullOrEmpty(summaryText) ? summaryText : GetLocalizedString("summaryTemplateNotSet.Text");
// hide block if template is not set
organizationSummary.Visible = !String.IsNullOrEmpty(summaryText) || (PanelSecurity.LoggedUser.Role != EnterpriseServer.UserRole.User);
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_DOMAINS", ex);
return;
}
}
protected void gvDomains_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
// delete domain
DeleteDomain(gvDomains.DataKeys[e.RowIndex][0].ToString());
// cancel event
e.Cancel = true;
}
private void DeleteDomain(string domainName)
{
try
{
// call service
ResultObject result = ES.Services.ExchangeHostedEdition.DeleteExchangeOrganizationDomain(ItemID, domainName);
// check results
if (result.IsSuccess)
{
// refresh details
BindOrganization(ItemID);
}
else
{
// display message
messageBox.ShowMessage(result, "EXCHANGE_HOSTED_DELETE_DOMAIN", "ExchangeHostedEdition");
}
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_DELETE_DOMAIN", ex);
}
}
protected void deleteOrganization_Click(object sender, EventArgs e)
{
Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "delete_org", "SpaceID=" + PanelSecurity.PackageId.ToString()));
}
protected void changeServicePlan_Click(object sender, EventArgs e)
{
Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "update_org_plan", "SpaceID=" + PanelSecurity.PackageId.ToString()));
}
protected void updateQuotas_Click(object sender, EventArgs e)
{
Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "update_org_quotas", "SpaceID=" + PanelSecurity.PackageId.ToString()));
}
protected void btnAddDomain_Click(object sender, EventArgs e)
{
Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "add_org_domain", "SpaceID=" + PanelSecurity.PackageId.ToString()));
}
protected void setCatchAll_Click(object sender, EventArgs e)
{
Response.Redirect(EditUrl("ItemID", ItemID.ToString(), "update_org_catchall", "SpaceID=" + PanelSecurity.PackageId.ToString()));
}
protected void sendSetupInstructions_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
try
{
ResultObject result = ES.Services.ExchangeHostedEdition.SendExchangeOrganizationSummary(ItemID, sendTo.Text.Trim());
if (result.IsSuccess)
{
// display success message
messageBox.ShowSuccessMessage("EXCHANGE_HOSTED_SEND_SUMMARY");
}
else
{
// display error message
messageBox.ShowMessage(result, "EXCHANGE_HOSTED_SEND_SUMMARY", "ExchangeHostedEdition");
}
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_SEND_SUMMARY", ex);
}
}
}
}

View file

@ -1,44 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UpdateOrganizationCatchAll.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.UpdateOrganizationCatchAll" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="CatchAll" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table>
<tr>
<td colspan="2">
<asp:RadioButtonList ID="catchAllMode" runat="server" AutoPostBack="true"
onselectedindexchanged="catchAllMode_SelectedIndexChanged">
<asp:ListItem Value="Disabled" meta:resourcekey="catchAllModeDisabled" Text="Disabled"></asp:ListItem>
<asp:ListItem Value="Enabled" meta:resourcekey="catchAllModeEnabled" Text="Enabled" Selected="True"></asp:ListItem>
</asp:RadioButtonList>
<br />
</td>
</tr>
<tr id="rawCatchAllAddress" runat="server">
<td><asp:Localize ID="locCatchAllAddress" runat="server" meta:resourcekey="locCatchAllAddress">Catch-all mailbox:</asp:Localize></td>
<td>
<asp:TextBox ID="catchAllAddress" runat="server" Width="100"></asp:TextBox>
<asp:RequiredFieldValidator ID="requireCatchAllAddress" runat="server" meta:resourcekey="requireCatchAllAddress" ControlToValidate="catchAllAddress" ValidationGroup="CatchAll"
Text="*" ErrorMessage="Enter catch-all e-mail address" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="requireCorrectEmail" runat="server"
ErrorMessage="Enter valid e-mail address" ControlToValidate="catchAllAddress" Display="Dynamic" ValidationGroup="CatchAll"
meta:resourcekey="requireCorrectEmail" ValidationExpression="^([0-9a-zA-Z]+[-._+&])*[0-9a-zA-Z]+$" SetFocusOnError="True"></asp:RegularExpressionValidator>
@
<asp:DropDownList ID="domains" runat="server" DataValueField="Name" DataTextField="Name"></asp:DropDownList>
<asp:RequiredFieldValidator ID="requireDomain" runat="server" meta:resourcekey="requireDomain" ControlToValidate="domains" ValidationGroup="CatchAll"
Text="*" ErrorMessage="Select domain" Display="Dynamic" SetFocusOnError="true"></asp:RequiredFieldValidator>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="update" runat="server" meta:resourcekey="update" Text="Update"
CssClass="Button1" onclick="update_Click" ValidationGroup="CatchAll" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

View file

@ -1,108 +0,0 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebsitePanel.Providers.Common;
using WebsitePanel.Providers.ExchangeHostedEdition;
namespace WebsitePanel.Portal.ExchangeHostedEdition
{
public partial class UpdateOrganizationCatchAll : WebsitePanelModuleBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindOrganizationDomains();
BindCatchAllMode();
}
}
private void BindOrganizationDomains()
{
try
{
// read domains
ExchangeOrganizationDomain[] orgDomains = ES.Services.ExchangeHostedEdition.GetExchangeOrganizationDomains(PanelRequest.ItemID);
// bind domains
domains.DataSource = orgDomains;
domains.DataBind();
// select default domain
foreach (ExchangeOrganizationDomain domain in orgDomains)
{
if (domain.IsDefault)
{
domains.SelectedValue = domain.Name;
break;
}
}
// insert empty item in the beginning
domains.Items.Insert(0, new ListItem(GetLocalizedString("SelectDomain.Text"), ""));
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_GET_DOMAINS", ex);
}
}
private void BindCatchAllMode()
{
rawCatchAllAddress.Visible = (catchAllMode.SelectedIndex > 0);
}
protected void update_Click(object sender, EventArgs e)
{
if (!Page.IsValid)
return;
try
{
// collect form data
string catchAllEmail = catchAllAddress.Text.Trim() + "@" + domains.SelectedValue;
if (catchAllMode.SelectedIndex == 0)
{
catchAllEmail = ""; // disabled
}
// call service
ResultObject result = ES.Services.ExchangeHostedEdition.UpdateExchangeOrganizationCatchAllAddress(
PanelRequest.ItemID, catchAllEmail);
// check results
if (result.IsSuccess)
{
// navigate to details
RedirectBack();
}
else
{
// display message
messageBox.ShowMessage(result, "EXCHANGE_HOSTED_CHANGE_QUOTAS", "ExchangeHostedEdition");
}
}
catch (Exception ex)
{
messageBox.ShowErrorMessage("EXCHANGE_HOSTED_CHANGE_QUOTAS", ex);
}
}
protected void cancel_Click(object sender, EventArgs e)
{
RedirectBack();
}
private void RedirectBack()
{
Response.Redirect(NavigateURL("SpaceID", PanelSecurity.PackageId.ToString(), "ItemID=" + PanelRequest.ItemID.ToString()));
}
protected void catchAllMode_SelectedIndexChanged(object sender, EventArgs e)
{
BindCatchAllMode();
}
}
}

View file

@ -1,52 +0,0 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="UpdateOrganizationQuotas.ascx.cs" Inherits="WebsitePanel.Portal.ExchangeHostedEdition.UpdateOrganizationQuotas" %>
<%@ Register Src="../UserControls/SimpleMessageBox.ascx" TagName="SimpleMessageBox" TagPrefix="wsp" %>
<%@ Register Src="../UserControls/EnableAsyncTasksSupport.ascx" TagName="EnableAsyncTasksSupport" TagPrefix="wsp" %>
<wsp:EnableAsyncTasksSupport id="asyncTasks" runat="server"/>
<div class="FormBody">
<wsp:SimpleMessageBox ID="messageBox" runat="server" />
<asp:ValidationSummary ID="validationErrors" runat="server" ValidationGroup="OrgQuotas" DisplayMode="List" ShowMessageBox="true" ShowSummary="false" />
<table>
<tr>
<td class="Label"><asp:Localize ID="locMailboxes" runat="server" meta:resourcekey="locMailboxes" Text="Mailboxes:"></asp:Localize></td>
<td>
<asp:TextBox ID="mailboxes" runat="server" Width="50"></asp:TextBox>
<asp:Literal ID="maxMailboxes" runat="server">(max 0)</asp:Literal>
<asp:RequiredFieldValidator ID="requireMailboxes" runat="server" meta:resourcekey="requireMailboxes" ControlToValidate="mailboxes" ValidationGroup="OrgQuotas"
Text="*" ErrorMessage="Enter mailboxes quota" Display="Dynamic" SetFocusOnError="true" Enabled="false"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rangeMailboxes" runat="server" meta:resourcekey="rangeMailboxes" ControlToValidate="mailboxes" ValidationGroup="OrgQuotas"
Text="!" ErrorMessage="Specify correct number" Display="Dynamic" SetFocusOnError="true" MinimumValue="0" MaximumValue="1000000" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locContacts" runat="server" meta:resourcekey="locContacts" Text="Contacts:"></asp:Localize></td>
<td>
<asp:TextBox ID="contacts" runat="server" Width="50"></asp:TextBox>
<asp:Literal ID="maxContacts" runat="server">(max 0)</asp:Literal>
<asp:RequiredFieldValidator ID="requireContacts" runat="server" meta:resourcekey="requireContacts" ControlToValidate="contacts" ValidationGroup="OrgQuotas"
Text="*" ErrorMessage="Enter contacts quota" Display="Dynamic" SetFocusOnError="true" Enabled="false"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rangeContacts" runat="server" meta:resourcekey="rangeContacts" ControlToValidate="contacts" ValidationGroup="OrgQuotas"
Text="!" ErrorMessage="Specify correct number" Display="Dynamic" SetFocusOnError="true" MinimumValue="0" MaximumValue="1000000" Type="Integer"></asp:RangeValidator>
</td>
</tr>
<tr>
<td class="Label"><asp:Localize ID="locDistributionLists" runat="server" meta:resourcekey="locDistributionLists" Text="Distribution Lists:"></asp:Localize></td>
<td>
<asp:TextBox ID="distributionLists" runat="server" Width="50"></asp:TextBox>
<asp:Literal ID="maxDistributionLists" runat="server">(max 0)</asp:Literal>
<asp:RequiredFieldValidator ID="requireDistributionLists" runat="server" meta:resourcekey="requireDistributionLists" ControlToValidate="distributionLists" ValidationGroup="OrgQuotas"
Text="*" ErrorMessage="Enter distribution lists quota" Display="Dynamic" SetFocusOnError="true" Enabled="false"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="rangeDistributionLists" runat="server" meta:resourcekey="rangeDistributionLists" ControlToValidate="distributionLists" ValidationGroup="OrgQuotas"
Text="!" ErrorMessage="Specify correct number" Display="Dynamic" SetFocusOnError="true" MinimumValue="0" MaximumValue="1000000" Type="Integer"></asp:RangeValidator>
</td>
</tr>
</table>
</div>
<div class="FormFooter">
<asp:Button ID="update" runat="server" meta:resourcekey="update" Text="Update"
CssClass="Button1" onclick="update_Click" ValidationGroup="OrgQuotas" />
<asp:Button ID="cancel" runat="server" meta:resourcekey="cancel" Text="Cancel"
CssClass="Button1" CausesValidation="false" onclick="cancel_Click" />
</div>

Some files were not shown because too many files have changed in this diff Show more