Mercurial > kallithea
comparison rhodecode/templates/pullrequests/pullrequest.html @ 2434:f29469677319 codereview
Added basic models for saving open pull requests
- added pull-request models
- added pull-requests notifications into inbox
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Sun, 10 Jun 2012 02:08:10 +0200 |
parents | 51e3d60fed2f |
children | 79818f546538 |
comparison
equal
deleted
inserted
replaced
2433:74f2910f7ad9 | 2434:f29469677319 |
---|---|
1 <%inherit file="/base/base.html"/> | 1 <%inherit file="/base/base.html"/> |
2 | 2 |
3 <%def name="title()"> | 3 <%def name="title()"> |
4 ${c.repo_name} ${_('Pull request')} | 4 ${c.repo_name} ${_('New pull request')} |
5 </%def> | 5 </%def> |
6 | 6 |
7 <%def name="breadcrumbs_links()"> | 7 <%def name="breadcrumbs_links()"> |
8 ${h.link_to(u'Home',h.url('/'))} | 8 ${h.link_to(u'Home',h.url('/'))} |
9 » | 9 » |
10 ${h.link_to(c.repo_name,h.url('changelog_home',repo_name=c.repo_name))} | 10 ${h.link_to(c.repo_name,h.url('changelog_home',repo_name=c.repo_name))} |
11 » | 11 » |
12 ${_('Pull request')} | 12 ${_('New pull request')} |
13 </%def> | 13 </%def> |
14 | 14 |
15 <%def name="main()"> | 15 <%def name="main()"> |
16 | 16 |
17 <div class="box"> | 17 <div class="box"> |
18 <!-- box / title --> | 18 <!-- box / title --> |
19 <div class="title"> | 19 <div class="title"> |
20 ${self.breadcrumbs()} | 20 ${self.breadcrumbs()} |
21 </div> | 21 </div> |
22 ${h.form(url('#'),method='put', id='pull_request_form')} | 22 ${h.form(url('pullrequest', repo_name=c.repo_name), method='post', id='pull_request_form')} |
23 <div style="float:left;padding:30px"> | 23 <div style="float:left;padding:0px 30px 30px 30px"> |
24 <div style="padding:0px 5px 5px 5px"> | |
25 <span> | |
26 <a id="refresh" href="#"> | |
27 <img class="icon" title="${_('Refresh')}" alt="${_('Refresh')}" src="${h.url('/images/icons/arrow_refresh.png')}"/> | |
28 ${_('refresh overview')} | |
29 </a> | |
30 </span> | |
31 </div> | |
24 ##ORG | 32 ##ORG |
25 <div style="float:left"> | 33 <div style="float:left"> |
26 <div class="fork_user"> | 34 <div class="fork_user"> |
27 <div class="gravatar"> | 35 <div class="gravatar"> |
28 <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_db_repo.user.email,24)}"/> | 36 <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_db_repo.user.email,24)}"/> |
35 <div style="clear:both;padding-top: 10px"></div> | 43 <div style="clear:both;padding-top: 10px"></div> |
36 </div> | 44 </div> |
37 <div style="float:left;font-size:24px;padding:0px 20px"> | 45 <div style="float:left;font-size:24px;padding:0px 20px"> |
38 <img height=32 width=32 src="${h.url('/images/arrow_right_64.png')}"/> | 46 <img height=32 width=32 src="${h.url('/images/arrow_right_64.png')}"/> |
39 </div> | 47 </div> |
40 | 48 |
41 ##OTHER, most Probably the PARENT OF THIS FORK | 49 ##OTHER, most Probably the PARENT OF THIS FORK |
42 <div style="float:left"> | 50 <div style="float:left"> |
43 <div class="fork_user"> | 51 <div class="fork_user"> |
44 <div class="gravatar"> | 52 <div class="gravatar"> |
45 <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_db_repo.user.email,24)}"/> | 53 <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_db_repo.user.email,24)}"/> |
46 </div> | 54 </div> |
47 <span style="font-size: 20px"> | 55 <span style="font-size: 20px"> |
48 ${h.select('other_repo','',c.other_repos,class_='refs')}:${h.select('other_ref','',c.other_refs,class_='refs')} | 56 ${h.select('other_repo',c.default_pull_request ,c.other_repos,class_='refs')}:${h.select('other_ref','',c.other_refs,class_='refs')} |
49 </span> | 57 </span> |
50 <div style="padding:5px 3px 3px 42px;">${c.rhodecode_db_repo.description}</div> | 58 <div style="padding:5px 3px 3px 42px;">${c.rhodecode_db_repo.description}</div> |
51 </div> | 59 </div> |
52 <div style="clear:both;padding-top: 10px"></div> | 60 <div style="clear:both;padding-top: 10px"></div> |
53 </div> | 61 </div> |
54 <div style="float:left;padding:5px 5px 5px 15px"> | 62 <div style="clear:both;padding-top: 10px"></div> |
55 <span> | 63 ## overview pulled by ajax |
56 <a id="refresh" href="#"> | 64 <div style="float:left" id="pull_request_overview"></div> |
57 <img class="icon" title="${_('Refresh')}" alt="${_('Refresh')}" src="${h.url('/images/icons/arrow_refresh.png')}"/> | |
58 ${_('refresh overview')} | |
59 </a> | |
60 </span> | |
61 </div> | |
62 <div style="clear:both;padding-top: 10px"></div> | |
63 <div style="float:left" id="pull_request_overview"> | |
64 </div> | |
65 <div style="float:left;clear:both;padding:10px 10px 10px 0px;display:none"> | 65 <div style="float:left;clear:both;padding:10px 10px 10px 0px;display:none"> |
66 <a id="pull_request_overview_url" href="#">${_('Detailed compare view')}</a> | 66 <a id="pull_request_overview_url" href="#">${_('Detailed compare view')}</a> |
67 </div> | 67 </div> |
68 </div> | 68 </div> |
69 <div style="float:left; border-left:1px dashed #eee"> | 69 <div style="float:left; border-left:1px dashed #eee"> |
70 <h4>${_('Pull request reviewers')}</h4> | 70 <h4>${_('Pull request reviewers')}</h4> |
71 <div id="reviewers" style="padding:0px 0px 0px 15px"> | 71 <div id="reviewers" style="padding:0px 0px 0px 15px"> |
72 ##TODO: make this nicer :) | 72 ##TODO: make this nicer :) |
73 <table class="table noborder"> | 73 <table class="table noborder"> |
74 <tr> | 74 <tr> |
75 <td> | 75 <td> |
76 <div> | 76 <div> |
77 <div style="float:left"> | 77 <div style="float:left"> |
78 <div class="text" style="padding: 0px 0px 6px;">${_('Choosen reviewers')}</div> | 78 <div class="text" style="padding: 0px 0px 6px;">${_('Chosen reviewers')}</div> |
79 ${h.select('review_members',[x[0] for x in c.review_members],c.review_members,multiple=True,size=8,style="min-width:210px")} | 79 ${h.select('review_members',[x[0] for x in c.review_members],c.review_members,multiple=True,size=8,style="min-width:210px")} |
80 <div id="remove_all_elements" style="cursor:pointer;text-align:center"> | 80 <div id="remove_all_elements" style="cursor:pointer;text-align:center"> |
81 ${_('Remove all elements')} | 81 ${_('Remove all elements')} |
82 <img alt="remove" style="vertical-align:text-bottom" src="${h.url('/images/icons/arrow_right.png')}"/> | 82 <img alt="remove" style="vertical-align:text-bottom" src="${h.url('/images/icons/arrow_right.png')}"/> |
83 </div> | 83 </div> |
100 </div> | 100 </div> |
101 </div> | 101 </div> |
102 </div> | 102 </div> |
103 </td> | 103 </td> |
104 </tr> | 104 </tr> |
105 </table> | 105 </table> |
106 </div> | 106 </div> |
107 </div> | 107 </div> |
108 <h3>${_('Create new pull request')}</h3> | 108 <h3>${_('Create new pull request')}</h3> |
109 | 109 |
110 <div class="form"> | 110 <div class="form"> |
111 <!-- fields --> | 111 <!-- fields --> |
112 | 112 |
113 <div class="fields"> | 113 <div class="fields"> |
114 | 114 |
134 ${h.submit('save',_('Send pull request'),class_="ui-button")} | 134 ${h.submit('save',_('Send pull request'),class_="ui-button")} |
135 ${h.reset('reset',_('Reset'),class_="ui-button")} | 135 ${h.reset('reset',_('Reset'),class_="ui-button")} |
136 </div> | 136 </div> |
137 </div> | 137 </div> |
138 </div> | 138 </div> |
139 ${h.end_form()} | 139 ${h.end_form()} |
140 | 140 |
141 </div> | 141 </div> |
142 | 142 |
143 <script type="text/javascript"> | 143 <script type="text/javascript"> |
144 MultiSelectWidget('review_members','available_members','pull_request_form'); | 144 MultiSelectWidget('review_members','available_members','pull_request_form'); |
145 | 145 |
146 var loadPreview = function(){ | 146 var loadPreview = function(){ |
147 YUD.setStyle(YUD.get('pull_request_overview_url').parentElement,'display','none'); | 147 YUD.setStyle(YUD.get('pull_request_overview_url').parentElement,'display','none'); |
148 var url = "${h.url('compare_url', | 148 var url = "${h.url('compare_url', |
149 repo_name='org_repo', | 149 repo_name='org_repo', |
150 org_ref_type='branch', org_ref='org_ref', | 150 org_ref_type='branch', org_ref='org_ref', |
151 other_ref_type='branch', other_ref='other_ref', | 151 other_ref_type='branch', other_ref='other_ref', |
152 repo='other_repo')}"; | 152 repo='other_repo', |
153 | 153 as_form=True)}"; |
154 | |
154 var select_refs = YUQ('#pull_request_form select.refs') | 155 var select_refs = YUQ('#pull_request_form select.refs') |
155 | 156 |
156 for(var i=0;i<select_refs.length;i++){ | 157 for(var i=0;i<select_refs.length;i++){ |
157 var select_ref = select_refs[i]; | 158 var select_ref = select_refs[i]; |
158 var select_ref_data = select_ref.value.split(':'); | 159 var select_ref_data = select_ref.value.split(':'); |
159 var key = null; | 160 var key = null; |
160 var val = null; | 161 var val = null; |
161 if(select_ref_data.length>1){ | 162 if(select_ref_data.length>1){ |
162 key = select_ref.name+"_type"; | 163 key = select_ref.name+"_type"; |
163 val = select_ref_data[0]; | 164 val = select_ref_data[0]; |
164 url = url.replace(key,val); | 165 url = url.replace(key,val); |
165 | 166 |
166 key = select_ref.name; | 167 key = select_ref.name; |
167 val = select_ref_data[1]; | 168 val = select_ref_data[1]; |
168 url = url.replace(key,val); | 169 url = url.replace(key,val); |
169 | 170 |
170 }else{ | 171 }else{ |
171 key = select_ref.name; | 172 key = select_ref.name; |
172 val = select_ref.value; | 173 val = select_ref.value; |
173 url = url.replace(key,val); | 174 url = url.replace(key,val); |
174 } | 175 } |
175 } | 176 } |
176 | 177 |
177 ypjax(url,'pull_request_overview', function(data){ | 178 ypjax(url,'pull_request_overview', function(data){ |
178 YUD.get('pull_request_overview_url').href = url; | 179 YUD.get('pull_request_overview_url').href = url; |
179 YUD.setStyle(YUD.get('pull_request_overview_url').parentElement,'display',''); | 180 YUD.setStyle(YUD.get('pull_request_overview_url').parentElement,'display',''); |
180 }) | 181 }) |
181 } | 182 } |
182 YUE.on('refresh','click',function(e){ | 183 YUE.on('refresh','click',function(e){ |
183 loadPreview() | 184 loadPreview() |
184 }) | 185 }) |
185 | 186 |
186 //lazy load after 0.5 | 187 //lazy load overview after 0.5s |
187 | 188 setTimeout(loadPreview, 500) |
188 setTimeout(loadPreview,500) | 189 |
189 | |
190 </script> | 190 </script> |
191 | 191 |
192 </%def> | 192 </%def> |