Subversion Repository Public Repository

litesoft

Diff Revisions 949 vs 950 for /trunk/GWT_Sandbox/Prioritizer/src/org/litesoft/prioritizer/client/ui/views/admin/Users.java

Diff revisions: vs.
  @@ -1,175 +1,175 @@
1 - package org.litesoft.prioritizer.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.prioritizer.client.accessors.*;
11 - import org.litesoft.prioritizer.client.boviews.*;
12 - import org.litesoft.prioritizer.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 -
54 - mFE = new QBE_FormEngine( zWidgetCtrlMap, null, zQBEboxedPanel, zFilter, zFilter );
55 - mFormBinder = new FormBinder<UserView>( mFE, UserViewMetaData.getInstance() );
56 -
57 - add( mFE.createSectionTitle( "User" ) );
58 -
59 - UserFieldsPanel zUserFieldsPanel =
60 - new UserFieldsPanel( ClientContext.get().get( CurrentRestrictedResourceViewAccessor.class ).getRestrictedResource(), true );
61 -
62 - add( zUserFieldsPanel.initialize( mFE, mFormBinder ) );
63 - add( new SizeableSpacer().stretchable() );
64 -
65 - mFE.setPointerWidget( zUserFieldsPanel.getPointerField() );
66 - }
67 -
68 - @Override
69 - public void aboutToShow() {
70 - super.aboutToShow();
71 - ObjectURL zEditing = mEditing;
72 - modeSearch();
73 - if ( zEditing != null ) {
74 - mDataProvider.requestRow( zEditing, new FetchRowDataProviderCallBack<UserView>() {
75 - @Override
76 - public void success( UserView pRow ) {
77 - if ( pRow != null ) {
78 - modeEdit( pRow );
79 - }
80 - }
81 -
82 - @Override
83 - public void error( String pError ) {
84 - getStatusMessageSinc().setErrorMessage( pError );
85 - }
86 - } );
87 - }
88 - }
89 -
90 - @Override
91 - protected void justLoaded() {
92 - super.justLoaded();
93 - mFE.setFocus();
94 - }
95 -
96 - @Override
97 - protected void processVO( UserView pRowValue ) {
98 - if ( pRowValue != null ) {
99 - modeEdit( pRowValue );
100 - } else {
101 - modeNew();
102 - }
103 - }
104 -
105 - @Override
106 - public Widget getBottomBar() {
107 - LeftCenterRightHorizontalPanel zActionPanel = new LeftCenterRightHorizontalPanel();
108 -
109 - zActionPanel.addLeft( mFE.addEditRevertButton( createRevertButton() ) );
110 - zActionPanel.addCenter( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, this ) ) );
111 - zActionPanel.addRight( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, ViewDef.HOME ) ) );
112 -
113 - return zActionPanel;
114 - }
115 -
116 - @Override
117 - public void viewUpdated( UserView pUserView ) {
118 - modeEdit( pUserView );
119 - }
120 -
121 - private void modeSearch() {
122 - mEditing = null;
123 - mFE.setMode( FormEngine.Mode.Search );
124 - }
125 -
126 - private void modeEdit( UserView pUserView ) {
127 - mEditing = pUserView.getObjectURL();
128 - mFormBinder.setExistingObject( mDataProvider.copyIntoNewTS( pUserView ), FormEngine.Mode.EditFromSearch );
129 - }
130 -
131 - private void modeNew() {
132 - mEditing = null;
133 - mFormBinder.setNewObject( UserView.createNew() );
134 -
135 - new DialogViewDialog( new NewUserEmailDialog<UserView>( (String) mFE.getNamedComponentValue( aLogonEmail ), //
136 - (String) mFE.getNamedComponentValue( aPhoneNumber ), //
137 - this, //
138 - new QBEinputPanelAccessorFactory<UserView>() {
139 - @Override
140 - public QBEinputPanelAccessor<UserView> createQBEinputPanelAccessor() {
141 - return new UserFieldsPanel(
142 - ClientContext.get().get( CurrentRestrictedResourceViewAccessor.class )
143 - .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.prioritizer.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.prioritizer.client.accessors.*;
11 + import org.litesoft.prioritizer.client.boviews.*;
12 + import org.litesoft.prioritizer.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 +
54 + mFE = new QBE_FormEngine( zWidgetCtrlMap, null, zQBEboxedPanel, zFilter, zFilter );
55 + mFormBinder = new FormBinder<UserView>( mFE, UserViewMetaData.getInstance() );
56 +
57 + add( mFE.createSectionTitle( "User" ) );
58 +
59 + UserFieldsPanel zUserFieldsPanel =
60 + new UserFieldsPanel( ClientContext.get().get( CurrentRestrictedResourceViewAccessor.class ).getRestrictedResource(), true );
61 +
62 + add( zUserFieldsPanel.initialize( mFE, mFormBinder ) );
63 + add( new SizeableSpacer().stretchable() );
64 +
65 + mFE.setPointerWidget( zUserFieldsPanel.getPointerField() );
66 + }
67 +
68 + @Override
69 + public void aboutToShow() {
70 + super.aboutToShow();
71 + ObjectURL zEditing = mEditing;
72 + modeSearch();
73 + if ( zEditing != null ) {
74 + mDataProvider.requestRow( zEditing, new FetchRowDataProviderCallBack<UserView>() {
75 + @Override
76 + public void success( UserView pRow ) {
77 + if ( pRow != null ) {
78 + modeEdit( pRow );
79 + }
80 + }
81 +
82 + @Override
83 + public void error( String pError ) {
84 + getStatusMessageSinc().setErrorMessage( pError );
85 + }
86 + } );
87 + }
88 + }
89 +
90 + @Override
91 + protected void justLoaded() {
92 + super.justLoaded();
93 + mFE.setFocus();
94 + }
95 +
96 + @Override
97 + protected void processVO( UserView pRowValue ) {
98 + if ( pRowValue != null ) {
99 + modeEdit( pRowValue );
100 + } else {
101 + modeNew();
102 + }
103 + }
104 +
105 + @Override
106 + public Widget getBottomBar() {
107 + LeftCenterRightHorizontalPanel zActionPanel = new LeftCenterRightHorizontalPanel();
108 +
109 + zActionPanel.addLeft( mFE.addEditRevertButton( createRevertButton() ) );
110 + zActionPanel.addCenter( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, this ) ) );
111 + zActionPanel.addRight( mFE.addEditSubmitButton( createSubmitButton( mDataProvider, mFormBinder, ViewDef.HOME ) ) );
112 +
113 + return zActionPanel;
114 + }
115 +
116 + @Override
117 + public void viewUpdated( UserView pUserView ) {
118 + modeEdit( pUserView );
119 + }
120 +
121 + private void modeSearch() {
122 + mEditing = null;
123 + mFE.setMode( FormEngine.Mode.Search );
124 + }
125 +
126 + private void modeEdit( UserView pUserView ) {
127 + mEditing = pUserView.getObjectURL();
128 + mFormBinder.setExistingObject( mDataProvider.copyIntoNewTS( pUserView ), FormEngine.Mode.EditFromSearch );
129 + }
130 +
131 + private void modeNew() {
132 + mEditing = null;
133 + mFormBinder.setNewObject( UserView.createNew() );
134 +
135 + new DialogViewDialog( new NewUserEmailDialog<UserView>( (String) mFE.getNamedComponentValue( aLogonEmail ), //
136 + (String) mFE.getNamedComponentValue( aPhoneNumber ), //
137 + this, //
138 + new QBEinputPanelAccessorFactory<UserView>() {
139 + @Override
140 + public QBEinputPanelAccessor<UserView> createQBEinputPanelAccessor() {
141 + return new UserFieldsPanel(
142 + ClientContext.get().get( CurrentRestrictedResourceViewAccessor.class )
143 + .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 + }