3 window._w.changepinview = {
13 onViewTemplateReady : function( template, event, eventData )
15 _w.changepinview.ti = _t[template];
16 _w.changepinview.itemData = null;
17 _w.changepinview.limited = ('limiteduserview' == template)
21 App.DataStore.loadSelectListData('permissions', true, 'User', 'Permissions.SelectList');
22 App.DataStore.loadSelectListData('managers', true, 'User', 'Profile.ManagerList');
26 _w.changepinview.setChangePinViewFormMeta();
27 _w.changepinview.ti.hydrate(_w.changepinview.formMeta);
29 // Retrieve initial view data.
30 _w.changepinview.itemId = App.Util.getUrlParam('id');
31 if (0 == _w.userview.itemId || null == _w.userview.itemId)
33 _w.userview.newItem = true;
34 _w.userview.ownAccount = false;
35 _w.userview.itemData = {};
37 'createUser', 'User', 'Profile.Create',
38 null, {}, function(){}, _w.taskContractError
44 _w.userview.ownAccount = (App.userData.id == _w.userview.itemId)
47 _w.userview.newItem = false;
49 'updateUser:' + _w.userview.itemId, 'User', 'Profile.Update', _w.userview.itemId,
50 {'id':_w.userview.itemId}, _w.userview._onUserViewDataReceived, _w.taskContractError
56 onViewPublished : function( template, event, eventData )
58 $('#btnBack').click(function() {
59 window.location.hash = '/userview?id='+_w.changepinview.itemId;
63 $('#btnChangePin').click(function() {
67 if('' == $("#currentPin").val())
69 $("#currentPin").addClass("error");
70 $("#error").html("<font color='red'>Current PIN field is required</font>");
75 if(!$.isNumeric($('#currentPin').val()))
77 $("#currentPin").addClass("error");
78 $("#error").html("<font color='red'>Current PIN field must be numeric</font>");
82 $("#currentPin").removeClass("error");
83 $("#currentPin").addClass("valid");
86 if('' == $("#newPin").val())
88 $("#newPin").addClass("error");
89 $("#error").html("<font color='red'>New PIN field is required</font>");
94 if(!$.isNumeric($('#newPin').val()))
96 $("#newPin").addClass("error");
97 $("#error").html("<font color='red'>New PIN field must be numeric</font>");
101 //console.log($('#newPin').val().replace(/ /g,'').length);
103 if($('#newPin').val().replace(/ /g,'').length != 4)
105 $("#newPin").addClass("error");
106 $("#error").html("<font color='red'>New PIN must be a 4-digit pin</font>");
110 $("#newPin").removeClass("error");
111 $("#newPin").addClass("valid");
114 if('' == $("#pinVerify").val())
116 $("#pinVerify").addClass("error");
117 $("#error").html("<font color='red'>PIN confirmation field is required</font>");
121 if($("#newPin").val() != $("#pinVerify").val())
123 $("#pinVerify").addClass("error");
124 $("#error").html("<font color='red'>PIN and confirmation pin do not match</font>");
129 'PinCange:' + App.userData.id, 'User', 'Profile.ChangePassword', App.userData.id,
132 'PinCange:' + App.userData.id, {
134 oldPassword : $("#currentPin").val(),
135 newPassword : $("#newPin").val(),
140 alert('Pin changed successfully.');
141 if (App.isNewAuctionUser)
143 App.isNewAuctionUser = false;
144 window.location.hash = '/auction';
148 window.location.hash = '/userview?id='+_w.changepinview.itemId;
150 },function( response ) {
152 if('Current password does not match.'==response.StatusReason)
154 $("#currentPin").removeClass("valid");
155 $("#currentPin").addClass("error");
156 $("#error").html("<font color='red'>"+response.StatusReason+"</font>");
162 }, _w.taskContractError
168 setChangePinViewFormMeta : function( data )
174 _w.changepinview.formMeta = {
178 title : 'Current PIN',
192 title : 'Confirm new PIN',
200 _onDataAndTemplate : function() {
204 _onChangePinDataReceived : function( response )
206 _w.changepinview.itemId = response.Data.id;
207 _w.changepinview.itemData = response.Data;
208 _w.changepinview.setUserViewFormMeta(response.Data);
209 _w.changepinview.ti.hydrate(_w.userview.formMeta);
210 if (_w.changepinview.ti.published)
212 _w.changepinview._onDataAndTemplate();
216 _prepUserUpdateData : function()
218 var data = {Profile:_w.userview.ti.harvest()};
219 if ('' == data.Profile.manager)
221 data.Profile.manager = null;
226 _onUserUpdated : function( response )
228 if (_w.userview.ownAccount)
231 'updateOffer:' + _w.offerview.offerId, 'User', 'Profile.ActiveAccount', null,
232 {}, function (response) {
233 App.permissions = response.Data.permissions;
234 delete response.Data.permissions;
235 App.companyData = response.Data.company;
236 delete response.Data.company;
237 App.userData = response.Data;
238 window.location.hash = '/settings';
239 }, _w.onActiveAccountFailure
244 window.location.hash = '/settings';