Skip to content

Commit

Permalink
Add academic license (school, yog) to profile form. Adjust xml for th…
Browse files Browse the repository at this point in the history
…ese to be simpler to use as well.
  • Loading branch information
eedeebee committed Mar 2, 2012
1 parent cf78f37 commit 6f2fd3b
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 12 deletions.
1 change: 1 addition & 0 deletions css/screen.css
Expand Up @@ -2332,6 +2332,7 @@ a.drop-down-trigger.menu-open span {
}

#profile-form input[type=text], #profile-form input[type=password],
#profile-form select,
#reset-form input[type=text],
#signup-form input[type=text], #signup-form input[type=password] {
border: 1px solid #CFCFCF;
Expand Down
9 changes: 9 additions & 0 deletions js/functions.js
Expand Up @@ -389,6 +389,15 @@ if(typeof jQuery != 'undefined') {
// e.preventDefault();
//});

var d = $('.yearpicker').attr('data-value');
var now = new Date().getFullYear();
for (i = now; i < now + 10 ; i++)
{
$('.yearpicker').append($('<option />').val(i).html(i));
}
$('.yearpicker').append($('<option />').html('N/A'));
$('.yearpicker').val(d);


// add new functions before this comment

Expand Down
22 changes: 10 additions & 12 deletions lib/users.xqy
Expand Up @@ -178,10 +178,10 @@ as element(*)?
let $type := if ($school) then "academic" else "express"

let $sch := if ($type eq 'express') then () else
<school>
<name>{$school}</name>
<year-of-graduation>{$yog}</year-of-graduation>
</school>
(
<school>{$school}</school>,
<yog>{$yog}</yog>
)
let $co := if ($type eq 'academic') then $school else $company

let $doc :=
Expand Down Expand Up @@ -242,15 +242,13 @@ declare function users:recordAcademicLicense($email, $school, $yog, $license-met
let $uri := base-uri($user)
let $name := $user/name/string()
let $doc := <person>
{ for $field in $user/* where not($field/local-name() = ('school')) return $field }
<school>
<name>{$school}</name>
<year-of-graduation>{$yog}</year-of-graduation>
</school>
{ for $field in $user/* where not($field/local-name() = ('school', 'yog')) return $field }
<school>{$school}</school>
<yog>{$yog}</yog>
<license>
<type>academic</type>
<school>{$school}</school>
<year-of-graduation>{$yog}</year-of-graduation>
<yog>{$yog}</yog>
<date>{fn:current-dateTime()}</date>
<licensee>{$name}</licensee>
{$license-metadata}
Expand Down Expand Up @@ -375,7 +373,7 @@ Username: ", $user/name/string(), "
Email: ", $user/email/string(), "
ID: ", $user/id/string(), "
Organization: ", $user/organization/string(), "
School: ", $user/school/name/string())
School: ", $user/school/string())
}
</em:content>
)
Expand Down Expand Up @@ -449,7 +447,7 @@ declare function users:saveProfile($user as element(*), $params as element(*)*)
(: todo: cheap secure by only storing first 10? :)

(: trim params from input to only the ones we support for now, todo: generate from/share with profile-form in tag-lib :)
let $fields := ('organization', 'title', 'name', 'url', 'picture', 'location', 'country', 'twitter')
let $fields := ('organization', 'title', 'name', 'url', 'picture', 'location', 'country', 'twitter', 'school', 'yog')
let $params := for $p in $params where $p/@name = $fields return $p

let $doc := <person>
Expand Down
11 changes: 11 additions & 0 deletions view/tag-library.xsl
Expand Up @@ -1019,6 +1019,17 @@
<input class="" id="location" name="location" value="{$user/*:location/string()}" type="text"/>
</div>
</fieldset>
<h3>Educational background</h3>
<fieldset>
<div class="profile-form-row">
<div class="profile-form-label">School </div>
<input class="" id="school" name="school" value="{$user/*:school/string()}" type="text"/>
</div>
<div class="profile-form-row">
<div class="profile-form-label">Year of graduation </div>
<select class="yearpicker" id="yog" name="yog" data-value="{$user/*:yog/string()}"></select>
</div>
</fieldset>
</div>
</xsl:template>

Expand Down

0 comments on commit 6f2fd3b

Please sign in to comment.