forked from shaba/openuds
Added new 1.2 tag
This commit is contained in:
commit
44da266276
@ -44,6 +44,16 @@ namespace UdsAdmin
|
|||||||
[STAThread]
|
[STAThread]
|
||||||
static void Main()
|
static void Main()
|
||||||
{
|
{
|
||||||
|
string[] args = Environment.GetCommandLineArgs();
|
||||||
|
|
||||||
|
foreach (string arg in args)
|
||||||
|
{
|
||||||
|
if (arg == "--enabledebug" || arg == "--enabledevel")
|
||||||
|
UdsAdmin.Properties.Settings.Default.debug = true;
|
||||||
|
else if (arg == "--disabledebug" || arg == "--disabledevel")
|
||||||
|
UdsAdmin.Properties.Settings.Default.debug = false;
|
||||||
|
}
|
||||||
|
|
||||||
Application.EnableVisualStyles();
|
Application.EnableVisualStyles();
|
||||||
Application.SetCompatibleTextRenderingDefault(false);
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
CultureInfo culture = new CultureInfo(UdsAdmin.Properties.Settings.Default.Locale);
|
CultureInfo culture = new CultureInfo(UdsAdmin.Properties.Settings.Default.Locale);
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// Este código fue generado por una herramienta.
|
// This code was generated by a tool.
|
||||||
// Versión de runtime:4.0.30319.18034
|
// Runtime Version:4.0.30319.296
|
||||||
//
|
//
|
||||||
// Los cambios en este archivo podrían causar un comportamiento incorrecto y se perderán si
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// se vuelve a generar el código.
|
// the code is regenerated.
|
||||||
// </auto-generated>
|
// </auto-generated>
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -127,5 +127,17 @@ namespace UdsAdmin.Properties {
|
|||||||
return ((int)(this["StatsItems"]));
|
return ((int)(this["StatsItems"]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[global::System.Configuration.UserScopedSettingAttribute()]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Configuration.DefaultSettingValueAttribute("False")]
|
||||||
|
public bool debug {
|
||||||
|
get {
|
||||||
|
return ((bool)(this["debug"]));
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
this["debug"] = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -29,5 +29,8 @@
|
|||||||
<Setting Name="StatsItems" Type="System.Int32" Scope="Application">
|
<Setting Name="StatsItems" Type="System.Int32" Scope="Application">
|
||||||
<Value Profile="(Default)">200</Value>
|
<Value Profile="(Default)">200</Value>
|
||||||
</Setting>
|
</Setting>
|
||||||
|
<Setting Name="debug" Type="System.Boolean" Scope="User">
|
||||||
|
<Value Profile="(Default)">False</Value>
|
||||||
|
</Setting>
|
||||||
</Settings>
|
</Settings>
|
||||||
</SettingsFile>
|
</SettingsFile>
|
321
client/administration/UdsAdmin/Strings.Designer.cs
generated
321
client/administration/UdsAdmin/Strings.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -522,4 +522,13 @@
|
|||||||
<data name="confirmDelete" xml:space="preserve">
|
<data name="confirmDelete" xml:space="preserve">
|
||||||
<value>Are you sure do you want to delete selected items?</value>
|
<value>Are you sure do you want to delete selected items?</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="releaseInUse" xml:space="preserve">
|
||||||
|
<value>Release "In use" state</value>
|
||||||
|
</data>
|
||||||
|
<data name="setActive" xml:space="preserve">
|
||||||
|
<value>Force to Active</value>
|
||||||
|
</data>
|
||||||
|
<data name="setInUse" xml:space="preserve">
|
||||||
|
<value>Simulate "In use"</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
@ -34,6 +34,9 @@
|
|||||||
<setting name="MaxControlWidth" serializeAs="String">
|
<setting name="MaxControlWidth" serializeAs="String">
|
||||||
<value>320</value>
|
<value>320</value>
|
||||||
</setting>
|
</setting>
|
||||||
|
<setting name="debug" serializeAs="String">
|
||||||
|
<value>False</value>
|
||||||
|
</setting>
|
||||||
</UdsAdmin.Properties.Settings>
|
</UdsAdmin.Properties.Settings>
|
||||||
</userSettings>
|
</userSettings>
|
||||||
<applicationSettings>
|
<applicationSettings>
|
||||||
|
@ -65,6 +65,15 @@ namespace UdsAdmin.controls.panel
|
|||||||
ToolStripMenuItem assign = new ToolStripMenuItem(Strings.assignToUser); assign.Click += assignToUser; assign.Image = Images.new16;
|
ToolStripMenuItem assign = new ToolStripMenuItem(Strings.assignToUser); assign.Click += assignToUser; assign.Image = Images.new16;
|
||||||
_assignMenu.Items.AddRange(new ToolStripItem[] { assign });
|
_assignMenu.Items.AddRange(new ToolStripItem[] { assign });
|
||||||
|
|
||||||
|
if (UdsAdmin.Properties.Settings.Default.debug == true)
|
||||||
|
{
|
||||||
|
ToolStripSeparator sep = new ToolStripSeparator();
|
||||||
|
ToolStripMenuItem debug1 = new ToolStripMenuItem(Strings.setActive); debug1.Name = UdsAdmin.gui.ActionTree.SET_ACTIVE_ACTION; debug1.Click += develMenu;
|
||||||
|
ToolStripMenuItem debug2 = new ToolStripMenuItem(Strings.setInUse); debug2.Name = UdsAdmin.gui.ActionTree.SET_INUSE_ACTION; debug2.Click += develMenu;
|
||||||
|
ToolStripMenuItem debug3 = new ToolStripMenuItem(Strings.releaseInUse); debug3.Name = UdsAdmin.gui.ActionTree.RELEASE_INUSE_ACTION; debug3.Click += develMenu;
|
||||||
|
_deleteMenu.Items.AddRange(new ToolStripItem[] { sep, debug1, debug2, debug3 });
|
||||||
|
}
|
||||||
|
|
||||||
// Adapt listview to cache or users
|
// Adapt listview to cache or users
|
||||||
if (cache)
|
if (cache)
|
||||||
{
|
{
|
||||||
@ -158,6 +167,31 @@ namespace UdsAdmin.controls.panel
|
|||||||
updateList();
|
updateList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void develMenu(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
ToolStripMenuItem s = (ToolStripMenuItem)sender;
|
||||||
|
|
||||||
|
if (listView.SelectedItems.Count == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
string[] ids = new string[listView.SelectedItems.Count];
|
||||||
|
int n = 0;
|
||||||
|
|
||||||
|
foreach (ListViewItem i in listView.SelectedItems)
|
||||||
|
ids[n++] = (string)i.Tag;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
xmlrpc.UdsAdminService.DevelAction(s.Name, ids);
|
||||||
|
}
|
||||||
|
catch (CookComputing.XmlRpc.XmlRpcFaultException ex)
|
||||||
|
{
|
||||||
|
gui.UserNotifier.notifyRpcException(ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
updateList();
|
||||||
|
}
|
||||||
|
|
||||||
private void infoItem(object sender, EventArgs e)
|
private void infoItem(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string id = (string)listView.SelectedItems[0].Tag;
|
string id = (string)listView.SelectedItems[0].Tag;
|
||||||
|
@ -907,7 +907,7 @@
|
|||||||
<value>0, 0, 0, 0</value>
|
<value>0, 0, 0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>721, 69</value>
|
<value>721, 70</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
|
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@ -916,7 +916,7 @@
|
|||||||
<value>logViewer1</value>
|
<value>logViewer1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>logViewer1.Type" xml:space="preserve">
|
<data name=">>logViewer1.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.panel.LogViewer, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.panel.LogViewer, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>logViewer1.Parent" xml:space="preserve">
|
<data name=">>logViewer1.Parent" xml:space="preserve">
|
||||||
<value>splitContainer1.Panel2</value>
|
<value>splitContainer1.Panel2</value>
|
||||||
@ -937,7 +937,7 @@
|
|||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>721, 474</value>
|
<value>721, 475</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
||||||
<value>397</value>
|
<value>397</value>
|
||||||
@ -952,7 +952,7 @@
|
|||||||
<value>splitContainer1</value>
|
<value>splitContainer1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Type" xml:space="preserve">
|
<data name=">>splitContainer1.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
||||||
<value>tabPage1</value>
|
<value>tabPage1</value>
|
||||||
@ -961,13 +961,13 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tabPage1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="tabPage1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>727, 480</value>
|
<value>727, 481</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@ -997,7 +997,7 @@
|
|||||||
<value>3, 240</value>
|
<value>3, 240</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="inUseChart.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="inUseChart.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>715, 231</value>
|
<value>715, 232</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="inUseChart.TabIndex" type="System.Int32, mscorlib">
|
<data name="inUseChart.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>8</value>
|
<value>8</value>
|
||||||
@ -1006,7 +1006,7 @@
|
|||||||
<value>inUseChart</value>
|
<value>inUseChart</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>inUseChart.Type" xml:space="preserve">
|
<data name=">>inUseChart.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>inUseChart.Parent" xml:space="preserve">
|
<data name=">>inUseChart.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel2</value>
|
<value>tableLayoutPanel2</value>
|
||||||
@ -1030,7 +1030,7 @@
|
|||||||
<value>assignedChart</value>
|
<value>assignedChart</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>assignedChart.Type" xml:space="preserve">
|
<data name=">>assignedChart.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>assignedChart.Parent" xml:space="preserve">
|
<data name=">>assignedChart.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel2</value>
|
<value>tableLayoutPanel2</value>
|
||||||
@ -1048,7 +1048,7 @@
|
|||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tableLayoutPanel2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>721, 474</value>
|
<value>721, 475</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
<data name="tableLayoutPanel2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>7</value>
|
<value>7</value>
|
||||||
@ -1069,13 +1069,13 @@
|
|||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="inUseChart" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="assignedChart" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="inUseChart" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="assignedChart" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings></value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tabPage2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="tabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>727, 480</value>
|
<value>727, 481</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
|
@ -196,7 +196,7 @@
|
|||||||
<value>0, 0, 0, 0</value>
|
<value>0, 0, 0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="logViewer1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>723, 93</value>
|
<value>723, 94</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
|
<data name="logViewer1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@ -205,7 +205,7 @@
|
|||||||
<value>logViewer1</value>
|
<value>logViewer1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>logViewer1.Type" xml:space="preserve">
|
<data name=">>logViewer1.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.panel.LogViewer, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.panel.LogViewer, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>logViewer1.Parent" xml:space="preserve">
|
<data name=">>logViewer1.Parent" xml:space="preserve">
|
||||||
<value>splitContainer1.Panel2</value>
|
<value>splitContainer1.Panel2</value>
|
||||||
@ -226,7 +226,7 @@
|
|||||||
<value>1</value>
|
<value>1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>723, 476</value>
|
<value>723, 477</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
||||||
<value>375</value>
|
<value>375</value>
|
||||||
@ -241,7 +241,7 @@
|
|||||||
<value>splitContainer1</value>
|
<value>splitContainer1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Type" xml:space="preserve">
|
<data name=">>splitContainer1.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
||||||
<value>tabPage1</value>
|
<value>tabPage1</value>
|
||||||
@ -250,13 +250,13 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tabPage1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="tabPage1.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>729, 482</value>
|
<value>729, 483</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@ -295,7 +295,7 @@
|
|||||||
<value>assignedChart</value>
|
<value>assignedChart</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>assignedChart.Type" xml:space="preserve">
|
<data name=">>assignedChart.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>assignedChart.Parent" xml:space="preserve">
|
<data name=">>assignedChart.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
@ -310,7 +310,7 @@
|
|||||||
<value>3, 241</value>
|
<value>3, 241</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="inUseChart.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="inUseChart.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>717, 232</value>
|
<value>717, 233</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="inUseChart.TabIndex" type="System.Int32, mscorlib">
|
<data name="inUseChart.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
@ -319,7 +319,7 @@
|
|||||||
<value>inUseChart</value>
|
<value>inUseChart</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>inUseChart.Type" xml:space="preserve">
|
<data name=">>inUseChart.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.1.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.panel.ChartPanel, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>inUseChart.Parent" xml:space="preserve">
|
<data name=">>inUseChart.Parent" xml:space="preserve">
|
||||||
<value>tableLayoutPanel1</value>
|
<value>tableLayoutPanel1</value>
|
||||||
@ -337,7 +337,7 @@
|
|||||||
<value>2</value>
|
<value>2</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>723, 476</value>
|
<value>723, 477</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@ -358,13 +358,13 @@
|
|||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="assignedChart" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="inUseChart" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,20" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="assignedChart" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="inUseChart" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,20" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings></value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="tabPage2.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="tabPage2.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="tabPage2.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>729, 482</value>
|
<value>729, 483</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
|
<data name="tabPage2.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
|
@ -183,6 +183,10 @@ namespace UdsAdmin.forms
|
|||||||
if (cacheServicesBox.Value > maxServicesBox.Value)
|
if (cacheServicesBox.Value > maxServicesBox.Value)
|
||||||
maxServicesBox.Value = cacheServicesBox.Value;
|
maxServicesBox.Value = cacheServicesBox.Value;
|
||||||
|
|
||||||
|
// If no L1 cache, L2 cache will not be used, so we reset it to 0
|
||||||
|
if (cacheL2ServicesBox.Value > 0 && cacheServicesBox.Value == 0)
|
||||||
|
cacheL2ServicesBox.Value = 0;
|
||||||
|
|
||||||
_dps.initialServices = (int)initialServicesBox.Value;
|
_dps.initialServices = (int)initialServicesBox.Value;
|
||||||
_dps.cacheL1 = (int)cacheServicesBox.Value;
|
_dps.cacheL1 = (int)cacheServicesBox.Value;
|
||||||
_dps.cacheL2 = (int)cacheL2ServicesBox.Value;
|
_dps.cacheL2 = (int)cacheL2ServicesBox.Value;
|
||||||
|
@ -415,13 +415,13 @@
|
|||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="osManagerCombo" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="baseServiceCombo" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label9" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label8" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="nameBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="commentsBox" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0" /><Rows Styles="Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label3" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label1" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="osManagerCombo" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="baseServiceCombo" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label9" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="label8" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="nameBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="commentsBox" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0" /><Rows Styles="Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings></value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Service.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="Service.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Service.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="Service.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Service.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="Service.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>440, 197</value>
|
<value>440, 198</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Service.TabIndex" type="System.Int32, mscorlib">
|
<data name="Service.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
@ -529,13 +529,13 @@
|
|||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label4" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="allowedTransports" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,20" /><Rows Styles="Absolute,24,Percent,100" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label4" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="allowedTransports" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,20" /><Rows Styles="Absolute,24,Percent,100" /></TableLayoutSettings></value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Transports.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="Transports.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Transports.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="Transports.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Transports.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="Transports.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>440, 197</value>
|
<value>440, 198</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Transports.TabIndex" type="System.Int32, mscorlib">
|
<data name="Transports.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
@ -829,13 +829,13 @@
|
|||||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="cacheL2ServicesBox" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="cacheL2Label" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cacheServicesBox" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label5" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cacheLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="initialServicesBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label7" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="maxServicesBox" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings></value>
|
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="cacheL2ServicesBox" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="cacheL2Label" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cacheServicesBox" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label5" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cacheLabel" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="initialServicesBox" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="label7" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="maxServicesBox" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100" /><Rows Styles="Percent,25,Percent,25,Percent,25,Percent,25" /></TableLayoutSettings></value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Cache.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="Cache.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>4, 23</value>
|
<value>4, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Cache.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
<data name="Cache.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||||
<value>3, 3, 3, 3</value>
|
<value>3, 3, 3, 3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Cache.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="Cache.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>440, 197</value>
|
<value>440, 198</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="Cache.TabIndex" type="System.Int32, mscorlib">
|
<data name="Cache.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>2</value>
|
<value>2</value>
|
||||||
|
@ -72,6 +72,7 @@
|
|||||||
//
|
//
|
||||||
resources.ApplyResources(this.treeActions, "treeActions");
|
resources.ApplyResources(this.treeActions, "treeActions");
|
||||||
this.treeActions.HideSelection = false;
|
this.treeActions.HideSelection = false;
|
||||||
|
this.treeActions.MinimumSize = new System.Drawing.Size(200, 4);
|
||||||
this.treeActions.Name = "treeActions";
|
this.treeActions.Name = "treeActions";
|
||||||
this.treeActions.ShowNodeToolTips = true;
|
this.treeActions.ShowNodeToolTips = true;
|
||||||
this.treeActions.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeActions_BeforeExpand);
|
this.treeActions.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.treeActions_BeforeExpand);
|
||||||
|
@ -123,7 +123,7 @@
|
|||||||
</data>
|
</data>
|
||||||
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||||
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="splitContainer1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 50</value>
|
<value>0, 49</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="treeActions.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
<data name="treeActions.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||||
<value>Fill</value>
|
<value>Fill</value>
|
||||||
@ -131,11 +131,8 @@
|
|||||||
<data name="treeActions.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="treeActions.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="treeActions.MinimumSize" type="System.Drawing.Size, System.Drawing">
|
|
||||||
<value>200, 4</value>
|
|
||||||
</data>
|
|
||||||
<data name="treeActions.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="treeActions.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>200, 376</value>
|
<value>200, 377</value>
|
||||||
</data>
|
</data>
|
||||||
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<assembly alias="mscorlib" name="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<data name="treeActions.TabIndex" type="System.Int32, mscorlib">
|
<data name="treeActions.TabIndex" type="System.Int32, mscorlib">
|
||||||
@ -184,7 +181,7 @@
|
|||||||
<value>32</value>
|
<value>32</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="splitContainer1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>610, 376</value>
|
<value>610, 377</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
<data name="splitContainer1.SplitterDistance" type="System.Int32, mscorlib">
|
||||||
<value>146</value>
|
<value>146</value>
|
||||||
@ -199,7 +196,7 @@
|
|||||||
<value>splitContainer1</value>
|
<value>splitContainer1</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Type" xml:space="preserve">
|
<data name=">>splitContainer1.Type" xml:space="preserve">
|
||||||
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.1.1.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>UdsAdmin.controls.SplitContainerEx, UdsAdmin, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
<data name=">>splitContainer1.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
@ -238,61 +235,61 @@
|
|||||||
<value>133, 17</value>
|
<value>133, 17</value>
|
||||||
</metadata>
|
</metadata>
|
||||||
<data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="exitToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>102, 22</value>
|
<value>92, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="exitToolStripMenuItem.Text" xml:space="preserve">
|
<data name="exitToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Exit</value>
|
<value>Exit</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="fileToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>42, 21</value>
|
<value>37, 20</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
|
<data name="fileToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>File</value>
|
<value>File</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="englishToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="englishToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>127, 22</value>
|
<value>116, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="englishToolStripMenuItem1.Text" xml:space="preserve">
|
<data name="englishToolStripMenuItem1.Text" xml:space="preserve">
|
||||||
<value>English</value>
|
<value>English</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="spanishToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="spanishToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>127, 22</value>
|
<value>116, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="spanishToolStripMenuItem1.Text" xml:space="preserve">
|
<data name="spanishToolStripMenuItem1.Text" xml:space="preserve">
|
||||||
<value>Spanish</value>
|
<value>Spanish</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="frenchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="frenchToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>127, 22</value>
|
<value>116, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="frenchToolStripMenuItem.Text" xml:space="preserve">
|
<data name="frenchToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>French</value>
|
<value>French</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="germanToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="germanToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>127, 22</value>
|
<value>116, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="germanToolStripMenuItem.Text" xml:space="preserve">
|
<data name="germanToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>German</value>
|
<value>German</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="languageToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="languageToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>165, 22</value>
|
<value>148, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="languageToolStripMenuItem1.Text" xml:space="preserve">
|
<data name="languageToolStripMenuItem1.Text" xml:space="preserve">
|
||||||
<value>Language</value>
|
<value>Language</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="configurationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="configurationToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>165, 22</value>
|
<value>148, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="configurationToolStripMenuItem.Text" xml:space="preserve">
|
<data name="configurationToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Configuration</value>
|
<value>Configuration</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="aboutToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="aboutToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>165, 22</value>
|
<value>148, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="aboutToolStripMenuItem1.Text" xml:space="preserve">
|
<data name="aboutToolStripMenuItem1.Text" xml:space="preserve">
|
||||||
<value>About</value>
|
<value>About</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolsToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolsToolStripMenuItem1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>52, 21</value>
|
<value>48, 20</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolsToolStripMenuItem1.Text" xml:space="preserve">
|
<data name="toolsToolStripMenuItem1.Text" xml:space="preserve">
|
||||||
<value>Tools</value>
|
<value>Tools</value>
|
||||||
@ -301,7 +298,7 @@
|
|||||||
<value>0, 0</value>
|
<value>0, 0</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuStrip1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="menuStrip1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>610, 25</value>
|
<value>610, 24</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="menuStrip1.TabIndex" type="System.Int32, mscorlib">
|
<data name="menuStrip1.TabIndex" type="System.Int32, mscorlib">
|
||||||
<value>1</value>
|
<value>1</value>
|
||||||
@ -322,13 +319,13 @@
|
|||||||
<value>3</value>
|
<value>3</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="newServiceProviderMenu.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="newServiceProviderMenu.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>106, 22</value>
|
<value>98, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="newServiceProviderMenu.Text" xml:space="preserve">
|
<data name="newServiceProviderMenu.Text" xml:space="preserve">
|
||||||
<value>New</value>
|
<value>New</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="testToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="testToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>106, 22</value>
|
<value>98, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="serviceProviderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="serviceProviderToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>103, 20</value>
|
<value>103, 20</value>
|
||||||
@ -340,13 +337,13 @@
|
|||||||
<value>32, 19</value>
|
<value>32, 19</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="spanishToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="spanishToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>126, 22</value>
|
<value>115, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="spanishToolStripMenuItem.Text" xml:space="preserve">
|
<data name="spanishToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>Spanish</value>
|
<value>Spanish</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="englishToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="englishToolStripMenuItem.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>126, 22</value>
|
<value>115, 22</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="englishToolStripMenuItem.Text" xml:space="preserve">
|
<data name="englishToolStripMenuItem.Text" xml:space="preserve">
|
||||||
<value>English</value>
|
<value>English</value>
|
||||||
@ -379,7 +376,7 @@
|
|||||||
<value>Clears the cache</value>
|
<value>Clears the cache</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
|
<data name="toolStrip1.Location" type="System.Drawing.Point, System.Drawing">
|
||||||
<value>0, 25</value>
|
<value>0, 24</value>
|
||||||
</data>
|
</data>
|
||||||
<data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
|
<data name="toolStrip1.Size" type="System.Drawing.Size, System.Drawing">
|
||||||
<value>610, 25</value>
|
<value>610, 25</value>
|
||||||
|
@ -72,6 +72,9 @@ namespace UdsAdmin.gui
|
|||||||
public const string DELETE_ACTION = "delete";
|
public const string DELETE_ACTION = "delete";
|
||||||
public const string CHECK_ACTION = "test";
|
public const string CHECK_ACTION = "test";
|
||||||
public const string PUBLISH_ACTION = "publish";
|
public const string PUBLISH_ACTION = "publish";
|
||||||
|
public const string SET_ACTIVE_ACTION = "activate";
|
||||||
|
public const string SET_INUSE_ACTION = "inUse";
|
||||||
|
public const string RELEASE_INUSE_ACTION = "releaseInUse";
|
||||||
|
|
||||||
private static Dictionary<string, xmlrpc.ServiceType[]> stCache = new Dictionary<string, xmlrpc.ServiceType[]>();
|
private static Dictionary<string, xmlrpc.ServiceType[]> stCache = new Dictionary<string, xmlrpc.ServiceType[]>();
|
||||||
|
|
||||||
|
@ -209,6 +209,7 @@ namespace UdsAdmin.gui
|
|||||||
ContextMenuStrip menu = new ContextMenuStrip();
|
ContextMenuStrip menu = new ContextMenuStrip();
|
||||||
ToolStripMenuItem modify = new ToolStripMenuItem(Strings.modifyItem); modify.Name = ActionTree.MODIFY_ACTION; modify.Click += action;
|
ToolStripMenuItem modify = new ToolStripMenuItem(Strings.modifyItem); modify.Name = ActionTree.MODIFY_ACTION; modify.Click += action;
|
||||||
ToolStripMenuItem delete = new ToolStripMenuItem(Strings.deleteItem); delete.Name = ActionTree.DELETE_ACTION; delete.Click += action;
|
ToolStripMenuItem delete = new ToolStripMenuItem(Strings.deleteItem); delete.Name = ActionTree.DELETE_ACTION; delete.Click += action;
|
||||||
|
|
||||||
menu.Items.AddRange(new ToolStripItem[] { modify, delete});
|
menu.Items.AddRange(new ToolStripItem[] { modify, delete});
|
||||||
if (dps.info.needsPublication)
|
if (dps.info.needsPublication)
|
||||||
{
|
{
|
||||||
@ -216,6 +217,7 @@ namespace UdsAdmin.gui
|
|||||||
ToolStripMenuItem publish = new ToolStripMenuItem(Strings.publish); publish.Name = ActionTree.PUBLISH_ACTION; publish.Click += action;
|
ToolStripMenuItem publish = new ToolStripMenuItem(Strings.publish); publish.Name = ActionTree.PUBLISH_ACTION; publish.Click += action;
|
||||||
menu.Items.AddRange(new ToolStripItem[] {sep, publish });
|
menu.Items.AddRange(new ToolStripItem[] {sep, publish });
|
||||||
}
|
}
|
||||||
|
|
||||||
return menu;
|
return menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -354,6 +354,13 @@ namespace UdsAdmin.xmlrpc
|
|||||||
GuiFieldValue[] InvokeChooseCallback(string credentials, string name, GuiFieldValue[] parameters);
|
GuiFieldValue[] InvokeChooseCallback(string credentials, string name, GuiFieldValue[] parameters);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Devel stuff
|
||||||
|
[XmlRpcMethod("develAction")]
|
||||||
|
bool DevelAction(string credentials, string action, string[] ids);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -768,5 +768,12 @@ namespace UdsAdmin.xmlrpc
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Devel stuff
|
||||||
|
public static bool DevelAction(string action, string[] ids)
|
||||||
|
{
|
||||||
|
return s.DevelAction(credentials, action, ids);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>net.sourceforge.guacamole</groupId>
|
<groupId>net.sourceforge.guacamole</groupId>
|
||||||
<artifactId>guacamole-common-js</artifactId>
|
<artifactId>guacamole-common-js</artifactId>
|
||||||
<version>0.7.1</version>
|
<version>0.7.2</version>
|
||||||
<type>zip</type>
|
<type>zip</type>
|
||||||
<scope>runtime</scope>
|
<scope>runtime</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
Binary file not shown.
@ -94,6 +94,9 @@ public class LinuxApplet implements OsApplet {
|
|||||||
else
|
else
|
||||||
exec.add("-g" + width + "x" + height);
|
exec.add("-g" + width + "x" + height);
|
||||||
|
|
||||||
|
if (redirectSmartcards)
|
||||||
|
exec.add("-rscard");
|
||||||
|
|
||||||
exec.add("-TUDS-RDP");
|
exec.add("-TUDS-RDP");
|
||||||
exec.add("-P");
|
exec.add("-P");
|
||||||
|
|
||||||
@ -107,7 +110,7 @@ public class LinuxApplet implements OsApplet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if( redirectDrives )
|
if( redirectDrives )
|
||||||
exec.add("-rdisk:home=\"" + home + "\"");
|
exec.add("-rdisk:home=" + home);
|
||||||
|
|
||||||
if( redirectAudio )
|
if( redirectAudio )
|
||||||
exec.add("-rsound:local");
|
exec.add("-rsound:local");
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
package es.virtualcable.rdp;
|
package es.virtualcable.rdp;
|
||||||
|
|
||||||
|
// More info about RDP files: http://technet.microsoft.com/en-us/library/ff393699%28WS.10%29.aspx
|
||||||
|
|
||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.PrintWriter;
|
import java.io.PrintWriter;
|
||||||
|
@ -10,7 +10,7 @@ import es.virtualcable.rdp.util;
|
|||||||
|
|
||||||
public class WindowsApplet implements OsApplet {
|
public class WindowsApplet implements OsApplet {
|
||||||
|
|
||||||
private static final String MSTSC_CMD = "c:\\windows\\system32\\mstsc.exe";
|
private static final String MSTSC_CMD_REL = "\\system32\\mstsc.exe";
|
||||||
|
|
||||||
private Hashtable<String,String> params;
|
private Hashtable<String,String> params;
|
||||||
private String scrWidth;
|
private String scrWidth;
|
||||||
@ -108,6 +108,7 @@ public class WindowsApplet implements OsApplet {
|
|||||||
private void executeTunnel() throws IOException
|
private void executeTunnel() throws IOException
|
||||||
{
|
{
|
||||||
String java = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java.exe";
|
String java = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java.exe";
|
||||||
|
String MSTSC_CMD = System.getenv("SystemRoot") + MSTSC_CMD_REL;
|
||||||
String [] cmd = { java, "-jar", jarFileName, tunPort, MSTSC_CMD, rdpFileName };
|
String [] cmd = { java, "-jar", jarFileName, tunPort, MSTSC_CMD, rdpFileName };
|
||||||
ProcessBuilder pb = new ProcessBuilder( cmd );
|
ProcessBuilder pb = new ProcessBuilder( cmd );
|
||||||
Map<String,String> env = pb.environment();
|
Map<String,String> env = pb.environment();
|
||||||
@ -120,6 +121,7 @@ public class WindowsApplet implements OsApplet {
|
|||||||
|
|
||||||
private void executeDirect() throws IOException
|
private void executeDirect() throws IOException
|
||||||
{
|
{
|
||||||
|
String MSTSC_CMD = System.getenv("SystemRoot") + MSTSC_CMD_REL;
|
||||||
Runtime.getRuntime().exec( MSTSC_CMD + " \"" + rdpFileName + "\"" );
|
Runtime.getRuntime().exec( MSTSC_CMD + " \"" + rdpFileName + "\"" );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,13 +82,15 @@ class InternalDBAuth(Authenticator):
|
|||||||
# and access will be denied
|
# and access will be denied
|
||||||
try:
|
try:
|
||||||
usr = auth.users.get(name=username, state=State.ACTIVE)
|
usr = auth.users.get(name=username, state=State.ACTIVE)
|
||||||
|
parent = usr.id
|
||||||
usr.id = None
|
usr.id = None
|
||||||
if usr.real_name.strip() == '':
|
if usr.real_name.strip() == '':
|
||||||
usr.real_name = usr.name
|
usr.real_name = usr.name
|
||||||
usr.name = newUsername
|
usr.name = newUsername
|
||||||
|
usr.parent = parent
|
||||||
usr.save()
|
usr.save()
|
||||||
except:
|
except:
|
||||||
logger.exception('Exception')
|
pass # User already exists
|
||||||
username = newUsername
|
username = newUsername
|
||||||
|
|
||||||
return username
|
return username
|
||||||
@ -101,6 +103,9 @@ class InternalDBAuth(Authenticator):
|
|||||||
if len(usr) == 0:
|
if len(usr) == 0:
|
||||||
return False
|
return False
|
||||||
usr = usr[0]
|
usr = usr[0]
|
||||||
|
if usr.parent != -1: # Direct auth not allowed for "derived" users
|
||||||
|
return False
|
||||||
|
|
||||||
# Internal Db Auth has its own groups, and if it active it is valid
|
# Internal Db Auth has its own groups, and if it active it is valid
|
||||||
if usr.password == hashlib.sha1(credentials).hexdigest():
|
if usr.password == hashlib.sha1(credentials).hexdigest():
|
||||||
groupsManager.validate([g.name for g in usr.groups.all()])
|
groupsManager.validate([g.name for g in usr.groups.all()])
|
||||||
|
@ -55,8 +55,8 @@ class RegexLdap(auths.Authenticator):
|
|||||||
ldapBase = gui.TextField(length=64, label = _('Base'), order = 7, tooltip = _('Common search base (used for "users" and "groups"'), required = True)
|
ldapBase = gui.TextField(length=64, label = _('Base'), order = 7, tooltip = _('Common search base (used for "users" and "groups"'), required = True)
|
||||||
userClass = gui.TextField(length=64, label = _('User class'), defvalue = 'posixAccount', order = 8, tooltip = _('Class for LDAP users (normally posixAccount)'), required = True)
|
userClass = gui.TextField(length=64, label = _('User class'), defvalue = 'posixAccount', order = 8, tooltip = _('Class for LDAP users (normally posixAccount)'), required = True)
|
||||||
userIdAttr = gui.TextField(length=64, label = _('User Id Attr'), defvalue = 'uid', order = 9, tooltip = _('Attribute that contains the user id'), required = True)
|
userIdAttr = gui.TextField(length=64, label = _('User Id Attr'), defvalue = 'uid', order = 9, tooltip = _('Attribute that contains the user id'), required = True)
|
||||||
userNameAttr = gui.TextField(length=64, label = _('User Name Attr'), multiline=2, defvalue = 'uid', order = 10, tooltip = _('Attributes that contains the user name (list of comma separated values)'), required = True)
|
userNameAttr = gui.TextField(length=640, label = _('User Name Attr'), multiline=2, defvalue = 'uid', order = 10, tooltip = _('Attributes that contains the user name (list of comma separated values)'), required = True)
|
||||||
groupNameAttr = gui.TextField(length=64, label = _('Group Name Attr'), multiline=2, defvalue = 'cn', order = 11, tooltip = _('Attribute that contains the group name'), required = True)
|
groupNameAttr = gui.TextField(length=640, label = _('Group Name Attr'), multiline=2, defvalue = 'cn', order = 11, tooltip = _('Attribute that contains the group name'), required = True)
|
||||||
#regex = gui.TextField(length=64, label = _('Regular Exp. for groups'), defvalue = '^(.*)', order = 12, tooltip = _('Regular Expression to extract the group name'), required = True)
|
#regex = gui.TextField(length=64, label = _('Regular Exp. for groups'), defvalue = '^(.*)', order = 12, tooltip = _('Regular Expression to extract the group name'), required = True)
|
||||||
|
|
||||||
typeName = _('Regex LDAP Authenticator')
|
typeName = _('Regex LDAP Authenticator')
|
||||||
@ -129,7 +129,7 @@ class RegexLdap(auths.Authenticator):
|
|||||||
res = []
|
res = []
|
||||||
for line in field.splitlines():
|
for line in field.splitlines():
|
||||||
equalPos = line.find('=')
|
equalPos = line.find('=')
|
||||||
if line.find('=') != -1:
|
if equalPos != -1:
|
||||||
attr = line[:equalPos]
|
attr = line[:equalPos]
|
||||||
else:
|
else:
|
||||||
attr = line
|
attr = line
|
||||||
@ -137,11 +137,10 @@ class RegexLdap(auths.Authenticator):
|
|||||||
return res
|
return res
|
||||||
|
|
||||||
def __processField(self, field, attributes):
|
def __processField(self, field, attributes):
|
||||||
import re
|
|
||||||
res = []
|
res = []
|
||||||
for line in field.splitlines():
|
for line in field.splitlines():
|
||||||
equalPos = line.find('=')
|
equalPos = line.find('=')
|
||||||
if line.find('=') != -1:
|
if equalPos != -1:
|
||||||
attr, pattern = (line[:equalPos], line[equalPos+1:])
|
attr, pattern = (line[:equalPos], line[equalPos+1:])
|
||||||
attr = attr.lower()
|
attr = attr.lower()
|
||||||
# if pattern do not have groups, define one with full re
|
# if pattern do not have groups, define one with full re
|
||||||
|
@ -86,9 +86,7 @@ class User(object):
|
|||||||
else:
|
else:
|
||||||
# From db
|
# From db
|
||||||
usr = DbUser.objects.get(pk=self._dbUser.id)
|
usr = DbUser.objects.get(pk=self._dbUser.id)
|
||||||
self._groups = []
|
self._groups = [Group(g) for g in usr.getGroups()]
|
||||||
for g in usr.getGroups():
|
|
||||||
self._groups.append(Group(g))
|
|
||||||
return self._groups
|
return self._groups
|
||||||
|
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ class PublicationFinishChecker(DelayedTask):
|
|||||||
if State.isPreparing(prevState):
|
if State.isPreparing(prevState):
|
||||||
dsp.deployed_service.publications.filter(state=State.USABLE).update(state=State.REMOVABLE)
|
dsp.deployed_service.publications.filter(state=State.USABLE).update(state=State.REMOVABLE)
|
||||||
dsp.setState(State.USABLE)
|
dsp.setState(State.USABLE)
|
||||||
dsp.deployed_service.markOldDeployedServicesAsRemovables(dsp)
|
dsp.deployed_service.markOldUserServicesAsRemovables(dsp)
|
||||||
elif State.isRemoving(prevState):
|
elif State.isRemoving(prevState):
|
||||||
dsp.setState(State.REMOVED)
|
dsp.setState(State.REMOVED)
|
||||||
else: # State is canceling
|
else: # State is canceling
|
||||||
|
@ -447,14 +447,17 @@ class UserServiceManager(object):
|
|||||||
UserServiceOpChecker.makeUnique(uService, ui, state)
|
UserServiceOpChecker.makeUnique(uService, ui, state)
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@transaction.commit_on_success
|
|
||||||
def checkForRemoval(self, uService):
|
def checkForRemoval(self, uService):
|
||||||
uService = UserService.objects.select_for_update().get(id=uService.id)
|
'''
|
||||||
|
This method is used by UserService when a request for setInUse(False) is made
|
||||||
|
This checks that the service can continue existing or not
|
||||||
|
'''
|
||||||
|
#uService = UserService.objects.select_for_update().get(id=uService.id)
|
||||||
if uService.publication == None:
|
if uService.publication == None:
|
||||||
return
|
return
|
||||||
if uService.publication.id != uService.deployed_service.activePublication().id:
|
if uService.publication.id != uService.deployed_service.activePublication().id:
|
||||||
logger.debug('Old revision of user service, marking as removable: {0}'.format(uService))
|
logger.debug('Old revision of user service, marking as removable: {0}'.format(uService))
|
||||||
uService.setState(State.REMOVABLE)
|
uService.remove()
|
||||||
|
|
||||||
|
|
||||||
def notifyReadyFromOsManager(self, uService, data):
|
def notifyReadyFromOsManager(self, uService, data):
|
||||||
|
@ -42,6 +42,8 @@ class UniqueNameGenerator(UniqueIDGenerator):
|
|||||||
super(UniqueNameGenerator, self).__init__('name', owner, )
|
super(UniqueNameGenerator, self).__init__('name', owner, )
|
||||||
|
|
||||||
def __toName(self, seq, length):
|
def __toName(self, seq, length):
|
||||||
|
if seq == -1:
|
||||||
|
raise KeyError('No more names available. Please, increase service digits.')
|
||||||
return "%s%0*d" % (self._baseName, length, seq)
|
return "%s%0*d" % (self._baseName, length, seq)
|
||||||
|
|
||||||
def get(self, baseName, length=5):
|
def get(self, baseName, length=5):
|
||||||
|
@ -52,7 +52,7 @@ class PublicationInfoItemsCleaner(Job):
|
|||||||
super(PublicationInfoItemsCleaner,self).__init__(environment)
|
super(PublicationInfoItemsCleaner,self).__init__(environment)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
removeFrom = getSqlDatetime() - timedelta(seconds = GlobalConfig.KEEP_INFO_TIME.getInt())
|
removeFrom = getSqlDatetime() - timedelta(seconds = GlobalConfig.KEEP_INFO_TIME.getInt(True))
|
||||||
DeployedServicePublication.objects.filter(state__in=State.INFO_STATES, state_date__lt=removeFrom).delete()
|
DeployedServicePublication.objects.filter(state__in=State.INFO_STATES, state_date__lt=removeFrom).delete()
|
||||||
|
|
||||||
class PublicationCleaner(Job):
|
class PublicationCleaner(Job):
|
||||||
@ -63,13 +63,18 @@ class PublicationCleaner(Job):
|
|||||||
super(PublicationCleaner,self).__init__(environment)
|
super(PublicationCleaner,self).__init__(environment)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
removables = DeployedServicePublication.objects.filter(state=State.REMOVABLE)[0:3]
|
removables = DeployedServicePublication.objects.filter(state=State.REMOVABLE)
|
||||||
for removable in removables:
|
for removable in removables:
|
||||||
try:
|
try:
|
||||||
PublicationManager.manager().unpublish(removable)
|
PublicationManager.manager().unpublish(removable)
|
||||||
except PublishException: # Can say that it cant be removed right now
|
except PublishException: # Can say that it cant be removed right now
|
||||||
logger.debug('Delaying removal')
|
logger.debug('Delaying removal')
|
||||||
pass
|
pass
|
||||||
|
# Now check too long "in use" services for all publications
|
||||||
|
now = getSqlDatetime()
|
||||||
|
removeFrom = now - timedelta(hours = GlobalConfig.SESSION_EXPIRE_TIME.getInt(True))
|
||||||
|
for dsp in removables.filter(state_date__lt=removeFrom):
|
||||||
|
activePub = dsp.deployed_service.activePublication()
|
||||||
|
dsp.deployed_service.userServices.filter(in_use=True).update(in_use=False, state_date=now)
|
||||||
|
dsp.deployed_service.markOldUserServicesAsRemovables(activePub)
|
||||||
|
|
238
server/src/uds/migrations/0015_auto__add_field_user_parent.py
Normal file
238
server/src/uds/migrations/0015_auto__add_field_user_parent.py
Normal file
@ -0,0 +1,238 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
import datetime
|
||||||
|
from south.db import db
|
||||||
|
from south.v2 import SchemaMigration
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(SchemaMigration):
|
||||||
|
|
||||||
|
def forwards(self, orm):
|
||||||
|
# Adding field 'User.parent'
|
||||||
|
db.add_column(u'uds_user', 'parent',
|
||||||
|
self.gf('django.db.models.fields.IntegerField')(default=-1),
|
||||||
|
keep_default=False)
|
||||||
|
|
||||||
|
|
||||||
|
def backwards(self, orm):
|
||||||
|
# Deleting field 'User.parent'
|
||||||
|
db.delete_column(u'uds_user', 'parent')
|
||||||
|
|
||||||
|
|
||||||
|
models = {
|
||||||
|
u'uds.authenticator': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'object_name': 'Authenticator'},
|
||||||
|
'comments': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||||
|
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'small_name': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '32', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.cache': {
|
||||||
|
'Meta': {'object_name': 'Cache', 'db_table': "u'uds_utility_cache'"},
|
||||||
|
'created': ('django.db.models.fields.DateTimeField', [], {}),
|
||||||
|
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
|
||||||
|
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||||
|
'validity': ('django.db.models.fields.IntegerField', [], {'default': '60'}),
|
||||||
|
'value': ('django.db.models.fields.TextField', [], {'default': "u''"})
|
||||||
|
},
|
||||||
|
u'uds.config': {
|
||||||
|
'Meta': {'unique_together': "((u'section', u'key'),)", 'object_name': 'Config', 'db_table': "u'uds_configuration'"},
|
||||||
|
'crypt': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
|
||||||
|
'long': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'section': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||||
|
'value': ('django.db.models.fields.TextField', [], {'default': "u''"})
|
||||||
|
},
|
||||||
|
u'uds.delayedtask': {
|
||||||
|
'Meta': {'object_name': 'DelayedTask'},
|
||||||
|
'execution_delay': ('django.db.models.fields.PositiveIntegerField', [], {}),
|
||||||
|
'execution_time': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'insert_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||||
|
'instance': ('django.db.models.fields.TextField', [], {}),
|
||||||
|
'tag': ('django.db.models.fields.CharField', [], {'max_length': '64', 'db_index': 'True'}),
|
||||||
|
'type': ('django.db.models.fields.CharField', [], {'max_length': '128'})
|
||||||
|
},
|
||||||
|
u'uds.deployedservice': {
|
||||||
|
'Meta': {'object_name': 'DeployedService', 'db_table': "u'uds__deployed_service'"},
|
||||||
|
'assignedGroups': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "u'deployedServices'", 'symmetrical': 'False', 'db_table': "u'uds__ds_grps'", 'to': u"orm['uds.Group']"}),
|
||||||
|
'cache_l1_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||||
|
'cache_l2_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '256'}),
|
||||||
|
'current_pub_revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'initial_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||||
|
'max_srvs': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '128'}),
|
||||||
|
'osmanager': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'deployedServices'", 'null': 'True', 'to': u"orm['uds.OSManager']"}),
|
||||||
|
'service': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'deployedServices'", 'null': 'True', 'to': u"orm['uds.Service']"}),
|
||||||
|
'state': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1', 'db_index': 'True'}),
|
||||||
|
'state_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||||
|
'transports': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "u'deployedServices'", 'symmetrical': 'False', 'db_table': "u'uds__ds_trans'", 'to': u"orm['uds.Transport']"})
|
||||||
|
},
|
||||||
|
u'uds.deployedservicepublication': {
|
||||||
|
'Meta': {'ordering': "(u'publish_date',)", 'object_name': 'DeployedServicePublication', 'db_table': "u'uds__deployed_service_pub'"},
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'deployed_service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'publications'", 'to': u"orm['uds.DeployedService']"}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'publish_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||||
|
'revision': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
|
||||||
|
'state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1', 'db_index': 'True'}),
|
||||||
|
'state_date': ('django.db.models.fields.DateTimeField', [], {})
|
||||||
|
},
|
||||||
|
u'uds.group': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'unique_together': "((u'manager', u'name'),)", 'object_name': 'Group'},
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '256'}),
|
||||||
|
'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['uds.Group']", 'symmetrical': 'False'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'is_meta': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
|
||||||
|
'manager': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'groups'", 'to': u"orm['uds.Authenticator']"}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||||
|
'state': ('django.db.models.fields.CharField', [], {'default': "'A'", 'max_length': '1', 'db_index': 'True'}),
|
||||||
|
'users': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "u'groups'", 'symmetrical': 'False', 'to': u"orm['uds.User']"})
|
||||||
|
},
|
||||||
|
u'uds.log': {
|
||||||
|
'Meta': {'object_name': 'Log'},
|
||||||
|
'created': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||||
|
'data': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '255'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'owner_id': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'owner_type': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'source': ('django.db.models.fields.CharField', [], {'default': "u'internal'", 'max_length': '16', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.network': {
|
||||||
|
'Meta': {'object_name': 'Network'},
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
|
||||||
|
'net_end': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||||
|
'net_start': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||||
|
'net_string': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '128'}),
|
||||||
|
'transports': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "u'networks'", 'symmetrical': 'False', 'db_table': "u'uds_net_trans'", 'to': u"orm['uds.Transport']"})
|
||||||
|
},
|
||||||
|
u'uds.osmanager': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'object_name': 'OSManager'},
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
|
||||||
|
},
|
||||||
|
u'uds.provider': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'object_name': 'Provider'},
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
|
||||||
|
},
|
||||||
|
u'uds.scheduler': {
|
||||||
|
'Meta': {'object_name': 'Scheduler'},
|
||||||
|
'frecuency': ('django.db.models.fields.PositiveIntegerField', [], {'default': '86400'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'last_execution': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '64'}),
|
||||||
|
'next_execution': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)', 'db_index': 'True'}),
|
||||||
|
'owner_server': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '64', 'db_index': 'True'}),
|
||||||
|
'state': ('django.db.models.fields.CharField', [], {'default': "'X'", 'max_length': '1', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.service': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'unique_together': "((u'provider', u'name'),)", 'object_name': 'Service'},
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
'provider': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'services'", 'to': u"orm['uds.Provider']"})
|
||||||
|
},
|
||||||
|
u'uds.statscounters': {
|
||||||
|
'Meta': {'object_name': 'StatsCounters', 'db_table': "u'uds_stats_c'"},
|
||||||
|
'counter_type': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'owner_id': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'owner_type': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'stamp': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'value': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.statsevents': {
|
||||||
|
'Meta': {'object_name': 'StatsEvents', 'db_table': "u'uds_stats_e'"},
|
||||||
|
'event_type': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'owner_id': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'owner_type': ('django.db.models.fields.SmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'stamp': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.storage': {
|
||||||
|
'Meta': {'object_name': 'Storage'},
|
||||||
|
'attr1': ('django.db.models.fields.CharField', [], {'default': 'None', 'max_length': '64', 'null': 'True', 'db_index': 'True', 'blank': 'True'}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'key': ('django.db.models.fields.CharField', [], {'max_length': '64', 'primary_key': 'True'}),
|
||||||
|
'owner': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.transport': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'object_name': 'Transport'},
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'data_type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'}),
|
||||||
|
'nets_positive': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'priority': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.uniqueid': {
|
||||||
|
'Meta': {'ordering': "(u'-seq',)", 'unique_together': "((u'basename', u'seq'),)", 'object_name': 'UniqueId'},
|
||||||
|
'assigned': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'db_index': 'True'}),
|
||||||
|
'basename': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'owner': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '128', 'db_index': 'True'}),
|
||||||
|
'seq': ('django.db.models.fields.BigIntegerField', [], {'db_index': 'True'}),
|
||||||
|
'stamp': ('django.db.models.fields.IntegerField', [], {'default': '0', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.user': {
|
||||||
|
'Meta': {'ordering': "(u'name',)", 'unique_together': "((u'manager', u'name'),)", 'object_name': 'User'},
|
||||||
|
'comments': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'is_admin': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'last_access': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||||
|
'manager': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'users'", 'to': u"orm['uds.Authenticator']"}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||||
|
'parent': ('django.db.models.fields.IntegerField', [], {'default': '-1'}),
|
||||||
|
'password': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '128'}),
|
||||||
|
'real_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
|
||||||
|
'staff_member': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'state': ('django.db.models.fields.CharField', [], {'max_length': '1', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.userpreference': {
|
||||||
|
'Meta': {'object_name': 'UserPreference'},
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'module': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||||
|
'name': ('django.db.models.fields.CharField', [], {'max_length': '32', 'db_index': 'True'}),
|
||||||
|
'user': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'preferences'", 'to': u"orm['uds.User']"}),
|
||||||
|
'value': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||||
|
},
|
||||||
|
u'uds.userservice': {
|
||||||
|
'Meta': {'ordering': "(u'creation_date',)", 'object_name': 'UserService', 'db_table': "u'uds__user_service'"},
|
||||||
|
'cache_level': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
|
||||||
|
'creation_date': ('django.db.models.fields.DateTimeField', [], {'db_index': 'True'}),
|
||||||
|
'data': ('django.db.models.fields.TextField', [], {'default': "u''"}),
|
||||||
|
'deployed_service': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "u'userServices'", 'to': u"orm['uds.DeployedService']"}),
|
||||||
|
'friendly_name': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '128'}),
|
||||||
|
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||||
|
'in_use': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||||
|
'in_use_date': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime(1972, 7, 1, 0, 0)'}),
|
||||||
|
'os_state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1'}),
|
||||||
|
'publication': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "u'userServices'", 'null': 'True', 'to': u"orm['uds.DeployedServicePublication']"}),
|
||||||
|
'src_hostname': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '64'}),
|
||||||
|
'src_ip': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '15'}),
|
||||||
|
'state': ('django.db.models.fields.CharField', [], {'default': "'P'", 'max_length': '1', 'db_index': 'True'}),
|
||||||
|
'state_date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
|
||||||
|
'unique_id': ('django.db.models.fields.CharField', [], {'default': "u''", 'max_length': '128', 'db_index': 'True'}),
|
||||||
|
'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "u'userServices'", 'null': 'True', 'blank': 'True', 'to': u"orm['uds.User']"})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
complete_apps = ['uds']
|
@ -671,6 +671,7 @@ class User(models.Model):
|
|||||||
staff_member = models.BooleanField(default = False) # Staff members can login to admin
|
staff_member = models.BooleanField(default = False) # Staff members can login to admin
|
||||||
is_admin = models.BooleanField(default = False) # is true, this is a super-admin
|
is_admin = models.BooleanField(default = False) # is true, this is a super-admin
|
||||||
last_access = models.DateTimeField(default=NEVER)
|
last_access = models.DateTimeField(default=NEVER)
|
||||||
|
parent = models.IntegerField(default=-1)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
'''
|
'''
|
||||||
@ -741,12 +742,20 @@ class User(models.Model):
|
|||||||
'''
|
'''
|
||||||
returns the groups (and metagroups) this user belongs to
|
returns the groups (and metagroups) this user belongs to
|
||||||
'''
|
'''
|
||||||
|
if self.parent != -1:
|
||||||
|
try:
|
||||||
|
usr = User.objects.get(id=self.parent)
|
||||||
|
except: # If parent do not exists
|
||||||
|
usr = self
|
||||||
|
else:
|
||||||
|
usr = self
|
||||||
|
|
||||||
grps = list()
|
grps = list()
|
||||||
for g in self.groups.filter(is_meta=False):
|
for g in usr.groups.filter(is_meta=False):
|
||||||
grps += (g.id,)
|
grps += (g.id,)
|
||||||
yield g
|
yield g
|
||||||
# Locate metagroups
|
# Locate metagroups
|
||||||
for g in Group.objects.filter(manager__id=self.manager.id, is_meta=True):
|
for g in Group.objects.filter(manager__id=usr.manager.id, is_meta=True):
|
||||||
gn = g.groups.filter(id__in=grps).count()
|
gn = g.groups.filter(id__in=grps).count()
|
||||||
if gn == g.groups.count(): # If a meta group is empty, all users belongs to it. we can use gn != 0 to check that if it is empty, is not valid
|
if gn == g.groups.count(): # If a meta group is empty, all users belongs to it. we can use gn != 0 to check that if it is empty, is not valid
|
||||||
# This group matches
|
# This group matches
|
||||||
@ -772,6 +781,9 @@ class User(models.Model):
|
|||||||
# be removed
|
# be removed
|
||||||
toDelete.getManager().removeUser(toDelete.name)
|
toDelete.getManager().removeUser(toDelete.name)
|
||||||
|
|
||||||
|
# now removes all "child" of this user, if it has children
|
||||||
|
User.objects.filter(parent=toDelete.id).delete()
|
||||||
|
|
||||||
# Remove related logs
|
# Remove related logs
|
||||||
log.clearLogs(toDelete)
|
log.clearLogs(toDelete)
|
||||||
|
|
||||||
@ -994,7 +1006,7 @@ class DeployedService(models.Model):
|
|||||||
self.setState(State.REMOVED)
|
self.setState(State.REMOVED)
|
||||||
|
|
||||||
|
|
||||||
def markOldDeployedServicesAsRemovables(self, activePub):
|
def markOldUserServicesAsRemovables(self, activePub):
|
||||||
'''
|
'''
|
||||||
Used when a new publication is finished.
|
Used when a new publication is finished.
|
||||||
|
|
||||||
@ -1061,7 +1073,7 @@ class DeployedService(models.Model):
|
|||||||
# Now get deployed services that DO NOT NEED publication
|
# Now get deployed services that DO NOT NEED publication
|
||||||
doNotNeedPublishing = [ t.type() for t in services.factory().servicesThatDoNotNeedPublication() ]
|
doNotNeedPublishing = [ t.type() for t in services.factory().servicesThatDoNotNeedPublication() ]
|
||||||
list2 = DeployedService.objects.filter(assignedGroups__in=groups, assignedGroups__state__exact=State.ACTIVE, service__data_type__in=doNotNeedPublishing, state = State.ACTIVE)
|
list2 = DeployedService.objects.filter(assignedGroups__in=groups, assignedGroups__state__exact=State.ACTIVE, service__data_type__in=doNotNeedPublishing, state = State.ACTIVE)
|
||||||
return [ r for r in list1 ] + [ r for r in list2 ]
|
return list(set([ r for r in list1 ] + [ r for r in list2 ]))
|
||||||
|
|
||||||
|
|
||||||
def publish(self):
|
def publish(self):
|
||||||
@ -1267,6 +1279,9 @@ class DeployedServicePublication(models.Model):
|
|||||||
|
|
||||||
logger.debug('Deleted publication {0}'.format(toDelete))
|
logger.debug('Deleted publication {0}'.format(toDelete))
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return 'Publication {0}, rev {1}, state {2}'.format(self.deployed_service.name, self.revision, State.toString(self.state))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Connects a pre deletion signal to Authenticator
|
# Connects a pre deletion signal to Authenticator
|
||||||
|
@ -137,8 +137,10 @@ class LinuxOsManager(osmanagers.OSManager):
|
|||||||
notifyReady = True
|
notifyReady = True
|
||||||
self.notifyIp(service.unique_id, si, data)
|
self.notifyIp(service.unique_id, si, data)
|
||||||
service.updateData(si)
|
service.updateData(si)
|
||||||
|
|
||||||
service.setInUse(inUse)
|
service.setInUse(inUse)
|
||||||
service.setOsState(state)
|
service.setOsState(state)
|
||||||
|
|
||||||
# If notifyReady is not true, save state, let UserServiceManager do it for us else
|
# If notifyReady is not true, save state, let UserServiceManager do it for us else
|
||||||
if doRemove is True:
|
if doRemove is True:
|
||||||
service.remove()
|
service.remove()
|
||||||
|
@ -153,8 +153,10 @@ class WindowsOsManager(osmanagers.OSManager):
|
|||||||
notifyReady = True
|
notifyReady = True
|
||||||
self.notifyIp(service.unique_id, si, data)
|
self.notifyIp(service.unique_id, si, data)
|
||||||
service.updateData(si)
|
service.updateData(si)
|
||||||
|
|
||||||
service.setInUse(inUse)
|
service.setInUse(inUse)
|
||||||
service.setOsState(state)
|
service.setOsState(state)
|
||||||
|
|
||||||
# If notifyReady is not true, save state, let UserServiceManager do it for us else
|
# If notifyReady is not true, save state, let UserServiceManager do it for us else
|
||||||
if doRemove is True:
|
if doRemove is True:
|
||||||
service.remove()
|
service.remove()
|
||||||
|
@ -42,6 +42,8 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
opCreate, opStart, opStop, opSuspend, opRemove, opWait, opError, opFinish, opRetry, opChangeMac = range(10)
|
opCreate, opStart, opStop, opSuspend, opRemove, opWait, opError, opFinish, opRetry, opChangeMac = range(10)
|
||||||
|
|
||||||
|
NO_MORE_NAMES = 'NO-NAME-ERROR'
|
||||||
|
|
||||||
class OVirtLinkedDeployment(UserDeployment):
|
class OVirtLinkedDeployment(UserDeployment):
|
||||||
'''
|
'''
|
||||||
This class generates the user consumable elements of the service tree.
|
This class generates the user consumable elements of the service tree.
|
||||||
@ -103,7 +105,10 @@ class OVirtLinkedDeployment(UserDeployment):
|
|||||||
generate more names. (Generator are simple utility classes)
|
generate more names. (Generator are simple utility classes)
|
||||||
'''
|
'''
|
||||||
if self._name == '':
|
if self._name == '':
|
||||||
|
try:
|
||||||
self._name = self.nameGenerator().get( self.service().getBaseName(), self.service().getLenName() )
|
self._name = self.nameGenerator().get( self.service().getBaseName(), self.service().getLenName() )
|
||||||
|
except KeyError:
|
||||||
|
return NO_MORE_NAMES
|
||||||
return self._name
|
return self._name
|
||||||
|
|
||||||
|
|
||||||
@ -323,7 +328,11 @@ class OVirtLinkedDeployment(UserDeployment):
|
|||||||
Deploys a machine from template for user/cache
|
Deploys a machine from template for user/cache
|
||||||
'''
|
'''
|
||||||
templateId = self.publication().getTemplateId()
|
templateId = self.publication().getTemplateId()
|
||||||
name = self.service().sanitizeVmName(self.getName()) # oVirt don't let us to create machines with more than 15 chars!!!
|
name = self.getName()
|
||||||
|
if name == NO_MORE_NAMES:
|
||||||
|
raise Exception('No more names available for this service. (Increase digits for this service to fix)')
|
||||||
|
|
||||||
|
name = self.service().sanitizeVmName(name) # oVirt don't let us to create machines with more than 15 chars!!!
|
||||||
comments = 'UDS Linked clone'
|
comments = 'UDS Linked clone'
|
||||||
|
|
||||||
self._vmid = self.service().deployFromTemplate(name, comments, templateId)
|
self._vmid = self.service().deployFromTemplate(name, comments, templateId)
|
||||||
|
Binary file not shown.
@ -138,7 +138,7 @@ def modifyUser(credentials, usr):
|
|||||||
user.state = usr['state']
|
user.state = usr['state']
|
||||||
user.save()
|
user.save()
|
||||||
# Now add/removes groups acordly
|
# Now add/removes groups acordly
|
||||||
if auth.isExternalSource == False:
|
if auth.isExternalSource == False and user.parent == -1:
|
||||||
newGrps = {}
|
newGrps = {}
|
||||||
knownGrps = user.groups.all()
|
knownGrps = user.groups.all()
|
||||||
# Add new groups, and keep a dict of all groups selected
|
# Add new groups, and keep a dict of all groups selected
|
||||||
|
@ -153,6 +153,28 @@ def getUserDeployedServiceError(credentials, idService):
|
|||||||
raise FindException(_('User deployed service not found!!!'))
|
raise FindException(_('User deployed service not found!!!'))
|
||||||
return error
|
return error
|
||||||
|
|
||||||
|
@needs_credentials
|
||||||
|
def develAction(credentials, action, ids ):
|
||||||
|
logger.debug('Devel action invoked: {0} for {1}'.format(action, ids))
|
||||||
|
try:
|
||||||
|
for uds in UserService.objects.filter(id__in=ids):
|
||||||
|
if action == "inUse":
|
||||||
|
logger.debug('Setting {0} to in use'.format(uds.friendly_name))
|
||||||
|
uds.setInUse(True)
|
||||||
|
elif action == "releaseInUse":
|
||||||
|
logger.debug('Releasing in use from {0}'.format(uds.friendly_name))
|
||||||
|
uds.setState(State.USABLE)
|
||||||
|
uds.setInUse(False)
|
||||||
|
else:
|
||||||
|
logger.debug('Setting {0} to usable'.format(uds.friendly_name))
|
||||||
|
uds.setState(State.USABLE)
|
||||||
|
if uds.needsOsManager():
|
||||||
|
uds.setOsState(State.USABLE)
|
||||||
|
uds.save()
|
||||||
|
except UserService.DoesNotExist:
|
||||||
|
raise FindException(_('User deployed service not found!!!'))
|
||||||
|
return True
|
||||||
|
|
||||||
# Registers XML RPC Methods
|
# Registers XML RPC Methods
|
||||||
def registerUserDeployedServiceFunctions(dispatcher):
|
def registerUserDeployedServiceFunctions(dispatcher):
|
||||||
dispatcher.register_function(getCachedDeployedServices, 'getCachedDeployedServices')
|
dispatcher.register_function(getCachedDeployedServices, 'getCachedDeployedServices')
|
||||||
@ -161,3 +183,4 @@ def registerUserDeployedServiceFunctions(dispatcher):
|
|||||||
dispatcher.register_function(assignDeployedService, 'assignDeployedService')
|
dispatcher.register_function(assignDeployedService, 'assignDeployedService')
|
||||||
dispatcher.register_function(removeUserService, 'removeUserService')
|
dispatcher.register_function(removeUserService, 'removeUserService')
|
||||||
dispatcher.register_function(getUserDeployedServiceError, 'getUserDeployedServiceError')
|
dispatcher.register_function(getUserDeployedServiceError, 'getUserDeployedServiceError')
|
||||||
|
dispatcher.register_function(develAction, "develAction")
|
||||||
|
Loading…
Reference in New Issue
Block a user