Browse Source

modify all read Permission

JET-GZX 20 hours ago
parent
commit
e44f461d46

+ 2 - 2
VirgoUI/MainView.xaml

@@ -140,7 +140,7 @@
                             <DropShadowEffect/>
                         </TextBlock.Effect>
                     </TextBlock>
-                    <Grid Grid.Column="1" Margin="10,8,0,8" IsEnabled="{Binding PageEnabled}">
+                    <Grid Grid.Column="1" Margin="10,8,0,8">
                         <Grid.RowDefinitions>
                             <RowDefinition/>
                             <RowDefinition/>
@@ -371,7 +371,7 @@
                                 <Border BorderBrush="{DynamicResource TopFrame_TableBD_Shadow}" BorderThickness="0,0,1,1" CornerRadius="0,0,5,0" Padding="5,2"/>
                             </Border>
                         </Grid>
-                        <StackPanel Grid.Column="7" Grid.RowSpan="3" VerticalAlignment="Bottom" Margin="0,0,0,6">
+                        <StackPanel Grid.Column="7" Grid.RowSpan="3" VerticalAlignment="Bottom" Margin="0,0,0,6"  IsEnabled="{Binding PageEnabled}">
                             <Grid Margin="5,0,0,0">
                                 <Grid.ColumnDefinitions>
                                     <ColumnDefinition />

+ 1 - 1
VirgoUI/MainViewModel.cs

@@ -995,7 +995,7 @@ namespace VirgoUI.Client
                 return level == 3;         
             }
         }
