Subversion Repository Public Repository

litesoft

Diff Revisions 948 vs 950 for /trunk/Java/DATT/src/org/litesoft/datt/client/ui/views/admin/Users.java

Diff revisions: vs.
  @@ -1,175 +1,175 @@
1 - package org.litesoft.datt.client.ui.views.admin;
2 -
3 - import org.litesoft.GWT.client.*;
4 - import org.litesoft.GWT.client.view.*;
5 - import org.litesoft.GWT.client.widgets.*;
6 - import org.litesoft.GWT.client.widgets.datatables.*;
7 - import org.litesoft.GWT.forms.client.*;
8 - import org.litesoft.bo.views.*;
9 - import org.litesoft.core.*;
10 - import org.litesoft.datt.client.accessors.*;
11 - import org.litesoft.datt.client.boviews.*;
12 - import org.litesoft.datt.client.ui.widgets.*;
13 - import org.litesoft.uispecification.*;
14 -
15 - import com.google.gwt.user.client.ui.*;
16 -
17 - import static org.litesoft.uispecification.FormWidgetAspectCtrl.*;
18 - import static org.litesoft.uispecification.FormWidgetCtrl.*;
19 -
20 - public class Users extends ClickableViewObjectQBEscreenView<UserView> implements UserViewNames,
21 - NewUserEmailDialog.CallBack<UserView>,
22 - ViewUpdatable<UserView> {
23 - private ObjectURL mEditing = null;
24 -
25 - @Override
26 - protected UriFragmentIdParams createRefreshParams() {
27 - return UsersFactory.encodeParams( mEditing );
28 - }
29 -
30 - public Users( String pSection, ViewDef pViewDef, ObjectURL pEditing ) {
31 - super( title( pSection, pViewDef ), UserViewDataProvider.getInstance() );
32 -
33 - mEditing = pEditing;
34 -
35 - addStandardTitleBar();
36 -
37 - SizeableQBEboxedPanel zQBEboxedPanel = getQBEboxedPanel();
38 -
39 - FilteringTableModel<UserView> zFilter = new FilteringTableModel<UserView>( mDataProvider, true, this, this, true ); // Second 'this' allows "New"
40 - zQBEboxedPanel.setWidget( zFilter.addReloadable( new SingleSelectRegularTable<UserView>( zFilter, new TableDef(), this ) ) );
41 -
42 - UserView zUser = ClientContext.get().get( CurrentUserViewAccessor.class ).getUser();
43 -
44 - WidgetCtrlMap zWidgetCtrlMap = new WidgetCtrlMap( VISIBLE_AND_ACTIVE_ENABLED );
45 -
46 - zWidgetCtrlMap.add( SEARCH_FILTER, aFirstName, aMiddleInitial, aLastName, aPhoneNumber );
47 - zWidgetCtrlMap.add( Visible( Yes ).enable( Search ).searchFilter().unique(), aLogonEmail );
48 - zWidgetCtrlMap.add( EDIT_ONLY, aStatus, aCanAdministrate );
49 - zWidgetCtrlMap.add( userEditable( zUser.canChange_HelpDeskMember() ), aHelpDeskMember );
50 - zWidgetCtrlMap.add( userEditable( zUser.canChange_RestrictedResourceManage() ), aRestrictedResourceManage );
51 - zWidgetCtrlMap.add( userEditable( zUser.canChange_SuperAdmin() ), aSuperAdmin );
52 - zWidgetCtrlMap.add( userEditable( zUser.canResetPassword() ), aResetPassword );
53 - zWidgetCtrlMap.add( userEditable( zUser.canSetCustomer() ), aCustomer );
54 -
55 - mFE = new QBE_FormEngine( zWidgetCtrlMap, null, zQBEboxedPanel, zFilter, zFilter );
56 - mFormBinder = new FormBinder<UserView>( mFE, UserViewMetaData.getInstance() );
57 -
58 - add( mFE.createSectionTitle( "User" ) );
59 -
60 - UserFieldsPanel zUserFieldsPanel =
61 - new UserFieldsPanel( ClientContext.get().get( CurrentRestrictedResourceViewAccessor.class ).getRestrictedResource(), true );
62 -
63 - add( zUserFieldsPanel.initialize( mFE, mFormBinder ) );
64 - add( new SizeableSpacer().stretchable() );
65 -
66 - mFE.setPointerWidget( zUserFieldsPanel.getPointerField() );
67 - }
68 -
69 - @Override
70 - public void aboutToShow() {
71 - super.aboutToShow();
72 - ObjectURL zEditing = mEditing;
73 - modeSearch();
74 - if ( zEditing != null ) {
75 - mDataProvider.requestRow( zEditing, new FetchRowDataProviderCallBack<UserView>() {
76 - @Override
77 - public void success( UserView pRow ) {
78 - if ( pRow != null ) {
79 - modeEdit( pRow );
80 - }
81 - }
82 -
83 - @Override
84 - public void error( String pError ) {
85 - getStatusMessageSinc().setErrorMessage( pError );
86 - }
87 - } );
88 - }
89 - }
90 -
91 - @Override
92 - protected void justLoaded() {
93 - super.justLoaded();
94 - mFE.setFocus();
95 - }
96 -
97 - @Override
98 - protected void processVO( UserView pRowValue ) {
99 - if ( pRowValue != null ) {
100 - modeEdit( pRowValue );
101 - } else {
102 - modeNew();
103 - }
104 - }
105 -
106 - @Override
107 - public Widget getBottomBar() {
108 - LeftCenterRightHorizontalPanel zActionPanel = new LeftCenterRightHorizontalPanel();
109 -
110 - zActionPanel.addLeft( mFE.addEditRevertButton( createRevertButton() ) );
111 - zActionPanel.addCenter( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, this ) ) );
112 - zActionPanel.addRight( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, ViewDef.HOME ) ) );
113 -
114 - return zActionPanel;
115 - }
116 -
117 - @Override
118 - public void viewUpdated( UserView pUserView ) {
119 - modeEdit( pUserView );
120 - }
121 -
122 - private void modeSearch() {
123 - mEditing = null;
124 - mFE.setMode( FormEngine.Mode.Search );
125 - }
126 -
127 - private void modeEdit( UserView pUserView ) {
128 - mEditing = pUserView.getObjectURL();
129 - mFormBinder.setExistingObject( mDataProvider.copyIntoNewTS( pUserView ), FormEngine.Mode.EditFromSearch );
130 - }
131 -
132 - private void modeNew() {
133 - mEditing = null;
134 - mFormBinder.setNewObject( UserView.createNew() );
135 -
136 - new DialogViewDialog( new NewUserEmailDialog<UserView>( (String) mFE.getNamedComponentValue( aLogonEmail ), //
137 - (String) mFE.getNamedComponentValue( aPhoneNumber ), //
138 - this, //
139 - new QBEinputPanelAccessorFactory<UserView>() {
140 - @Override
141 - public QBEinputPanelAccessor<UserView> createQBEinputPanelAccessor() {
142 - return new UserFieldsPanel( ClientContext.get().get(
143 - CurrentRestrictedResourceViewAccessor.class ).getRestrictedResource(), false );
144 - }
145 - } ) ).show();
146 - }
147 -
148 - @Override
149 - public void dialogClosed() {
150 - modeSearch();
151 - }
152 -
153 - @Override
154 - public void succeeded( String pLogonEmail, UserView pUserView ) {
155 - if ( pUserView != null ) {
156 - modeEdit( pUserView );
157 - } else {
158 - mFE.setNamedComponentValueAsUser( aLogonEmail, pLogonEmail );
159 - mFE.setFocus();
160 - }
161 - }
162 -
163 - private static class TableDef extends BoTableDefinition<UserView> implements UserViewNames,
164 - DataTableStyle {
165 - public TableDef() {
166 - UserViewMetaData zMD = UserViewMetaData.getInstance();
167 -
168 - addColumn( zMD.getBoAttribute( aFirstName ), "First" ).initialWidth( FontSizer.get( TABLE_TEXT ).EMsPlus( 12, CELL_PADDING ) );
169 - addColumn( zMD.getBoAttribute( aMiddleInitial ), "MI" ).initialWidth( FontSizer.get( TABLE_TEXT ).EMsPlus( 1, CELL_PADDING ) );
170 - addColumn( zMD.getBoAttribute( aLastName ), "Last" );
171 - addColumn( zMD.getBoAttribute( aLogonEmail ), "Logon/Email" );
172 - addColumn( zMD.getBoAttribute( aPhoneNumber ), "Phone" ).initialWidth( FontSizer.get( TABLE_TEXT ).EMsPlus( 12, CELL_PADDING ) );
173 - }
174 - }
175 - }
1 + package org.litesoft.datt.client.ui.views.admin;
2 +
3 + import org.litesoft.GWT.client.*;
4 + import org.litesoft.GWT.client.view.*;
5 + import org.litesoft.GWT.client.widgets.*;
6 + import org.litesoft.GWT.client.widgets.datatables.*;
7 + import org.litesoft.GWT.forms.client.*;
8 + import org.litesoft.bo.views.*;
9 + import org.litesoft.core.*;
10 + import org.litesoft.datt.client.accessors.*;
11 + import org.litesoft.datt.client.boviews.*;
12 + import org.litesoft.datt.client.ui.widgets.*;
13 + import org.litesoft.uispecification.*;
14 +
15 + import com.google.gwt.user.client.ui.*;
16 +
17 + import static org.litesoft.uispecification.FormWidgetAspectCtrl.*;
18 + import static org.litesoft.uispecification.FormWidgetCtrl.*;
19 +
20 + public class Users extends ClickableViewObjectQBEscreenView<UserView> implements UserViewNames,
21 + NewUserEmailDialog.CallBack<UserView>,
22 + ViewUpdatable<UserView> {
23 + private ObjectURL mEditing = null;
24 +
25 + @Override
26 + protected UriFragmentIdParams createRefreshParams() {
27 + return UsersFactory.encodeParams( mEditing );
28 + }
29 +
30 + public Users( String pSection, ViewDef pViewDef, ObjectURL pEditing ) {
31 + super( title( pSection, pViewDef ), UserViewDataProvider.getInstance() );
32 +
33 + mEditing = pEditing;
34 +
35 + addStandardTitleBar();
36 +
37 + SizeableQBEboxedPanel zQBEboxedPanel = getQBEboxedPanel();
38 +
39 + FilteringTableModel<UserView> zFilter = new FilteringTableModel<UserView>( mDataProvider, true, this, this, true ); // Second 'this' allows "New"
40 + zQBEboxedPanel.setWidget( zFilter.addReloadable( new SingleSelectRegularTable<UserView>( zFilter, new TableDef(), this ) ) );
41 +
42 + UserView zUser = ClientContext.get().get( CurrentUserViewAccessor.class ).getUser();
43 +
44 + WidgetCtrlMap zWidgetCtrlMap = new WidgetCtrlMap( VISIBLE_AND_ACTIVE_ENABLED );
45 +
46 + zWidgetCtrlMap.add( SEARCH_FILTER, aFirstName, aMiddleInitial, aLastName, aPhoneNumber );
47 + zWidgetCtrlMap.add( Visible( Yes ).enable( Search ).searchFilter().unique(), aLogonEmail );
48 + zWidgetCtrlMap.add( EDIT_ONLY, aStatus, aCanAdministrate );
49 + zWidgetCtrlMap.add( userEditable( zUser.canChange_HelpDeskMember() ), aHelpDeskMember );
50 + zWidgetCtrlMap.add( userEditable( zUser.canChange_RestrictedResourceManage() ), aRestrictedResourceManage );
51 + zWidgetCtrlMap.add( userEditable( zUser.canChange_SuperAdmin() ), aSuperAdmin );
52 + zWidgetCtrlMap.add( userEditable( zUser.canResetPassword() ), aResetPassword );
53 + zWidgetCtrlMap.add( userEditable( zUser.canSetCustomer() ), aCustomer );
54 +
55 + mFE = new QBE_FormEngine( zWidgetCtrlMap, null, zQBEboxedPanel, zFilter, zFilter );
56 + mFormBinder = new FormBinder<UserView>( mFE, UserViewMetaData.getInstance() );
57 +
58 + add( mFE.createSectionTitle( "User" ) );
59 +
60 + UserFieldsPanel zUserFieldsPanel =
61 + new UserFieldsPanel( ClientContext.get().get( CurrentRestrictedResourceViewAccessor.class ).getRestrictedResource(), true );
62 +
63 + add( zUserFieldsPanel.initialize( mFE, mFormBinder ) );
64 + add( new SizeableSpacer().stretchable() );
65 +
66 + mFE.setPointerWidget( zUserFieldsPanel.getPointerField() );
67 + }
68 +
69 + @Override
70 + public void aboutToShow() {
71 + super.aboutToShow();
72 + ObjectURL zEditing = mEditing;
73 + modeSearch();
74 + if ( zEditing != null ) {
75 + mDataProvider.requestRow( zEditing, new FetchRowDataProviderCallBack<UserView>() {
76 + @Override
77 + public void success( UserView pRow ) {
78 + if ( pRow != null ) {
79 + modeEdit( pRow );
80 + }
81 + }
82 +
83 + @Override
84 + public void error( String pError ) {
85 + getStatusMessageSinc().setErrorMessage( pError );
86 + }
87 + } );
88 + }
89 + }
90 +
91 + @Override
92 + protected void justLoaded() {
93 + super.justLoaded();
94 + mFE.setFocus();
95 + }
96 +
97 + @Override
98 + protected void processVO( UserView pRowValue ) {
99 + if ( pRowValue != null ) {
100 + modeEdit( pRowValue );
101 + } else {
102 + modeNew();
103 + }
104 + }
105 +
106 + @Override
107 + public Widget getBottomBar() {
108 + LeftCenterRightHorizontalPanel zActionPanel = new LeftCenterRightHorizontalPanel();
109 +
110 + zActionPanel.addLeft( mFE.addEditRevertButton( createRevertButton() ) );
111 + zActionPanel.addCenter( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, this ) ) );
112 + zActionPanel.addRight( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, ViewDef.HOME ) ) );
113 +
114 + return zActionPanel;
115 + }
116 +
117 + @Override
118 + public void viewUpdated( UserView pUserView ) {
119 + modeEdit( pUserView );
120 + }
121 +
122 + private void modeSearch() {
123 + mEditing = null;
124 + mFE.setMode( FormEngine.Mode.Search );
125 + }
126 +
127 + private void modeEdit( UserView pUserView ) {
128 + mEditing = pUserView.getObjectURL();
129 + mFormBinder.setExistingObject( mDataProvider.copyIntoNewTS( pUserView ), FormEngine.Mode.EditFromSearch );
130 + }
131 +
132 + private void modeNew() {
133 + mEditing = null;
134 + mFormBinder.setNewObject( UserView.createNew() );
135 +
136 + new DialogViewDialog( new NewUserEmailDialog<UserView>( (String) mFE.getNamedComponentValue( aLogonEmail ), //
137 + (String) mFE.getNamedComponentValue( aPhoneNumber ), //
138 + this, //
139 + new QBEinputPanelAccessorFactory<UserView>() {
140 + @Override
141 + public QBEinputPanelAccessor<UserView> createQBEinputPanelAccessor() {
142 + return new UserFieldsPanel( ClientContext.get().get(
143 + CurrentRestrictedResourceViewAccessor.class ).getRestrictedResource(), false );
144 + }
145 + } ) ).show();
146 + }
147 +
148 + @Override
149 + public void dialogClosed() {
150 + modeSearch();
151 + }
152 +
153 + @Override
154 + public void succeeded( String pLogonEmail, UserView pUserView ) {
155 + if ( pUserView != null ) {
156 + modeEdit( pUserView );
157 + } else {
158 + mFE.setNamedComponentValueAsUser( aLogonEmail, pLogonEmail );
159 + mFE.setFocus();
160 + }
161 + }
162 +
163 + private static class TableDef extends BoTableDefinition<UserView> implements UserViewNames,
164 + DataTableStyle {
165 + public TableDef() {
166 + UserViewMetaData zMD = UserViewMetaData.getInstance();
167 +
168 + addColumn( zMD.getBoAttribute( aFirstName ), "First" ).initialWidth( FontSizer.get( TABLE_TEXT ).EMsPlus( 12, CELL_PADDING ) );
169 + addColumn( zMD.getBoAttribute( aMiddleInitial ), "MI" ).initialWidth( FontSizer.get( TABLE_TEXT ).EMsPlus( 1, CELL_PADDING ) );
170 + addColumn( zMD.getBoAttribute( aLastName ), "Last" );
171 + addColumn( zMD.getBoAttribute( aLogonEmail ), "Logon/Email" );
172 + addColumn( zMD.getBoAttribute( aPhoneNumber ), "Phone" ).initialWidth( FontSizer.get( TABLE_TEXT ).EMsPlus( 12, CELL_PADDING ) );
173 + }
174 + }
175 + }