overleaf/services/web/public/coffee/UserDetailsUpdater.coffee

42 lines
1.4 KiB
CoffeeScript
Raw Normal View History

2014-06-13 12:17:58 -04:00
define ["libs/algolia", "libs/typeahead", "libs/angular"], (algolia)->
2014-06-11 12:45:09 -04:00
2014-06-12 12:15:54 -04:00
app = angular.module("userProfileInformationApp", [])
2014-06-11 12:45:09 -04:00
2014-06-13 12:17:58 -04:00
app.factory "Institutions", ->
new AlgoliaSearch("SK53GL4JLY", "75dc5e65794cd47eb7f725e6bb5075be").initIndex("institutions")
2014-06-11 12:45:09 -04:00
2014-06-13 12:17:58 -04:00
app.controller "UpdateForm", ($scope, $http, Institutions)->
$scope.institutions =
2014-06-12 12:15:54 -04:00
$scope.hidePersonalInfoSection = true
2014-06-11 12:45:09 -04:00
2014-06-12 12:15:54 -04:00
$http.get("/user/personal_info").success (data)->
$scope.userInfoForm =
first_name: data.first_name
last_name: data.last_name
role: data.role
institution: data.institution
_csrf : window.csrfToken
2014-06-11 12:45:09 -04:00
2014-06-12 12:15:54 -04:00
if getPercentComplete() != 100
2014-06-12 10:50:00 -04:00
$scope.percentComplete = getPercentComplete()
2014-06-12 12:15:54 -04:00
$scope.hidePersonalInfoSection = false
$scope.sendUpdate = ->
request = $http.post "/user/personal_info", $scope.userInfoForm
request.success (data, status)->
console.log "the post worked"
request.error (data, status)->
console.log "the request failed"
$scope.percentComplete = getPercentComplete()
2014-06-12 12:15:54 -04:00
getPercentComplete = ->
results = _.filter $scope.userInfoForm, (value)-> value? and value?.length != 0
results.length * 20
2014-06-12 10:50:00 -04:00
2014-06-13 12:17:58 -04:00
$scope.updateInstitutionsList = ->
Institutions.search $scope.userInfoForm.institution, (err, response)->
$scope.institutions = response.hits
2014-06-12 12:15:54 -04:00
angular.bootstrap(document.getElementById("userProfileInformation"), ['userProfileInformationApp'])