-
+        
         protected override bool OnTimer()
         {
             try

+ 1 - 1
VirgoUI/Models/PMs/PmIoView.xaml

@@ -74,7 +74,7 @@
                                 <GridViewColumn.CellTemplate>
                                     <DataTemplate>
                                         <Grid Width="35">
-                                            <ctrl:SwitchButton ON="{Binding Value}" Style="{StaticResource OperationButton}" HorizontalAlignment="Center" IsEnabled="{Binding PageEnabled}">
+                                            <ctrl:SwitchButton ON="{Binding Value}" Style="{StaticResource OperationButton}" HorizontalAlignment="Center" IsEnabled="{Binding RelativeSource={RelativeSource FindAncestor,AncestorType={x:Type UserControl}},Path= DataContext.PageEnabled}">
                                                 <i:Interaction.Triggers>
                                                     <i:EventTrigger EventName="Click">
                                                         <cal:ActionMessage MethodName="SetDO">

+ 93 - 5
VirgoUI/Models/Utility/Account/AccountView.xaml

@@ -4,7 +4,7 @@
              xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
              xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
              xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity"
-             xmlns:ControlLib="http://OpenSEMI.Ctrlib.com/presentation"      IsEnabled="{Binding PageEnabled}"
+             xmlns:ControlLib="http://OpenSEMI.Ctrlib.com/presentation"     
              xmlns:cal="http://www.caliburn.org" >
     <UserControl.Resources>
         <Style x:Key="ViewEnabledBtn" TargetType="{x:Type Button}" BasedOn="{StaticResource ResourceKey={x:Type Button}}">
@@ -32,7 +32,7 @@
             </Style.Triggers>
         </Style>
     </UserControl.Resources>
-    
+
     <Grid x:Name="MainTable" MinHeight="450" HorizontalAlignment="Left" MinWidth="1200">
         <Grid x:Name="MainField">
             <Grid.ColumnDefinitions>
@@ -53,9 +53,13 @@
                     <Style TargetType="{x:Type ListView}" BasedOn="{StaticResource ResourceKey={x:Type ListView}}">
                         <Setter Property="ListView.IsEnabled" Value="False"/>
                         <Style.Triggers>
-                            <DataTrigger Binding="{Binding ControlMode}" Value="VIEW">
+                            <MultiDataTrigger>
+                                <MultiDataTrigger.Conditions>
+                                    <Condition Binding="{Binding Permission}" Value="3" />
+                                    <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                </MultiDataTrigger.Conditions>
                                 <Setter Property="ListView.IsEnabled" Value="True"/>
-                            </DataTrigger>
+                            </MultiDataTrigger>
                         </Style.Triggers>
                     </Style>
                 </ListView.Style>
@@ -113,6 +117,20 @@
                         </Border>
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Column="1" Padding="5,1">
                             <PasswordBox Name="pwNewPassword" HorizontalAlignment="Left" MaxLength="50" Width="200">
+                                <PasswordBox.Style>
+                                    <Style TargetType="{x:Type PasswordBox}" BasedOn="{StaticResource {x:Type PasswordBox}}">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                        <Style.Triggers>
+                                            <MultiDataTrigger>
+                                                <MultiDataTrigger.Conditions>
+                                                    <Condition Binding="{Binding Permission}" Value="3"/>
+                                                    <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                                </MultiDataTrigger.Conditions>
+                                                <Setter Property="IsEnabled" Value="True"/>
+                                            </MultiDataTrigger>
+                                        </Style.Triggers>
+                                    </Style>
+                                </PasswordBox.Style>
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="PasswordChanged">
                                         <cal:ActionMessage MethodName="OnAccountChanged">
@@ -132,6 +150,20 @@
                         </Border>
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Column="1" Padding="5,1">
                             <PasswordBox Name="pwConfirmPassword" HorizontalAlignment="Left" MaxLength="50" Width="200">
+                                <PasswordBox.Style>
+                                    <Style TargetType="{x:Type PasswordBox}" BasedOn="{StaticResource {x:Type PasswordBox}}">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                        <Style.Triggers>
+                                            <MultiDataTrigger>
+                                                <MultiDataTrigger.Conditions>
+                                                    <Condition Binding="{Binding Permission}" Value="3"/>
+                                                    <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                                </MultiDataTrigger.Conditions>
+                                                <Setter Property="IsEnabled" Value="True"/>
+                                            </MultiDataTrigger>
+                                        </Style.Triggers>
+                                    </Style>
+                                </PasswordBox.Style>
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="PasswordChanged">
                                         <cal:ActionMessage MethodName="OnAccountChanged">
@@ -152,6 +184,20 @@
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Column="1" Padding="5,1">
                             <ControlLib:TextBoxEx Text="{Binding TreeSelectedAccount.DisplayFirstName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{StaticResource ValidationTemplate}" HorizontalContentAlignment="Left" TextSaved="{Binding Mode=TwoWay, Path=TreeSelectedAccount.FirstNameTextSaved }"  Name="TbFirstName"  
                         HorizontalAlignment="Left" VerticalAlignment="Top" MaxLength="50" Width="200">
+                                <ControlLib:TextBoxEx.Style>
+                                    <Style TargetType="{x:Type ControlLib:TextBoxEx}" BasedOn="{StaticResource {x:Type ControlLib:TextBoxEx}}">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                        <Style.Triggers>
+                                            <MultiDataTrigger>
+                                                <MultiDataTrigger.Conditions>
+                                                    <Condition Binding="{Binding Permission}" Value="3"/>
+                                                    <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                                </MultiDataTrigger.Conditions>
+                                                <Setter Property="IsEnabled" Value="True"/>
+                                            </MultiDataTrigger>
+                                        </Style.Triggers>
+                                    </Style>
+                                </ControlLib:TextBoxEx.Style>
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="TextChanged">
                                         <cal:ActionMessage MethodName="OnAccountChanged">
@@ -172,6 +218,20 @@
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Column="1" Padding="5,1">
                             <ControlLib:TextBoxEx Text="{Binding TreeSelectedAccount.DisplayLastName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{StaticResource ValidationTemplate}" HorizontalContentAlignment="Left"   TextSaved="{Binding Mode=TwoWay, Path=TreeSelectedAccount.LastNameTextSaved }"  Name="TbLastName"  
                         HorizontalAlignment="Left" VerticalAlignment="Top" MaxLength="50" Width="200">
+                                <ControlLib:TextBoxEx.Style>
+                                    <Style TargetType="{x:Type ControlLib:TextBoxEx}" BasedOn="{StaticResource {x:Type ControlLib:TextBoxEx}}">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                        <Style.Triggers>
+                                            <MultiDataTrigger>
+                                                <MultiDataTrigger.Conditions>
+                                                    <Condition Binding="{Binding Permission}" Value="3"/>
+                                                    <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                                </MultiDataTrigger.Conditions>
+                                                <Setter Property="IsEnabled" Value="True"/>
+                                            </MultiDataTrigger>
+                                        </Style.Triggers>
+                                    </Style>
+                                </ControlLib:TextBoxEx.Style>
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="TextChanged">
                                         <cal:ActionMessage MethodName="OnAccountChanged">
@@ -192,6 +252,20 @@
                         <Border BorderBrush="{DynamicResource Table_BD}" BorderThickness="0,0,1,1" Background="{DynamicResource Table_BG_Content}" Grid.Column="1" Padding="5,1">
                             <ControlLib:TextBoxEx Text="{Binding TreeSelectedAccount.DisplayEmail,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged,ValidatesOnDataErrors=True}" Validation.ErrorTemplate="{StaticResource ValidationTemplate}" HorizontalContentAlignment="Left"   TextSaved="{Binding Mode=TwoWay, Path=TreeSelectedAccount.EmailTextSaved }"  Name="TbEmail"  
                         HorizontalAlignment="Left" VerticalAlignment="Top" MaxLength="50" Width="200">
+                                <ControlLib:TextBoxEx.Style>
+                                    <Style TargetType="{x:Type ControlLib:TextBoxEx}" BasedOn="{StaticResource {x:Type ControlLib:TextBoxEx}}">
+                                        <Setter Property="IsEnabled" Value="False"/>
+                                        <Style.Triggers>
+                                            <MultiDataTrigger>
+                                                <MultiDataTrigger.Conditions>
+                                                    <Condition Binding="{Binding Permission}" Value="3"/>
+                                                    <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                                </MultiDataTrigger.Conditions>
+                                                <Setter Property="IsEnabled" Value="True"/>
+                                            </MultiDataTrigger>
+                                        </Style.Triggers>
+                                    </Style>
+                                </ControlLib:TextBoxEx.Style>
                                 <i:Interaction.Triggers>
                                     <i:EventTrigger EventName="TextChanged">
                                         <cal:ActionMessage MethodName="OnAccountChanged">
@@ -205,13 +279,27 @@
                 <TabControl Grid.Row="2" Margin="0,10,0,0">
                     <TabItem Header="Role Status">
                         <ListView Name="RolesStatusList" AlternationCount="2" ItemsSource="{Binding Path=TreeSelectedAccount.RoleColleciton}" VerticalAlignment="Top">
+                            <ListView.Style>
+                                <Style TargetType="{x:Type ListView}" BasedOn="{StaticResource {x:Type ListView}}">
+                                    <Setter Property="IsEnabled" Value="False"/>
+                                    <Style.Triggers>
+                                        <MultiDataTrigger>
+                                            <MultiDataTrigger.Conditions>
+                                                <Condition Binding="{Binding Permission}" Value="3"/>
+                                                <Condition Binding="{Binding ControlMode}" Value="VIEW"/>
+                                            </MultiDataTrigger.Conditions>
+                                            <Setter Property="IsEnabled" Value="True"/>
+                                        </MultiDataTrigger>
+                                    </Style.Triggers>
+                                </Style>
+                            </ListView.Style>
                             <ListView.View>
                                 <GridView>
                                     <GridViewColumn Width="150" Header="Role" DisplayMemberBinding="{Binding RoleName}" />
                                     <GridViewColumn Width="100" Header="Status">
                                         <GridViewColumn.CellTemplate>
                                             <DataTemplate >
-                                                <CheckBox IsChecked="{Binding DisplayRoleStatus}"  >
+                                                <CheckBox IsChecked="{Binding DisplayRoleStatus}">
                                                     <i:Interaction.Triggers>
                                                         <i:EventTrigger EventName="Click">
                                                             <cal:ActionMessage MethodName="OnAccountChanged">

+ 5 - 0
VirgoUI/Models/Utility/Account/AccountView.xaml.cs

@@ -24,5 +24,10 @@ namespace VirgoUI.Client.Models.Utility.AccountPage
         {
             InitializeComponent();
         }
+
+        private void TabControl_SelectionChanged(object sender, SelectionChangedEventArgs e)
+        {
+
+        }
     }
 }

+ 1 - 1
VirgoUI/Models/Utility/Account/AccountViewModel.cs

@@ -35,7 +35,7 @@ namespace VirgoUI.Client.Models.Utility.AccountPage
         {
             get { return _AccountsList; }
         }
-
+        
         public AccountManager AccountManager
         {
             get { return AccountManager.Instance; }