| Index: appengine/monorail/templates/sitewide/user-profile-page.ezt
|
| diff --git a/appengine/monorail/templates/sitewide/user-profile-page.ezt b/appengine/monorail/templates/sitewide/user-profile-page.ezt
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..378db080fdcc7ba50dfa8a166bee366db20db98a
|
| --- /dev/null
|
| +++ b/appengine/monorail/templates/sitewide/user-profile-page.ezt
|
| @@ -0,0 +1,284 @@
|
| +[define category_css]css/ph_list.css[end]
|
| +[include "../framework/master-header.ezt" "showusertabs" "t1"]
|
| +[include "../framework/js-placeholders.ezt"]
|
| +<div id="colcontrol">
|
| +
|
| +<h2>
|
| + [if-any viewing_self][else]
|
| + [if-any user_stars_enabled]
|
| + [if-any logged_in_user]
|
| + [if-any read_only][else]
|
| + [if-any user_stars_enabled]
|
| + [if-any logged_in_user]
|
| + [if-any read_only][else]
|
| + <a id="user_star"
|
| + style="color:[if-any is_user_starred]cornflowerblue[else]gray[end]"
|
| + title="[if-any is_user_starred]Un-s[else]S[end]tar this project">
|
| + [if-any is_user_starred]★[else]☆[end]
|
| + </a>
|
| + [end]
|
| + [end]
|
| + [end]
|
| + [end]
|
| + [end]
|
| + [end]
|
| + [end]
|
| +
|
| + [viewed_user_display_name]
|
| +</h2>
|
| +
|
| +[if-any user_stars_enabled]
|
| +<div>
|
| +<b>Starred developers:</b>
|
| +[if-any starred_users]
|
| +[for starred_users]
|
| + [include "../framework/user-link.ezt" starred_users][if-index starred_users last][else], [end]
|
| +[end]
|
| +[else]<i>None</i>[end]
|
| +</div>
|
| +[end]
|
| +<br>
|
| +
|
| +<div class="list">
|
| + <table style="width: 100%;" cellspacing="0" cellpadding="0">
|
| + <tbody><tr>
|
| + <th style="text-align: left;">Projects
|
| + </th>
|
| + </tr></tbody>
|
| + </table>
|
| +</div>
|
| +
|
| +<table cellspacing="0" cellpadding="2" border="0" class="results striped" id="projecttable" width="100%">
|
| + <tbody>
|
| + <tr id="headingrow">
|
| + [if-any logged_in_user]
|
| + <th style="white-space:nowrap; width:3%;"></th>
|
| + [end]
|
| + <th style="white-space:nowrap; width:15%;">Role</th>
|
| + <th style="white-space:nowrap; width:25%;">Project</th>
|
| + <th style="white-space:nowrap; width:57%;">Summary</th>
|
| + </tr>
|
| + [if-any owner_of_projects committer_of_projects contributor_to_projects]
|
| + [if-any owner_of_projects]
|
| + [for owner_of_projects]
|
| + <tr data-url="[owner_of_projects.relative_home_url]" data-project-name="[owner_of_projects.project_name]">
|
| + [if-any logged_in_user]
|
| + <td class="rowwidgets">
|
| + <a class="star"
|
| + style="color:[if-any owner_of_projects.starred]cornflowerblue[else]gray[end]"
|
| + title="[if-any owner_of_projects.starred]Un-s[else]S[end]tar this project"
|
| + data-project-name="[owner_of_projects.project_name]">
|
| + [if-any owner_of_projects.starred]★[else]☆[end]
|
| + </a>
|
| + </td>
|
| + [end]
|
| + <td>Owner</td>
|
| + <td class="id" name="owner">
|
| + <a href="[owner_of_projects.relative_home_url]/">[owner_of_projects.project_name]</a>
|
| + [is owner_of_projects.state_name "HIDDEN"]<span style="color:red"> - hidden</span>[end]
|
| + </td>
|
| + <td>[owner_of_projects.summary]</td>
|
| + </tr>
|
| + [end]
|
| + [end]
|
| + [if-any committer_of_projects]
|
| + [for committer_of_projects]
|
| + <tr data-url="[committer_of_projects.relative_home_url]" data-project-name="[committer_of_projects.project_name]">
|
| + [if-any logged_in_user]
|
| + <td class="rowwidgets">
|
| + <a class="star"
|
| + style="color:[if-any committer_of_projects.starred]cornflowerblue[else]gray[end]"
|
| + title="[if-any committer_of_projects.starred]Un-s[else]S[end]tar this project"
|
| + data-project-name="[committer_of_projects.project_name]">
|
| + [if-any committer_of_projects.starred]★[else]☆[end]
|
| + </a>
|
| + </td>
|
| + [end]
|
| + <td>Committer</td>
|
| + <td class="id" name="committer">
|
| + <a href="[committer_of_projects.relative_home_url]/">[committer_of_projects.project_name]
|
| + </a>
|
| + </td>
|
| + <td>
|
| + [committer_of_projects.summary]
|
| + </td>
|
| + </tr>
|
| + [end]
|
| + [end]
|
| +
|
| + [if-any contributor_to_projects]
|
| + [for contributor_to_projects]
|
| + <tr data-url="[contributor_to_projects.relative_home_url]" data-project-name="[contributor_to_projects.project_name]">
|
| + [if-any logged_in_user]
|
| + <td class="rowwidgets">
|
| + <a class="star"
|
| + style="color:[if-any contributor_to_projects.starred]cornflowerblue[else]gray[end]"
|
| + title="[if-any contributor_to_projects.starred]Un-s[else]S[end]tar this project"
|
| + data-project-name="[contributor_to_projects.project_name]">
|
| + [if-any contributor_to_projects.starred]★[else]☆[end]
|
| + </a>
|
| + </td>
|
| + [end]
|
| + <td>Contributor</td>
|
| + <td class="id" name="contributor">
|
| + <a href="[contributor_to_projects.relative_home_url]/">[contributor_to_projects.project_name]
|
| + </a>
|
| + [is contributor_to_projects.state_name "HIDDEN"]<span style="color:red"> - hidden</span>[end]</td>
|
| + <td>
|
| + [contributor_to_projects.summary]
|
| + </td>
|
| + </tr>
|
| + [end]
|
| + [end]
|
| +
|
| + [else]
|
| + <tr>
|
| + <td colspan="4"><i>No projects.</i></td>
|
| + <tr>
|
| + [end]
|
| + </tbody>
|
| +</table>
|
| +
|
| +
|
| +[if-any starred_projects]
|
| +<br>
|
| +<div class="list">
|
| + <table style="width: 100%;" cellspacing="0" cellpadding="0">
|
| + <tbody><tr>
|
| + <th style="text-align: left;">
|
| + Starred by [if-any viewing_self]me[else]
|
| + [viewed_user_display_name]
|
| + [end]
|
| + </th>
|
| + </tr></tbody>
|
| + </table>
|
| +</div>
|
| +<table cellspacing="0" cellpadding="2" border="0" class="results striped" id="starredtable" width="100%">
|
| + <tbody>
|
| + <tr id="headingrow">
|
| + [if-any logged_in_user]
|
| + <th style="white-space:nowrap; width:3%;"></th>
|
| + [end]
|
| + <th style="white-space:nowrap; width:25%;">Name</th>
|
| + <th style="white-space:nowrap; width:57%;">Summary</th>
|
| + </tr>
|
| +
|
| + [for starred_projects]
|
| + <tr data-url="[starred_projects.relative_home_url]" data-project-name="[starred_projects.project_name]">
|
| + [if-any logged_in_user]
|
| + <td class="rowwidgets">
|
| + <a class="star"
|
| + style="color:[if-any starred_projects.starred]cornflowerblue[else]gray[end]"
|
| + title="[if-any starred_projects.starred]Un-s[else]S[end]tar this project"
|
| + data-project-name="[starred_projects.project_name]">
|
| + [if-any starred_projects.starred]★[else]☆[end]
|
| + </a>
|
| + </td>
|
| + [end]
|
| + <td class="id" name="starred_project">
|
| + <a href="[starred_projects.relative_home_url]/">[starred_projects.project_name]</a>
|
| + [is starred_projects.state_name "HIDDEN"]<span style="color:red"> - hidden</span>[end]
|
| + </td>
|
| + <td>
|
| + [starred_projects.summary]
|
| + </td>
|
| + </tr>
|
| + [end]
|
| +
|
| +</table>
|
| +[end]
|
| +
|
| +[if-any owner_of_archived_projects]
|
| +<br>
|
| +<div class="list">
|
| + <table style="width: 100%;" cellspacing="0" cellpadding="0">
|
| + <tbody><tr>
|
| + <th style="text-align: left;">Archived projects
|
| + </th>
|
| + </tr></tbody>
|
| + </table>
|
| +</div>
|
| +<table cellspacing="0" cellpadding="2" border="0" class="results striped" id="archivedtable" width="100%">
|
| + <tbody>
|
| + <tr id="headingrow">
|
| + <th style="white-space:nowrap; width:25%;">Name</th>
|
| + <th style="white-space:nowrap; width:60%;">Summary</th>
|
| + </tr>
|
| + [for owner_of_archived_projects]
|
| + <tr data-url="[owner_of_archived_projects.relative_home_url]/adminAdvanced">
|
| + <td class="id" name="deleted_project">[owner_of_archived_projects.project_name] -
|
| + <a href="[owner_of_archived_projects.relative_home_url]/adminAdvanced">Unarchive or delete</a>
|
| + </td>
|
| + <td>
|
| + [owner_of_archived_projects.summary]
|
| + </td>
|
| + </tr>
|
| + [end]
|
| +</table>
|
| +[end]
|
| +
|
| +</div>
|
| +</div>
|
| +
|
| +[if-any perms._EditOtherUsers]
|
| +<h3 style="clear:both">Edit user</h3>
|
| + <form action="edit.do" method="POST">
|
| + <input type="hidden" name="token" value="[form_token]">
|
| + <h4>Site administration</h4>
|
| + <div style="margin:0 0 2em 2em">
|
| + <input type="checkbox" name="site_admin" id="site_admin" value="1" [if-any viewed_user_pb.is_site_admin_bool]checked="checked"[end] >
|
| + <label for="site_admin">This user is a site administrator (a super user)</label>
|
| + </div>
|
| +
|
| + [include "unified-settings.ezt"]
|
| +
|
| + <div style="margin:0 0 2em 2em">
|
| + <input id="submit_btn" type="submit" name="btn"
|
| + value="Save changes">
|
| + </div>
|
| +
|
| + </form>
|
| +[end]
|
| +
|
| +<script type="text/javascript" nonce="[nonce]">
|
| +runOnLoad(function() {
|
| + if ($("user_star")) {
|
| + [# The user viewing this page wants to star the user *on* this page]
|
| + $("user_star").addEventListener("click", function () {
|
| + _TKR_toggleStar($("user_star"), null, null, "[viewed_user_id]");
|
| + });
|
| + }
|
| +
|
| + var stars = document.getElementsByClassName("star");
|
| + for (var i = 0; i < stars.length; ++i) {
|
| + var star = stars[[]i];
|
| + star.addEventListener("click", function (event) {
|
| + var projectName = event.target.getAttribute("data-project-name");
|
| + _TKR_toggleStar(event.target, projectName);
|
| + });
|
| + }
|
| +
|
| + function _handleProjectClick(event) {
|
| + var target = event.target;
|
| + if (target.tagName == "A")
|
| + return;
|
| +
|
| + if (target.classList.contains("rowwidgets") || target.parentNode.classList.contains("rowwidgets"))
|
| + return;
|
| + if (target.tagName != "TR") target = target.parentNode;
|
| + _go(target.attributes[[]"data-url"].value,
|
| + (event.metaKey || event.ctrlKey || event.button == 1));
|
| + };
|
| + $("projecttable").addEventListener("click", _handleProjectClick);
|
| + if ($("starredtable")) {
|
| + $("starredtable").addEventListener("click", _handleProjectClick);
|
| + }
|
| + if ($("archivedtable")) {
|
| + $("archivedtable").addEventListener("click", _handleProjectClick);
|
| + }
|
| +
|
| +});
|
| +</script>
|
| +
|
| +[include "../framework/footer-script.ezt"]
|
| +[include "../framework/master-footer.ezt"]
|
|
|