##// END OF EJS Templates
Add quick toggle link for locking for users with write or admin permissions
marcink -
r2833:2f3cba7b beta
parent child Browse files
Show More
@@ -1,580 +1,585 b''
1 1 """
2 2 Routes configuration
3 3
4 4 The more specific and detailed routes should be defined first so they
5 5 may take precedent over the more generic routes. For more information
6 6 refer to the routes manual at http://routes.groovie.org/docs/
7 7 """
8 8 from __future__ import with_statement
9 9 from routes import Mapper
10 10
11 11 # prefix for non repository related links needs to be prefixed with `/`
12 12 ADMIN_PREFIX = '/_admin'
13 13
14 14
15 15 def make_map(config):
16 16 """Create, configure and return the routes Mapper"""
17 17 rmap = Mapper(directory=config['pylons.paths']['controllers'],
18 18 always_scan=config['debug'])
19 19 rmap.minimization = False
20 20 rmap.explicit = False
21 21
22 22 from rhodecode.lib.utils import is_valid_repo
23 23 from rhodecode.lib.utils import is_valid_repos_group
24 24
25 25 def check_repo(environ, match_dict):
26 26 """
27 27 check for valid repository for proper 404 handling
28 28
29 29 :param environ:
30 30 :param match_dict:
31 31 """
32 32 from rhodecode.model.db import Repository
33 33 repo_name = match_dict.get('repo_name')
34 34
35 35 try:
36 36 by_id = repo_name.split('_')
37 37 if len(by_id) == 2 and by_id[1].isdigit() and by_id[0] == '':
38 38 repo_name = Repository.get(by_id[1]).repo_name
39 39 match_dict['repo_name'] = repo_name
40 40 except:
41 41 pass
42 42
43 43 return is_valid_repo(repo_name, config['base_path'])
44 44
45 45 def check_group(environ, match_dict):
46 46 """
47 47 check for valid repositories group for proper 404 handling
48 48
49 49 :param environ:
50 50 :param match_dict:
51 51 """
52 52 repos_group_name = match_dict.get('group_name')
53 53
54 54 return is_valid_repos_group(repos_group_name, config['base_path'])
55 55
56 56 def check_int(environ, match_dict):
57 57 return match_dict.get('id').isdigit()
58 58
59 59 # The ErrorController route (handles 404/500 error pages); it should
60 60 # likely stay at the top, ensuring it can always be resolved
61 61 rmap.connect('/error/{action}', controller='error')
62 62 rmap.connect('/error/{action}/{id}', controller='error')
63 63
64 64 #==========================================================================
65 65 # CUSTOM ROUTES HERE
66 66 #==========================================================================
67 67
68 68 #MAIN PAGE
69 69 rmap.connect('home', '/', controller='home', action='index')
70 70 rmap.connect('repo_switcher', '/repos', controller='home',
71 71 action='repo_switcher')
72 72 rmap.connect('branch_tag_switcher', '/branches-tags/{repo_name:.*?}',
73 73 controller='home', action='branch_tag_switcher')
74 74 rmap.connect('bugtracker',
75 75 "http://bitbucket.org/marcinkuzminski/rhodecode/issues",
76 76 _static=True)
77 77 rmap.connect('rst_help',
78 78 "http://docutils.sourceforge.net/docs/user/rst/quickref.html",
79 79 _static=True)
80 80 rmap.connect('rhodecode_official', "http://rhodecode.org", _static=True)
81 81
82 82 #ADMIN REPOSITORY REST ROUTES
83 83 with rmap.submapper(path_prefix=ADMIN_PREFIX,
84 84 controller='admin/repos') as m:
85 85 m.connect("repos", "/repos",
86 86 action="create", conditions=dict(method=["POST"]))
87 87 m.connect("repos", "/repos",
88 88 action="index", conditions=dict(method=["GET"]))
89 89 m.connect("formatted_repos", "/repos.{format}",
90 90 action="index",
91 91 conditions=dict(method=["GET"]))
92 92 m.connect("new_repo", "/repos/new",
93 93 action="new", conditions=dict(method=["GET"]))
94 94 m.connect("formatted_new_repo", "/repos/new.{format}",
95 95 action="new", conditions=dict(method=["GET"]))
96 96 m.connect("/repos/{repo_name:.*?}",
97 97 action="update", conditions=dict(method=["PUT"],
98 98 function=check_repo))
99 99 m.connect("/repos/{repo_name:.*?}",
100 100 action="delete", conditions=dict(method=["DELETE"],
101 101 function=check_repo))
102 102 m.connect("edit_repo", "/repos/{repo_name:.*?}/edit",
103 103 action="edit", conditions=dict(method=["GET"],
104 104 function=check_repo))
105 105 m.connect("formatted_edit_repo", "/repos/{repo_name:.*?}.{format}/edit",
106 106 action="edit", conditions=dict(method=["GET"],
107 107 function=check_repo))
108 108 m.connect("repo", "/repos/{repo_name:.*?}",
109 109 action="show", conditions=dict(method=["GET"],
110 110 function=check_repo))
111 111 m.connect("formatted_repo", "/repos/{repo_name:.*?}.{format}",
112 112 action="show", conditions=dict(method=["GET"],
113 113 function=check_repo))
114 114 #ajax delete repo perm user
115 115 m.connect('delete_repo_user', "/repos_delete_user/{repo_name:.*?}",
116 116 action="delete_perm_user",
117 117 conditions=dict(method=["DELETE"], function=check_repo))
118 118
119 119 #ajax delete repo perm users_group
120 120 m.connect('delete_repo_users_group',
121 121 "/repos_delete_users_group/{repo_name:.*?}",
122 122 action="delete_perm_users_group",
123 123 conditions=dict(method=["DELETE"], function=check_repo))
124 124
125 125 #settings actions
126 126 m.connect('repo_stats', "/repos_stats/{repo_name:.*?}",
127 127 action="repo_stats", conditions=dict(method=["DELETE"],
128 128 function=check_repo))
129 129 m.connect('repo_cache', "/repos_cache/{repo_name:.*?}",
130 130 action="repo_cache", conditions=dict(method=["DELETE"],
131 131 function=check_repo))
132 132 m.connect('repo_public_journal', "/repos_public_journal/{repo_name:.*?}",
133 133 action="repo_public_journal", conditions=dict(method=["PUT"],
134 134 function=check_repo))
135 135 m.connect('repo_pull', "/repo_pull/{repo_name:.*?}",
136 136 action="repo_pull", conditions=dict(method=["PUT"],
137 137 function=check_repo))
138 138 m.connect('repo_as_fork', "/repo_as_fork/{repo_name:.*?}",
139 139 action="repo_as_fork", conditions=dict(method=["PUT"],
140 140 function=check_repo))
141 141 m.connect('repo_locking', "/repo_locking/{repo_name:.*?}",
142 142 action="repo_locking", conditions=dict(method=["PUT"],
143 143 function=check_repo))
144
144 145 with rmap.submapper(path_prefix=ADMIN_PREFIX,
145 146 controller='admin/repos_groups') as m:
146 147 m.connect("repos_groups", "/repos_groups",
147 148 action="create", conditions=dict(method=["POST"]))
148 149 m.connect("repos_groups", "/repos_groups",
149 150 action="index", conditions=dict(method=["GET"]))
150 151 m.connect("formatted_repos_groups", "/repos_groups.{format}",
151 152 action="index", conditions=dict(method=["GET"]))
152 153 m.connect("new_repos_group", "/repos_groups/new",
153 154 action="new", conditions=dict(method=["GET"]))
154 155 m.connect("formatted_new_repos_group", "/repos_groups/new.{format}",
155 156 action="new", conditions=dict(method=["GET"]))
156 157 m.connect("update_repos_group", "/repos_groups/{id}",
157 158 action="update", conditions=dict(method=["PUT"],
158 159 function=check_int))
159 160 m.connect("delete_repos_group", "/repos_groups/{id}",
160 161 action="delete", conditions=dict(method=["DELETE"],
161 162 function=check_int))
162 163 m.connect("edit_repos_group", "/repos_groups/{id:.*?}/edit",
163 164 action="edit", conditions=dict(method=["GET"],))
164 165 m.connect("formatted_edit_repos_group",
165 166 "/repos_groups/{id}.{format}/edit",
166 167 action="edit", conditions=dict(method=["GET"],
167 168 function=check_int))
168 169 m.connect("repos_group", "/repos_groups/{id}",
169 170 action="show", conditions=dict(method=["GET"],
170 171 function=check_int))
171 172 m.connect("formatted_repos_group", "/repos_groups/{id}.{format}",
172 173 action="show", conditions=dict(method=["GET"],
173 174 function=check_int))
174 175 # ajax delete repos group perm user
175 176 m.connect('delete_repos_group_user_perm',
176 177 "/delete_repos_group_user_perm/{group_name:.*}",
177 178 action="delete_repos_group_user_perm",
178 179 conditions=dict(method=["DELETE"], function=check_group))
179 180
180 181 # ajax delete repos group perm users_group
181 182 m.connect('delete_repos_group_users_group_perm',
182 183 "/delete_repos_group_users_group_perm/{group_name:.*}",
183 184 action="delete_repos_group_users_group_perm",
184 185 conditions=dict(method=["DELETE"], function=check_group))
185 186
186 187 #ADMIN USER REST ROUTES
187 188 with rmap.submapper(path_prefix=ADMIN_PREFIX,
188 189 controller='admin/users') as m:
189 190 m.connect("users", "/users",
190 191 action="create", conditions=dict(method=["POST"]))
191 192 m.connect("users", "/users",
192 193 action="index", conditions=dict(method=["GET"]))
193 194 m.connect("formatted_users", "/users.{format}",
194 195 action="index", conditions=dict(method=["GET"]))
195 196 m.connect("new_user", "/users/new",
196 197 action="new", conditions=dict(method=["GET"]))
197 198 m.connect("formatted_new_user", "/users/new.{format}",
198 199 action="new", conditions=dict(method=["GET"]))
199 200 m.connect("update_user", "/users/{id}",
200 201 action="update", conditions=dict(method=["PUT"]))
201 202 m.connect("delete_user", "/users/{id}",
202 203 action="delete", conditions=dict(method=["DELETE"]))
203 204 m.connect("edit_user", "/users/{id}/edit",
204 205 action="edit", conditions=dict(method=["GET"]))
205 206 m.connect("formatted_edit_user",
206 207 "/users/{id}.{format}/edit",
207 208 action="edit", conditions=dict(method=["GET"]))
208 209 m.connect("user", "/users/{id}",
209 210 action="show", conditions=dict(method=["GET"]))
210 211 m.connect("formatted_user", "/users/{id}.{format}",
211 212 action="show", conditions=dict(method=["GET"]))
212 213
213 214 #EXTRAS USER ROUTES
214 215 m.connect("user_perm", "/users_perm/{id}",
215 216 action="update_perm", conditions=dict(method=["PUT"]))
216 217 m.connect("user_emails", "/users_emails/{id}",
217 218 action="add_email", conditions=dict(method=["PUT"]))
218 219 m.connect("user_emails_delete", "/users_emails/{id}",
219 220 action="delete_email", conditions=dict(method=["DELETE"]))
220 221
221 222 #ADMIN USERS GROUPS REST ROUTES
222 223 with rmap.submapper(path_prefix=ADMIN_PREFIX,
223 224 controller='admin/users_groups') as m:
224 225 m.connect("users_groups", "/users_groups",
225 226 action="create", conditions=dict(method=["POST"]))
226 227 m.connect("users_groups", "/users_groups",
227 228 action="index", conditions=dict(method=["GET"]))
228 229 m.connect("formatted_users_groups", "/users_groups.{format}",
229 230 action="index", conditions=dict(method=["GET"]))
230 231 m.connect("new_users_group", "/users_groups/new",
231 232 action="new", conditions=dict(method=["GET"]))
232 233 m.connect("formatted_new_users_group", "/users_groups/new.{format}",
233 234 action="new", conditions=dict(method=["GET"]))
234 235 m.connect("update_users_group", "/users_groups/{id}",
235 236 action="update", conditions=dict(method=["PUT"]))
236 237 m.connect("delete_users_group", "/users_groups/{id}",
237 238 action="delete", conditions=dict(method=["DELETE"]))
238 239 m.connect("edit_users_group", "/users_groups/{id}/edit",
239 240 action="edit", conditions=dict(method=["GET"]))
240 241 m.connect("formatted_edit_users_group",
241 242 "/users_groups/{id}.{format}/edit",
242 243 action="edit", conditions=dict(method=["GET"]))
243 244 m.connect("users_group", "/users_groups/{id}",
244 245 action="show", conditions=dict(method=["GET"]))
245 246 m.connect("formatted_users_group", "/users_groups/{id}.{format}",
246 247 action="show", conditions=dict(method=["GET"]))
247 248
248 249 #EXTRAS USER ROUTES
249 250 m.connect("users_group_perm", "/users_groups_perm/{id}",
250 251 action="update_perm", conditions=dict(method=["PUT"]))
251 252
252 253 #ADMIN GROUP REST ROUTES
253 254 rmap.resource('group', 'groups',
254 255 controller='admin/groups', path_prefix=ADMIN_PREFIX)
255 256
256 257 #ADMIN PERMISSIONS REST ROUTES
257 258 rmap.resource('permission', 'permissions',
258 259 controller='admin/permissions', path_prefix=ADMIN_PREFIX)
259 260
260 261 ##ADMIN LDAP SETTINGS
261 262 rmap.connect('ldap_settings', '%s/ldap' % ADMIN_PREFIX,
262 263 controller='admin/ldap_settings', action='ldap_settings',
263 264 conditions=dict(method=["POST"]))
264 265
265 266 rmap.connect('ldap_home', '%s/ldap' % ADMIN_PREFIX,
266 267 controller='admin/ldap_settings')
267 268
268 269 #ADMIN SETTINGS REST ROUTES
269 270 with rmap.submapper(path_prefix=ADMIN_PREFIX,
270 271 controller='admin/settings') as m:
271 272 m.connect("admin_settings", "/settings",
272 273 action="create", conditions=dict(method=["POST"]))
273 274 m.connect("admin_settings", "/settings",
274 275 action="index", conditions=dict(method=["GET"]))
275 276 m.connect("formatted_admin_settings", "/settings.{format}",
276 277 action="index", conditions=dict(method=["GET"]))
277 278 m.connect("admin_new_setting", "/settings/new",
278 279 action="new", conditions=dict(method=["GET"]))
279 280 m.connect("formatted_admin_new_setting", "/settings/new.{format}",
280 281 action="new", conditions=dict(method=["GET"]))
281 282 m.connect("/settings/{setting_id}",
282 283 action="update", conditions=dict(method=["PUT"]))
283 284 m.connect("/settings/{setting_id}",
284 285 action="delete", conditions=dict(method=["DELETE"]))
285 286 m.connect("admin_edit_setting", "/settings/{setting_id}/edit",
286 287 action="edit", conditions=dict(method=["GET"]))
287 288 m.connect("formatted_admin_edit_setting",
288 289 "/settings/{setting_id}.{format}/edit",
289 290 action="edit", conditions=dict(method=["GET"]))
290 291 m.connect("admin_setting", "/settings/{setting_id}",
291 292 action="show", conditions=dict(method=["GET"]))
292 293 m.connect("formatted_admin_setting", "/settings/{setting_id}.{format}",
293 294 action="show", conditions=dict(method=["GET"]))
294 295 m.connect("admin_settings_my_account", "/my_account",
295 296 action="my_account", conditions=dict(method=["GET"]))
296 297 m.connect("admin_settings_my_account_update", "/my_account_update",
297 298 action="my_account_update", conditions=dict(method=["PUT"]))
298 299 m.connect("admin_settings_create_repository", "/create_repository",
299 300 action="create_repository", conditions=dict(method=["GET"]))
300 301 m.connect("admin_settings_my_repos", "/my_account/repos",
301 302 action="my_account_my_repos", conditions=dict(method=["GET"]))
302 303 m.connect("admin_settings_my_pullrequests", "/my_account/pull_requests",
303 304 action="my_account_my_pullrequests", conditions=dict(method=["GET"]))
304 305
305 306 #NOTIFICATION REST ROUTES
306 307 with rmap.submapper(path_prefix=ADMIN_PREFIX,
307 308 controller='admin/notifications') as m:
308 309 m.connect("notifications", "/notifications",
309 310 action="create", conditions=dict(method=["POST"]))
310 311 m.connect("notifications", "/notifications",
311 312 action="index", conditions=dict(method=["GET"]))
312 313 m.connect("notifications_mark_all_read", "/notifications/mark_all_read",
313 314 action="mark_all_read", conditions=dict(method=["GET"]))
314 315 m.connect("formatted_notifications", "/notifications.{format}",
315 316 action="index", conditions=dict(method=["GET"]))
316 317 m.connect("new_notification", "/notifications/new",
317 318 action="new", conditions=dict(method=["GET"]))
318 319 m.connect("formatted_new_notification", "/notifications/new.{format}",
319 320 action="new", conditions=dict(method=["GET"]))
320 321 m.connect("/notification/{notification_id}",
321 322 action="update", conditions=dict(method=["PUT"]))
322 323 m.connect("/notification/{notification_id}",
323 324 action="delete", conditions=dict(method=["DELETE"]))
324 325 m.connect("edit_notification", "/notification/{notification_id}/edit",
325 326 action="edit", conditions=dict(method=["GET"]))
326 327 m.connect("formatted_edit_notification",
327 328 "/notification/{notification_id}.{format}/edit",
328 329 action="edit", conditions=dict(method=["GET"]))
329 330 m.connect("notification", "/notification/{notification_id}",
330 331 action="show", conditions=dict(method=["GET"]))
331 332 m.connect("formatted_notification", "/notifications/{notification_id}.{format}",
332 333 action="show", conditions=dict(method=["GET"]))
333 334
334 335 #ADMIN MAIN PAGES
335 336 with rmap.submapper(path_prefix=ADMIN_PREFIX,
336 337 controller='admin/admin') as m:
337 338 m.connect('admin_home', '', action='index')
338 339 m.connect('admin_add_repo', '/add_repo/{new_repo:[a-z0-9\. _-]*}',
339 340 action='add_repo')
340 341
341 342 #==========================================================================
342 343 # API V2
343 344 #==========================================================================
344 345 with rmap.submapper(path_prefix=ADMIN_PREFIX,
345 346 controller='api/api') as m:
346 347 m.connect('api', '/api')
347 348
348 349 #USER JOURNAL
349 350 rmap.connect('journal', '%s/journal' % ADMIN_PREFIX,
350 351 controller='journal', action='index')
351 352 rmap.connect('journal_rss', '%s/journal/rss' % ADMIN_PREFIX,
352 353 controller='journal', action='journal_rss')
353 354 rmap.connect('journal_atom', '%s/journal/atom' % ADMIN_PREFIX,
354 355 controller='journal', action='journal_atom')
355 356
356 357 rmap.connect('public_journal', '%s/public_journal' % ADMIN_PREFIX,
357 358 controller='journal', action="public_journal")
358 359
359 360 rmap.connect('public_journal_rss', '%s/public_journal/rss' % ADMIN_PREFIX,
360 361 controller='journal', action="public_journal_rss")
361 362
362 363 rmap.connect('public_journal_rss_old', '%s/public_journal_rss' % ADMIN_PREFIX,
363 364 controller='journal', action="public_journal_rss")
364 365
365 366 rmap.connect('public_journal_atom',
366 367 '%s/public_journal/atom' % ADMIN_PREFIX, controller='journal',
367 368 action="public_journal_atom")
368 369
369 370 rmap.connect('public_journal_atom_old',
370 371 '%s/public_journal_atom' % ADMIN_PREFIX, controller='journal',
371 372 action="public_journal_atom")
372 373
373 374 rmap.connect('toggle_following', '%s/toggle_following' % ADMIN_PREFIX,
374 375 controller='journal', action='toggle_following',
375 376 conditions=dict(method=["POST"]))
376 377
377 378 #SEARCH
378 379 rmap.connect('search', '%s/search' % ADMIN_PREFIX, controller='search',)
379 380 rmap.connect('search_repo', '%s/search/{search_repo:.*}' % ADMIN_PREFIX,
380 381 controller='search')
381 382
382 383 #LOGIN/LOGOUT/REGISTER/SIGN IN
383 384 rmap.connect('login_home', '%s/login' % ADMIN_PREFIX, controller='login')
384 385 rmap.connect('logout_home', '%s/logout' % ADMIN_PREFIX, controller='login',
385 386 action='logout')
386 387
387 388 rmap.connect('register', '%s/register' % ADMIN_PREFIX, controller='login',
388 389 action='register')
389 390
390 391 rmap.connect('reset_password', '%s/password_reset' % ADMIN_PREFIX,
391 392 controller='login', action='password_reset')
392 393
393 394 rmap.connect('reset_password_confirmation',
394 395 '%s/password_reset_confirmation' % ADMIN_PREFIX,
395 396 controller='login', action='password_reset_confirmation')
396 397
397 398 #FEEDS
398 399 rmap.connect('rss_feed_home', '/{repo_name:.*?}/feed/rss',
399 400 controller='feed', action='rss',
400 401 conditions=dict(function=check_repo))
401 402
402 403 rmap.connect('atom_feed_home', '/{repo_name:.*?}/feed/atom',
403 404 controller='feed', action='atom',
404 405 conditions=dict(function=check_repo))
405 406
406 407 #==========================================================================
407 408 # REPOSITORY ROUTES
408 409 #==========================================================================
409 410 rmap.connect('summary_home', '/{repo_name:.*?}',
410 411 controller='summary',
411 412 conditions=dict(function=check_repo))
412 413
413 414 rmap.connect('repos_group_home', '/{group_name:.*}',
414 415 controller='admin/repos_groups', action="show_by_name",
415 416 conditions=dict(function=check_group))
416 417
417 418 rmap.connect('changeset_home', '/{repo_name:.*?}/changeset/{revision}',
418 419 controller='changeset', revision='tip',
419 420 conditions=dict(function=check_repo))
420 421
421 422 rmap.connect('changeset_comment',
422 423 '/{repo_name:.*?}/changeset/{revision}/comment',
423 424 controller='changeset', revision='tip', action='comment',
424 425 conditions=dict(function=check_repo))
425 426
426 427 rmap.connect('changeset_comment_delete',
427 428 '/{repo_name:.*?}/changeset/comment/{comment_id}/delete',
428 429 controller='changeset', action='delete_comment',
429 430 conditions=dict(function=check_repo, method=["DELETE"]))
430 431
431 432 rmap.connect('raw_changeset_home',
432 433 '/{repo_name:.*?}/raw-changeset/{revision}',
433 434 controller='changeset', action='raw_changeset',
434 435 revision='tip', conditions=dict(function=check_repo))
435 436
436 437 rmap.connect('compare_url',
437 438 '/{repo_name:.*?}/compare/{org_ref_type}@{org_ref}...{other_ref_type}@{other_ref}',
438 439 controller='compare', action='index',
439 440 conditions=dict(function=check_repo),
440 441 requirements=dict(
441 442 org_ref_type='(branch|book|tag|rev|org_ref_type)',
442 443 other_ref_type='(branch|book|tag|rev|other_ref_type)')
443 444 )
444 445
445 446 rmap.connect('pullrequest_home',
446 447 '/{repo_name:.*?}/pull-request/new', controller='pullrequests',
447 448 action='index', conditions=dict(function=check_repo,
448 449 method=["GET"]))
449 450
450 451 rmap.connect('pullrequest',
451 452 '/{repo_name:.*?}/pull-request/new', controller='pullrequests',
452 453 action='create', conditions=dict(function=check_repo,
453 454 method=["POST"]))
454 455
455 456 rmap.connect('pullrequest_show',
456 457 '/{repo_name:.*?}/pull-request/{pull_request_id}',
457 458 controller='pullrequests',
458 459 action='show', conditions=dict(function=check_repo,
459 460 method=["GET"]))
460 461 rmap.connect('pullrequest_update',
461 462 '/{repo_name:.*?}/pull-request/{pull_request_id}',
462 463 controller='pullrequests',
463 464 action='update', conditions=dict(function=check_repo,
464 465 method=["PUT"]))
465 466 rmap.connect('pullrequest_delete',
466 467 '/{repo_name:.*?}/pull-request/{pull_request_id}',
467 468 controller='pullrequests',
468 469 action='delete', conditions=dict(function=check_repo,
469 470 method=["DELETE"]))
470 471
471 472 rmap.connect('pullrequest_show_all',
472 473 '/{repo_name:.*?}/pull-request',
473 474 controller='pullrequests',
474 475 action='show_all', conditions=dict(function=check_repo,
475 476 method=["GET"]))
476 477
477 478 rmap.connect('pullrequest_comment',
478 479 '/{repo_name:.*?}/pull-request-comment/{pull_request_id}',
479 480 controller='pullrequests',
480 481 action='comment', conditions=dict(function=check_repo,
481 482 method=["POST"]))
482 483
483 484 rmap.connect('pullrequest_comment_delete',
484 485 '/{repo_name:.*?}/pull-request-comment/{comment_id}/delete',
485 486 controller='pullrequests', action='delete_comment',
486 487 conditions=dict(function=check_repo, method=["DELETE"]))
487 488
488 489 rmap.connect('summary_home', '/{repo_name:.*?}/summary',
489 490 controller='summary', conditions=dict(function=check_repo))
490 491
491 492 rmap.connect('shortlog_home', '/{repo_name:.*?}/shortlog',
492 493 controller='shortlog', conditions=dict(function=check_repo))
493 494
494 495 rmap.connect('branches_home', '/{repo_name:.*?}/branches',
495 496 controller='branches', conditions=dict(function=check_repo))
496 497
497 498 rmap.connect('tags_home', '/{repo_name:.*?}/tags',
498 499 controller='tags', conditions=dict(function=check_repo))
499 500
500 501 rmap.connect('bookmarks_home', '/{repo_name:.*?}/bookmarks',
501 502 controller='bookmarks', conditions=dict(function=check_repo))
502 503
503 504 rmap.connect('changelog_home', '/{repo_name:.*?}/changelog',
504 505 controller='changelog', conditions=dict(function=check_repo))
505 506
506 507 rmap.connect('changelog_details', '/{repo_name:.*?}/changelog_details/{cs}',
507 508 controller='changelog', action='changelog_details',
508 509 conditions=dict(function=check_repo))
509 510
510 511 rmap.connect('files_home', '/{repo_name:.*?}/files/{revision}/{f_path:.*}',
511 512 controller='files', revision='tip', f_path='',
512 513 conditions=dict(function=check_repo))
513 514
514 515 rmap.connect('files_diff_home', '/{repo_name:.*?}/diff/{f_path:.*}',
515 516 controller='files', action='diff', revision='tip', f_path='',
516 517 conditions=dict(function=check_repo))
517 518
518 519 rmap.connect('files_rawfile_home',
519 520 '/{repo_name:.*?}/rawfile/{revision}/{f_path:.*}',
520 521 controller='files', action='rawfile', revision='tip',
521 522 f_path='', conditions=dict(function=check_repo))
522 523
523 524 rmap.connect('files_raw_home',
524 525 '/{repo_name:.*?}/raw/{revision}/{f_path:.*}',
525 526 controller='files', action='raw', revision='tip', f_path='',
526 527 conditions=dict(function=check_repo))
527 528
528 529 rmap.connect('files_annotate_home',
529 530 '/{repo_name:.*?}/annotate/{revision}/{f_path:.*}',
530 531 controller='files', action='index', revision='tip',
531 532 f_path='', annotate=True, conditions=dict(function=check_repo))
532 533
533 534 rmap.connect('files_edit_home',
534 535 '/{repo_name:.*?}/edit/{revision}/{f_path:.*}',
535 536 controller='files', action='edit', revision='tip',
536 537 f_path='', conditions=dict(function=check_repo))
537 538
538 539 rmap.connect('files_add_home',
539 540 '/{repo_name:.*?}/add/{revision}/{f_path:.*}',
540 541 controller='files', action='add', revision='tip',
541 542 f_path='', conditions=dict(function=check_repo))
542 543
543 544 rmap.connect('files_archive_home', '/{repo_name:.*?}/archive/{fname}',
544 545 controller='files', action='archivefile',
545 546 conditions=dict(function=check_repo))
546 547
547 548 rmap.connect('files_nodelist_home',
548 549 '/{repo_name:.*?}/nodelist/{revision}/{f_path:.*}',
549 550 controller='files', action='nodelist',
550 551 conditions=dict(function=check_repo))
551 552
552 553 rmap.connect('repo_settings_delete', '/{repo_name:.*?}/settings',
553 554 controller='settings', action="delete",
554 555 conditions=dict(method=["DELETE"], function=check_repo))
555 556
556 557 rmap.connect('repo_settings_update', '/{repo_name:.*?}/settings',
557 558 controller='settings', action="update",
558 559 conditions=dict(method=["PUT"], function=check_repo))
559 560
560 561 rmap.connect('repo_settings_home', '/{repo_name:.*?}/settings',
561 562 controller='settings', action='index',
562 563 conditions=dict(function=check_repo))
563 564
565 rmap.connect('toggle_locking', "/{repo_name:.*?}/locking_toggle",
566 controller='settings', action="toggle_locking",
567 conditions=dict(method=["GET"], function=check_repo))
568
564 569 rmap.connect('repo_fork_create_home', '/{repo_name:.*?}/fork',
565 570 controller='forks', action='fork_create',
566 571 conditions=dict(function=check_repo, method=["POST"]))
567 572
568 573 rmap.connect('repo_fork_home', '/{repo_name:.*?}/fork',
569 574 controller='forks', action='fork',
570 575 conditions=dict(function=check_repo))
571 576
572 577 rmap.connect('repo_forks_home', '/{repo_name:.*?}/forks',
573 578 controller='forks', action='forks',
574 579 conditions=dict(function=check_repo))
575 580
576 581 rmap.connect('repo_followers_home', '/{repo_name:.*?}/followers',
577 582 controller='followers', action='followers',
578 583 conditions=dict(function=check_repo))
579 584
580 585 return rmap
@@ -1,162 +1,191 b''
1 1 # -*- coding: utf-8 -*-
2 2 """
3 3 rhodecode.controllers.settings
4 4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5 5
6 6 Settings controller for rhodecode
7 7
8 8 :created_on: Jun 30, 2010
9 9 :author: marcink
10 10 :copyright: (C) 2010-2012 Marcin Kuzminski <marcin@python-works.com>
11 11 :license: GPLv3, see COPYING for more details.
12 12 """
13 13 # This program is free software: you can redistribute it and/or modify
14 14 # it under the terms of the GNU General Public License as published by
15 15 # the Free Software Foundation, either version 3 of the License, or
16 16 # (at your option) any later version.
17 17 #
18 18 # This program is distributed in the hope that it will be useful,
19 19 # but WITHOUT ANY WARRANTY; without even the implied warranty of
20 20 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 21 # GNU General Public License for more details.
22 22 #
23 23 # You should have received a copy of the GNU General Public License
24 24 # along with this program. If not, see <http://www.gnu.org/licenses/>.
25 25
26 26 import logging
27 27 import traceback
28 28 import formencode
29 29
30 30 from formencode import htmlfill
31 31
32 32 from pylons import tmpl_context as c, request, url
33 33 from pylons.controllers.util import redirect
34 34 from pylons.i18n.translation import _
35 35
36 36 import rhodecode.lib.helpers as h
37 37
38 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator
38 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAllDecorator,\
39 HasRepoPermissionAnyDecorator
39 40 from rhodecode.lib.base import BaseRepoController, render
40 41 from rhodecode.lib.utils import invalidate_cache, action_logger
41 42
42 43 from rhodecode.model.forms import RepoSettingsForm
43 44 from rhodecode.model.repo import RepoModel
44 from rhodecode.model.db import RepoGroup
45 from rhodecode.model.db import RepoGroup, Repository
45 46 from rhodecode.model.meta import Session
46 47 from rhodecode.model.scm import ScmModel
47 48
48 49 log = logging.getLogger(__name__)
49 50
50 51
51 52 class SettingsController(BaseRepoController):
52 53
53 54 @LoginRequired()
54 55 def __before__(self):
55 56 super(SettingsController, self).__before__()
56 57
57 58 def __load_defaults(self):
58 59 c.repo_groups = RepoGroup.groups_choices()
59 60 c.repo_groups_choices = map(lambda k: unicode(k[0]), c.repo_groups)
60 61
61 62 repo_model = RepoModel()
62 63 c.users_array = repo_model.get_users_js()
63 64 c.users_groups_array = repo_model.get_users_groups_js()
64 65 choices, c.landing_revs = ScmModel().get_repo_landing_revs()
65 66 c.landing_revs_choices = choices
66 67
67 68 @HasRepoPermissionAllDecorator('repository.admin')
68 69 def index(self, repo_name):
69 70 repo_model = RepoModel()
70 71 c.repo_info = repo = repo_model.get_by_repo_name(repo_name)
71 72 if not repo:
72 73 h.flash(_('%s repository is not mapped to db perhaps'
73 74 ' it was created or renamed from the file system'
74 75 ' please run the application again'
75 76 ' in order to rescan repositories') % repo_name,
76 77 category='error')
77 78
78 79 return redirect(url('home'))
79 80
80 81 self.__load_defaults()
81 82
82 83 defaults = RepoModel()._get_defaults(repo_name)
83 84
84 85 return htmlfill.render(
85 86 render('settings/repo_settings.html'),
86 87 defaults=defaults,
87 88 encoding="UTF-8",
88 89 force_defaults=False
89 90 )
90 91
91 92 @HasRepoPermissionAllDecorator('repository.admin')
92 93 def update(self, repo_name):
93 94 repo_model = RepoModel()
94 95 changed_name = repo_name
95 96
96 97 self.__load_defaults()
97 98
98 99 _form = RepoSettingsForm(edit=True,
99 100 old_data={'repo_name': repo_name},
100 101 repo_groups=c.repo_groups_choices,
101 102 landing_revs=c.landing_revs_choices)()
102 103 try:
103 104 form_result = _form.to_python(dict(request.POST))
104 105
105 106 repo_model.update(repo_name, form_result)
106 107 invalidate_cache('get_repo_cached_%s' % repo_name)
107 108 h.flash(_('Repository %s updated successfully') % repo_name,
108 109 category='success')
109 110 changed_name = form_result['repo_name_full']
110 111 action_logger(self.rhodecode_user, 'user_updated_repo',
111 112 changed_name, self.ip_addr, self.sa)
112 Session.commit()
113 Session().commit()
113 114 except formencode.Invalid, errors:
114 115 c.repo_info = repo_model.get_by_repo_name(repo_name)
115 116 c.users_array = repo_model.get_users_js()
116 117 errors.value.update({'user': c.repo_info.user.username})
117 118 return htmlfill.render(
118 119 render('settings/repo_settings.html'),
119 120 defaults=errors.value,
120 121 errors=errors.error_dict or {},
121 122 prefix_error=False,
122 123 encoding="UTF-8")
123 124 except Exception:
124 125 log.error(traceback.format_exc())
125 126 h.flash(_('error occurred during update of repository %s') \
126 127 % repo_name, category='error')
127 128
128 129 return redirect(url('repo_settings_home', repo_name=changed_name))
129 130
130 131 @HasRepoPermissionAllDecorator('repository.admin')
131 132 def delete(self, repo_name):
132 133 """DELETE /repos/repo_name: Delete an existing item"""
133 134 # Forms posted to this method should contain a hidden field:
134 135 # <input type="hidden" name="_method" value="DELETE" />
135 136 # Or using helpers:
136 137 # h.form(url('repo_settings_delete', repo_name=ID),
137 138 # method='delete')
138 139 # url('repo_settings_delete', repo_name=ID)
139 140
140 141 repo_model = RepoModel()
141 142 repo = repo_model.get_by_repo_name(repo_name)
142 143 if not repo:
143 144 h.flash(_('%s repository is not mapped to db perhaps'
144 145 ' it was moved or renamed from the filesystem'
145 146 ' please run the application again'
146 147 ' in order to rescan repositories') % repo_name,
147 148 category='error')
148 149
149 150 return redirect(url('home'))
150 151 try:
151 152 action_logger(self.rhodecode_user, 'user_deleted_repo',
152 153 repo_name, self.ip_addr, self.sa)
153 154 repo_model.delete(repo)
154 155 invalidate_cache('get_repo_cached_%s' % repo_name)
155 156 h.flash(_('deleted repository %s') % repo_name, category='success')
156 Session.commit()
157 Session().commit()
157 158 except Exception:
158 159 log.error(traceback.format_exc())
159 160 h.flash(_('An error occurred during deletion of %s') % repo_name,
160 161 category='error')
161 162
162 163 return redirect(url('home'))
164
165 @HasRepoPermissionAnyDecorator('repository.write', 'repository.admin')
166 def toggle_locking(self, repo_name):
167 """
168 Toggle locking of repository by simple GET call to url
169
170 :param repo_name:
171 """
172
173 try:
174 repo = Repository.get_by_repo_name(repo_name)
175
176 if repo.enable_locking:
177 if repo.locked[0]:
178 Repository.unlock(repo)
179 action = _('unlocked')
180 else:
181 Repository.lock(repo, c.rhodecode_user.user_id)
182 action = _('locked')
183
184 h.flash(_('Repository has been %s') % action,
185 category='success')
186 except Exception, e:
187 log.error(traceback.format_exc())
188 h.flash(_('An error occurred during unlocking'),
189 category='error')
190 return redirect(url('summary_home', repo_name=repo_name))
191
@@ -1,4644 +1,4662 b''
1 1 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td
2 2 {
3 3 border: 0;
4 4 outline: 0;
5 5 font-size: 100%;
6 6 vertical-align: baseline;
7 7 background: transparent;
8 8 margin: 0;
9 9 padding: 0;
10 10 }
11 11
12 12 body {
13 13 line-height: 1;
14 14 height: 100%;
15 15 background: url("../images/background.png") repeat scroll 0 0 #B0B0B0;
16 16 font-family: Lucida Grande, Verdana, Lucida Sans Regular,
17 17 Lucida Sans Unicode, Arial, sans-serif; font-size : 12px;
18 18 color: #000;
19 19 margin: 0;
20 20 padding: 0;
21 21 font-size: 12px;
22 22 }
23 23
24 24 ol,ul {
25 25 list-style: none;
26 26 }
27 27
28 28 blockquote,q {
29 29 quotes: none;
30 30 }
31 31
32 32 blockquote:before,blockquote:after,q:before,q:after {
33 33 content: none;
34 34 }
35 35
36 36 :focus {
37 37 outline: 0;
38 38 }
39 39
40 40 del {
41 41 text-decoration: line-through;
42 42 }
43 43
44 44 table {
45 45 border-collapse: collapse;
46 46 border-spacing: 0;
47 47 }
48 48
49 49 html {
50 50 height: 100%;
51 51 }
52 52
53 53 a {
54 54 color: #003367;
55 55 text-decoration: none;
56 56 cursor: pointer;
57 57 }
58 58
59 59 a:hover {
60 60 color: #316293;
61 61 text-decoration: underline;
62 62 }
63 63
64 64 h1,h2,h3,h4,h5,h6 {
65 65 color: #292929;
66 66 font-weight: 700;
67 67 }
68 68
69 69 h1 {
70 70 font-size: 22px;
71 71 }
72 72
73 73 h2 {
74 74 font-size: 20px;
75 75 }
76 76
77 77 h3 {
78 78 font-size: 18px;
79 79 }
80 80
81 81 h4 {
82 82 font-size: 16px;
83 83 }
84 84
85 85 h5 {
86 86 font-size: 14px;
87 87 }
88 88
89 89 h6 {
90 90 font-size: 11px;
91 91 }
92 92
93 93 ul.circle {
94 94 list-style-type: circle;
95 95 }
96 96
97 97 ul.disc {
98 98 list-style-type: disc;
99 99 }
100 100
101 101 ul.square {
102 102 list-style-type: square;
103 103 }
104 104
105 105 ol.lower-roman {
106 106 list-style-type: lower-roman;
107 107 }
108 108
109 109 ol.upper-roman {
110 110 list-style-type: upper-roman;
111 111 }
112 112
113 113 ol.lower-alpha {
114 114 list-style-type: lower-alpha;
115 115 }
116 116
117 117 ol.upper-alpha {
118 118 list-style-type: upper-alpha;
119 119 }
120 120
121 121 ol.decimal {
122 122 list-style-type: decimal;
123 123 }
124 124
125 125 div.color {
126 126 clear: both;
127 127 overflow: hidden;
128 128 position: absolute;
129 129 background: #FFF;
130 130 margin: 7px 0 0 60px;
131 131 padding: 1px 1px 1px 0;
132 132 }
133 133
134 134 div.color a {
135 135 width: 15px;
136 136 height: 15px;
137 137 display: block;
138 138 float: left;
139 139 margin: 0 0 0 1px;
140 140 padding: 0;
141 141 }
142 142
143 143 div.options {
144 144 clear: both;
145 145 overflow: hidden;
146 146 position: absolute;
147 147 background: #FFF;
148 148 margin: 7px 0 0 162px;
149 149 padding: 0;
150 150 }
151 151
152 152 div.options a {
153 153 height: 1%;
154 154 display: block;
155 155 text-decoration: none;
156 156 margin: 0;
157 157 padding: 3px 8px;
158 158 }
159 159
160 160 .top-left-rounded-corner {
161 161 -webkit-border-top-left-radius: 8px;
162 162 -khtml-border-radius-topleft: 8px;
163 163 -moz-border-radius-topleft: 8px;
164 164 border-top-left-radius: 8px;
165 165 }
166 166
167 167 .top-right-rounded-corner {
168 168 -webkit-border-top-right-radius: 8px;
169 169 -khtml-border-radius-topright: 8px;
170 170 -moz-border-radius-topright: 8px;
171 171 border-top-right-radius: 8px;
172 172 }
173 173
174 174 .bottom-left-rounded-corner {
175 175 -webkit-border-bottom-left-radius: 8px;
176 176 -khtml-border-radius-bottomleft: 8px;
177 177 -moz-border-radius-bottomleft: 8px;
178 178 border-bottom-left-radius: 8px;
179 179 }
180 180
181 181 .bottom-right-rounded-corner {
182 182 -webkit-border-bottom-right-radius: 8px;
183 183 -khtml-border-radius-bottomright: 8px;
184 184 -moz-border-radius-bottomright: 8px;
185 185 border-bottom-right-radius: 8px;
186 186 }
187 187
188 188 .top-left-rounded-corner-mid {
189 189 -webkit-border-top-left-radius: 4px;
190 190 -khtml-border-radius-topleft: 4px;
191 191 -moz-border-radius-topleft: 4px;
192 192 border-top-left-radius: 4px;
193 193 }
194 194
195 195 .top-right-rounded-corner-mid {
196 196 -webkit-border-top-right-radius: 4px;
197 197 -khtml-border-radius-topright: 4px;
198 198 -moz-border-radius-topright: 4px;
199 199 border-top-right-radius: 4px;
200 200 }
201 201
202 202 .bottom-left-rounded-corner-mid {
203 203 -webkit-border-bottom-left-radius: 4px;
204 204 -khtml-border-radius-bottomleft: 4px;
205 205 -moz-border-radius-bottomleft: 4px;
206 206 border-bottom-left-radius: 4px;
207 207 }
208 208
209 209 .bottom-right-rounded-corner-mid {
210 210 -webkit-border-bottom-right-radius: 4px;
211 211 -khtml-border-radius-bottomright: 4px;
212 212 -moz-border-radius-bottomright: 4px;
213 213 border-bottom-right-radius: 4px;
214 214 }
215 215
216 216 .help-block {
217 217 color: #999999;
218 218 display: block;
219 219 margin-bottom: 0;
220 220 margin-top: 5px;
221 221 }
222 222
223 223 .empty_data{
224 224 color:#B9B9B9;
225 225 }
226 226
227 227 a.permalink{
228 228 visibility: hidden;
229 229 }
230 230
231 231 a.permalink:hover{
232 232 text-decoration: none;
233 233 }
234 234
235 235 h1:hover > a.permalink,
236 236 h2:hover > a.permalink,
237 237 h3:hover > a.permalink,
238 238 h4:hover > a.permalink,
239 239 h5:hover > a.permalink,
240 240 h6:hover > a.permalink,
241 241 div:hover > a.permalink {
242 242 visibility: visible;
243 243 }
244 244
245 245 #header {
246 246 margin: 0;
247 247 padding: 0 10px;
248 248 }
249 249
250 250 #header ul#logged-user {
251 251 margin-bottom: 5px !important;
252 252 -webkit-border-radius: 0px 0px 8px 8px;
253 253 -khtml-border-radius: 0px 0px 8px 8px;
254 254 -moz-border-radius: 0px 0px 8px 8px;
255 255 border-radius: 0px 0px 8px 8px;
256 256 height: 37px;
257 257 background-color: #003B76;
258 258 background-repeat: repeat-x;
259 259 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
260 260 background-image: -moz-linear-gradient(top, #003b76, #00376e);
261 261 background-image: -ms-linear-gradient(top, #003b76, #00376e);
262 262 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
263 263 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
264 264 background-image: -o-linear-gradient(top, #003b76, #00376e);
265 265 background-image: linear-gradient(top, #003b76, #00376e);
266 266 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
267 267 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
268 268 }
269 269
270 270 #header ul#logged-user li {
271 271 list-style: none;
272 272 float: left;
273 273 margin: 8px 0 0;
274 274 padding: 4px 12px;
275 275 border-left: 1px solid #316293;
276 276 }
277 277
278 278 #header ul#logged-user li.first {
279 279 border-left: none;
280 280 margin: 4px;
281 281 }
282 282
283 283 #header ul#logged-user li.first div.gravatar {
284 284 margin-top: -2px;
285 285 }
286 286
287 287 #header ul#logged-user li.first div.account {
288 288 padding-top: 4px;
289 289 float: left;
290 290 }
291 291
292 292 #header ul#logged-user li.last {
293 293 border-right: none;
294 294 }
295 295
296 296 #header ul#logged-user li a {
297 297 color: #fff;
298 298 font-weight: 700;
299 299 text-decoration: none;
300 300 }
301 301
302 302 #header ul#logged-user li a:hover {
303 303 text-decoration: underline;
304 304 }
305 305
306 306 #header ul#logged-user li.highlight a {
307 307 color: #fff;
308 308 }
309 309
310 310 #header ul#logged-user li.highlight a:hover {
311 311 color: #FFF;
312 312 }
313 313
314 314 #header #header-inner {
315 315 min-height: 44px;
316 316 clear: both;
317 317 position: relative;
318 318 background-color: #003B76;
319 319 background-repeat: repeat-x;
320 320 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
321 321 background-image: -moz-linear-gradient(top, #003b76, #00376e);
322 322 background-image: -ms-linear-gradient(top, #003b76, #00376e);
323 323 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76),color-stop(100%, #00376e) );
324 324 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
325 325 background-image: -o-linear-gradient(top, #003b76, #00376e);
326 326 background-image: linear-gradient(top, #003b76, #00376e);
327 327 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',endColorstr='#00376e', GradientType=0 );
328 328 margin: 0;
329 329 padding: 0;
330 330 display: block;
331 331 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
332 332 -webkit-border-radius: 4px 4px 4px 4px;
333 333 -khtml-border-radius: 4px 4px 4px 4px;
334 334 -moz-border-radius: 4px 4px 4px 4px;
335 335 border-radius: 4px 4px 4px 4px;
336 336 }
337 337 #header #header-inner.hover{
338 338 position: fixed !important;
339 339 width: 100% !important;
340 340 margin-left: -10px !important;
341 341 z-index: 10000;
342 342 -webkit-border-radius: 0px 0px 0px 0px;
343 343 -khtml-border-radius: 0px 0px 0px 0px;
344 344 -moz-border-radius: 0px 0px 0px 0px;
345 345 border-radius: 0px 0px 0px 0px;
346 346 }
347 347
348 348 .ie7 #header #header-inner.hover,
349 349 .ie8 #header #header-inner.hover,
350 350 .ie9 #header #header-inner.hover
351 351 {
352 352 z-index: auto !important;
353 353 }
354 354
355 355 .header-pos-fix{
356 356 margin-top: -44px;
357 357 padding-top: 44px;
358 358 }
359 359
360 360 #header #header-inner #home a {
361 361 height: 40px;
362 362 width: 46px;
363 363 display: block;
364 364 background: url("../images/button_home.png");
365 365 background-position: 0 0;
366 366 margin: 0;
367 367 padding: 0;
368 368 }
369 369
370 370 #header #header-inner #home a:hover {
371 371 background-position: 0 -40px;
372 372 }
373 373
374 374 #header #header-inner #logo {
375 375 float: left;
376 376 position: absolute;
377 377 }
378 378
379 379 #header #header-inner #logo h1 {
380 380 color: #FFF;
381 381 font-size: 20px;
382 382 margin: 12px 0 0 13px;
383 383 padding: 0;
384 384 }
385 385
386 386 #header #header-inner #logo a {
387 387 color: #fff;
388 388 text-decoration: none;
389 389 }
390 390
391 391 #header #header-inner #logo a:hover {
392 392 color: #bfe3ff;
393 393 }
394 394
395 395 #header #header-inner #quick,#header #header-inner #quick ul {
396 396 position: relative;
397 397 float: right;
398 398 list-style-type: none;
399 399 list-style-position: outside;
400 400 margin: 8px 8px 0 0;
401 401 padding: 0;
402 402 }
403 403
404 404 #header #header-inner #quick li {
405 405 position: relative;
406 406 float: left;
407 407 margin: 0 5px 0 0;
408 408 padding: 0;
409 409 }
410 410
411 411 #header #header-inner #quick li a.menu_link {
412 412 top: 0;
413 413 left: 0;
414 414 height: 1%;
415 415 display: block;
416 416 clear: both;
417 417 overflow: hidden;
418 418 color: #FFF;
419 419 font-weight: 700;
420 420 text-decoration: none;
421 421 background: #369;
422 422 padding: 0;
423 423 -webkit-border-radius: 4px 4px 4px 4px;
424 424 -khtml-border-radius: 4px 4px 4px 4px;
425 425 -moz-border-radius: 4px 4px 4px 4px;
426 426 border-radius: 4px 4px 4px 4px;
427 427 }
428 428
429 429 #header #header-inner #quick li span.short {
430 430 padding: 9px 6px 8px 6px;
431 431 }
432 432
433 433 #header #header-inner #quick li span {
434 434 top: 0;
435 435 right: 0;
436 436 height: 1%;
437 437 display: block;
438 438 float: left;
439 439 border-left: 1px solid #3f6f9f;
440 440 margin: 0;
441 441 padding: 10px 12px 8px 10px;
442 442 }
443 443
444 444 #header #header-inner #quick li span.normal {
445 445 border: none;
446 446 padding: 10px 12px 8px;
447 447 }
448 448
449 449 #header #header-inner #quick li span.icon {
450 450 top: 0;
451 451 left: 0;
452 452 border-left: none;
453 453 border-right: 1px solid #2e5c89;
454 454 padding: 8px 6px 4px;
455 455 }
456 456
457 457 #header #header-inner #quick li span.icon_short {
458 458 top: 0;
459 459 left: 0;
460 460 border-left: none;
461 461 border-right: 1px solid #2e5c89;
462 462 padding: 8px 6px 4px;
463 463 }
464 464
465 465 #header #header-inner #quick li span.icon img,#header #header-inner #quick li span.icon_short img
466 466 {
467 467 margin: 0px -2px 0px 0px;
468 468 }
469 469
470 470 #header #header-inner #quick li a:hover {
471 471 background: #4e4e4e no-repeat top left;
472 472 }
473 473
474 474 #header #header-inner #quick li a:hover span {
475 475 border-left: 1px solid #545454;
476 476 }
477 477
478 478 #header #header-inner #quick li a:hover span.icon,#header #header-inner #quick li a:hover span.icon_short
479 479 {
480 480 border-left: none;
481 481 border-right: 1px solid #464646;
482 482 }
483 483
484 484 #header #header-inner #quick ul {
485 485 top: 29px;
486 486 right: 0;
487 487 min-width: 200px;
488 488 display: none;
489 489 position: absolute;
490 490 background: #FFF;
491 491 border: 1px solid #666;
492 492 border-top: 1px solid #003367;
493 493 z-index: 100;
494 494 margin: 0px 0px 0px 0px;
495 495 padding: 0;
496 496 }
497 497
498 498 #header #header-inner #quick ul.repo_switcher {
499 499 max-height: 275px;
500 500 overflow-x: hidden;
501 501 overflow-y: auto;
502 502 }
503 503
504 504 #header #header-inner #quick ul.repo_switcher li.qfilter_rs {
505 505 float: none;
506 506 margin: 0;
507 507 border-bottom: 2px solid #003367;
508 508 }
509 509
510 510 #header #header-inner #quick .repo_switcher_type {
511 511 position: absolute;
512 512 left: 0;
513 513 top: 9px;
514 514 }
515 515
516 516 #header #header-inner #quick li ul li {
517 517 border-bottom: 1px solid #ddd;
518 518 }
519 519
520 520 #header #header-inner #quick li ul li a {
521 521 width: 182px;
522 522 height: auto;
523 523 display: block;
524 524 float: left;
525 525 background: #FFF;
526 526 color: #003367;
527 527 font-weight: 400;
528 528 margin: 0;
529 529 padding: 7px 9px;
530 530 }
531 531
532 532 #header #header-inner #quick li ul li a:hover {
533 533 color: #000;
534 534 background: #FFF;
535 535 }
536 536
537 537 #header #header-inner #quick ul ul {
538 538 top: auto;
539 539 }
540 540
541 541 #header #header-inner #quick li ul ul {
542 542 right: 200px;
543 543 max-height: 275px;
544 544 overflow: auto;
545 545 overflow-x: hidden;
546 546 white-space: normal;
547 547 }
548 548
549 549 #header #header-inner #quick li ul li a.journal,#header #header-inner #quick li ul li a.journal:hover
550 550 {
551 551 background: url("../images/icons/book.png") no-repeat scroll 4px 9px
552 552 #FFF;
553 553 width: 167px;
554 554 margin: 0;
555 555 padding: 12px 9px 7px 24px;
556 556 }
557 557
558 558 #header #header-inner #quick li ul li a.private_repo,#header #header-inner #quick li ul li a.private_repo:hover
559 559 {
560 560 background: url("../images/icons/lock.png") no-repeat scroll 4px 9px
561 561 #FFF;
562 562 min-width: 167px;
563 563 margin: 0;
564 564 padding: 12px 9px 7px 24px;
565 565 }
566 566
567 567 #header #header-inner #quick li ul li a.public_repo,#header #header-inner #quick li ul li a.public_repo:hover
568 568 {
569 569 background: url("../images/icons/lock_open.png") no-repeat scroll 4px
570 570 9px #FFF;
571 571 min-width: 167px;
572 572 margin: 0;
573 573 padding: 12px 9px 7px 24px;
574 574 }
575 575
576 576 #header #header-inner #quick li ul li a.hg,#header #header-inner #quick li ul li a.hg:hover
577 577 {
578 578 background: url("../images/icons/hgicon.png") no-repeat scroll 4px 9px
579 579 #FFF;
580 580 min-width: 167px;
581 581 margin: 0 0 0 14px;
582 582 padding: 12px 9px 7px 24px;
583 583 }
584 584
585 585 #header #header-inner #quick li ul li a.git,#header #header-inner #quick li ul li a.git:hover
586 586 {
587 587 background: url("../images/icons/giticon.png") no-repeat scroll 4px 9px
588 588 #FFF;
589 589 min-width: 167px;
590 590 margin: 0 0 0 14px;
591 591 padding: 12px 9px 7px 24px;
592 592 }
593 593
594 594 #header #header-inner #quick li ul li a.repos,#header #header-inner #quick li ul li a.repos:hover
595 595 {
596 596 background: url("../images/icons/database_edit.png") no-repeat scroll
597 597 4px 9px #FFF;
598 598 width: 167px;
599 599 margin: 0;
600 600 padding: 12px 9px 7px 24px;
601 601 }
602 602
603 603 #header #header-inner #quick li ul li a.repos_groups,#header #header-inner #quick li ul li a.repos_groups:hover
604 604 {
605 605 background: url("../images/icons/database_link.png") no-repeat scroll
606 606 4px 9px #FFF;
607 607 width: 167px;
608 608 margin: 0;
609 609 padding: 12px 9px 7px 24px;
610 610 }
611 611
612 612 #header #header-inner #quick li ul li a.users,#header #header-inner #quick li ul li a.users:hover
613 613 {
614 614 background: #FFF url("../images/icons/user_edit.png") no-repeat 4px 9px;
615 615 width: 167px;
616 616 margin: 0;
617 617 padding: 12px 9px 7px 24px;
618 618 }
619 619
620 620 #header #header-inner #quick li ul li a.groups,#header #header-inner #quick li ul li a.groups:hover
621 621 {
622 622 background: #FFF url("../images/icons/group_edit.png") no-repeat 4px 9px;
623 623 width: 167px;
624 624 margin: 0;
625 625 padding: 12px 9px 7px 24px;
626 626 }
627 627
628 628 #header #header-inner #quick li ul li a.settings,#header #header-inner #quick li ul li a.settings:hover
629 629 {
630 630 background: #FFF url("../images/icons/cog.png") no-repeat 4px 9px;
631 631 width: 167px;
632 632 margin: 0;
633 633 padding: 12px 9px 7px 24px;
634 634 }
635 635
636 636 #header #header-inner #quick li ul li a.permissions,#header #header-inner #quick li ul li a.permissions:hover
637 637 {
638 638 background: #FFF url("../images/icons/key.png") no-repeat 4px 9px;
639 639 width: 167px;
640 640 margin: 0;
641 641 padding: 12px 9px 7px 24px;
642 642 }
643 643
644 644 #header #header-inner #quick li ul li a.ldap,#header #header-inner #quick li ul li a.ldap:hover
645 645 {
646 646 background: #FFF url("../images/icons/server_key.png") no-repeat 4px 9px;
647 647 width: 167px;
648 648 margin: 0;
649 649 padding: 12px 9px 7px 24px;
650 650 }
651 651
652 652 #header #header-inner #quick li ul li a.fork,#header #header-inner #quick li ul li a.fork:hover
653 653 {
654 654 background: #FFF url("../images/icons/arrow_divide.png") no-repeat 4px
655 655 9px;
656 656 width: 167px;
657 657 margin: 0;
658 658 padding: 12px 9px 7px 24px;
659 659 }
660 660
661 #header #header-inner #quick li ul li a.locking_add,#header #header-inner #quick li ul li a.locking_add:hover
662 {
663 background: #FFF url("../images/icons/lock_add.png") no-repeat 4px
664 9px;
665 width: 167px;
666 margin: 0;
667 padding: 12px 9px 7px 24px;
668 }
669
670 #header #header-inner #quick li ul li a.locking_del,#header #header-inner #quick li ul li a.locking_del:hover
671 {
672 background: #FFF url("../images/icons/lock_delete.png") no-repeat 4px
673 9px;
674 width: 167px;
675 margin: 0;
676 padding: 12px 9px 7px 24px;
677 }
678
661 679 #header #header-inner #quick li ul li a.pull_request,#header #header-inner #quick li ul li a.pull_request:hover
662 680 {
663 681 background: #FFF url("../images/icons/arrow_join.png") no-repeat 4px
664 682 9px;
665 683 width: 167px;
666 684 margin: 0;
667 685 padding: 12px 9px 7px 24px;
668 686 }
669 687
670 688 #header #header-inner #quick li ul li a.search,#header #header-inner #quick li ul li a.search:hover
671 689 {
672 690 background: #FFF url("../images/icons/search_16.png") no-repeat 4px 9px;
673 691 width: 167px;
674 692 margin: 0;
675 693 padding: 12px 9px 7px 24px;
676 694 }
677 695
678 696 #header #header-inner #quick li ul li a.delete,#header #header-inner #quick li ul li a.delete:hover
679 697 {
680 698 background: #FFF url("../images/icons/delete.png") no-repeat 4px 9px;
681 699 width: 167px;
682 700 margin: 0;
683 701 padding: 12px 9px 7px 24px;
684 702 }
685 703
686 704 #header #header-inner #quick li ul li a.branches,#header #header-inner #quick li ul li a.branches:hover
687 705 {
688 706 background: #FFF url("../images/icons/arrow_branch.png") no-repeat 4px
689 707 9px;
690 708 width: 167px;
691 709 margin: 0;
692 710 padding: 12px 9px 7px 24px;
693 711 }
694 712
695 713 #header #header-inner #quick li ul li a.tags,
696 714 #header #header-inner #quick li ul li a.tags:hover{
697 715 background: #FFF url("../images/icons/tag_blue.png") no-repeat 4px 9px;
698 716 width: 167px;
699 717 margin: 0;
700 718 padding: 12px 9px 7px 24px;
701 719 }
702 720
703 721 #header #header-inner #quick li ul li a.bookmarks,
704 722 #header #header-inner #quick li ul li a.bookmarks:hover{
705 723 background: #FFF url("../images/icons/tag_green.png") no-repeat 4px 9px;
706 724 width: 167px;
707 725 margin: 0;
708 726 padding: 12px 9px 7px 24px;
709 727 }
710 728
711 729 #header #header-inner #quick li ul li a.admin,
712 730 #header #header-inner #quick li ul li a.admin:hover{
713 731 background: #FFF url("../images/icons/cog_edit.png") no-repeat 4px 9px;
714 732 width: 167px;
715 733 margin: 0;
716 734 padding: 12px 9px 7px 24px;
717 735 }
718 736
719 737 .groups_breadcrumbs a {
720 738 color: #fff;
721 739 }
722 740
723 741 .groups_breadcrumbs a:hover {
724 742 color: #bfe3ff;
725 743 text-decoration: none;
726 744 }
727 745
728 746 td.quick_repo_menu {
729 747 background: #FFF url("../images/vertical-indicator.png") 8px 50% no-repeat !important;
730 748 cursor: pointer;
731 749 width: 8px;
732 750 border: 1px solid transparent;
733 751 }
734 752
735 753 td.quick_repo_menu.active {
736 754 background: url("../images/dt-arrow-dn.png") no-repeat scroll 5px 50% #FFFFFF !important;
737 755 border: 1px solid #003367;
738 756 box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
739 757 cursor: pointer;
740 758 }
741 759
742 760 td.quick_repo_menu .menu_items {
743 761 margin-top: 10px;
744 762 margin-left:-6px;
745 763 width: 150px;
746 764 position: absolute;
747 765 background-color: #FFF;
748 766 background: none repeat scroll 0 0 #FFFFFF;
749 767 border-color: #003367 #666666 #666666;
750 768 border-right: 1px solid #666666;
751 769 border-style: solid;
752 770 border-width: 1px;
753 771 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
754 772 border-top-style: none;
755 773 }
756 774
757 775 td.quick_repo_menu .menu_items li {
758 776 padding: 0 !important;
759 777 }
760 778
761 779 td.quick_repo_menu .menu_items a {
762 780 display: block;
763 781 padding: 4px 12px 4px 8px;
764 782 }
765 783
766 784 td.quick_repo_menu .menu_items a:hover {
767 785 background-color: #EEE;
768 786 text-decoration: none;
769 787 }
770 788
771 789 td.quick_repo_menu .menu_items .icon img {
772 790 margin-bottom: -2px;
773 791 }
774 792
775 793 td.quick_repo_menu .menu_items.hidden {
776 794 display: none;
777 795 }
778 796
779 797 .yui-dt-first th {
780 798 text-align: left;
781 799 }
782 800
783 801 /*
784 802 Copyright (c) 2011, Yahoo! Inc. All rights reserved.
785 803 Code licensed under the BSD License:
786 804 http://developer.yahoo.com/yui/license.html
787 805 version: 2.9.0
788 806 */
789 807 .yui-skin-sam .yui-dt-mask {
790 808 position: absolute;
791 809 z-index: 9500;
792 810 }
793 811 .yui-dt-tmp {
794 812 position: absolute;
795 813 left: -9000px;
796 814 }
797 815 .yui-dt-scrollable .yui-dt-bd { overflow: auto }
798 816 .yui-dt-scrollable .yui-dt-hd {
799 817 overflow: hidden;
800 818 position: relative;
801 819 }
802 820 .yui-dt-scrollable .yui-dt-bd thead tr,
803 821 .yui-dt-scrollable .yui-dt-bd thead th {
804 822 position: absolute;
805 823 left: -1500px;
806 824 }
807 825 .yui-dt-scrollable tbody { -moz-outline: 0 }
808 826 .yui-skin-sam thead .yui-dt-sortable { cursor: pointer }
809 827 .yui-skin-sam thead .yui-dt-draggable { cursor: move }
810 828 .yui-dt-coltarget {
811 829 position: absolute;
812 830 z-index: 999;
813 831 }
814 832 .yui-dt-hd { zoom: 1 }
815 833 th.yui-dt-resizeable .yui-dt-resizerliner { position: relative }
816 834 .yui-dt-resizer {
817 835 position: absolute;
818 836 right: 0;
819 837 bottom: 0;
820 838 height: 100%;
821 839 cursor: e-resize;
822 840 cursor: col-resize;
823 841 background-color: #CCC;
824 842 opacity: 0;
825 843 filter: alpha(opacity=0);
826 844 }
827 845 .yui-dt-resizerproxy {
828 846 visibility: hidden;
829 847 position: absolute;
830 848 z-index: 9000;
831 849 background-color: #CCC;
832 850 opacity: 0;
833 851 filter: alpha(opacity=0);
834 852 }
835 853 th.yui-dt-hidden .yui-dt-liner,
836 854 td.yui-dt-hidden .yui-dt-liner,
837 855 th.yui-dt-hidden .yui-dt-resizer { display: none }
838 856 .yui-dt-editor,
839 857 .yui-dt-editor-shim {
840 858 position: absolute;
841 859 z-index: 9000;
842 860 }
843 861 .yui-skin-sam .yui-dt table {
844 862 margin: 0;
845 863 padding: 0;
846 864 font-family: arial;
847 865 font-size: inherit;
848 866 border-collapse: separate;
849 867 *border-collapse: collapse;
850 868 border-spacing: 0;
851 869 border: 1px solid #7f7f7f;
852 870 }
853 871 .yui-skin-sam .yui-dt thead { border-spacing: 0 }
854 872 .yui-skin-sam .yui-dt caption {
855 873 color: #000;
856 874 font-size: 85%;
857 875 font-weight: normal;
858 876 font-style: italic;
859 877 line-height: 1;
860 878 padding: 1em 0;
861 879 text-align: center;
862 880 }
863 881 .yui-skin-sam .yui-dt th { background: #d8d8da url(../images/sprite.png) repeat-x 0 0 }
864 882 .yui-skin-sam .yui-dt th,
865 883 .yui-skin-sam .yui-dt th a {
866 884 font-weight: normal;
867 885 text-decoration: none;
868 886 color: #000;
869 887 vertical-align: bottom;
870 888 }
871 889 .yui-skin-sam .yui-dt th {
872 890 margin: 0;
873 891 padding: 0;
874 892 border: 0;
875 893 border-right: 1px solid #cbcbcb;
876 894 }
877 895 .yui-skin-sam .yui-dt tr.yui-dt-first td { border-top: 1px solid #7f7f7f }
878 896 .yui-skin-sam .yui-dt th .yui-dt-liner { white-space: nowrap }
879 897 .yui-skin-sam .yui-dt-liner {
880 898 margin: 0;
881 899 padding: 0;
882 900 }
883 901 .yui-skin-sam .yui-dt-coltarget {
884 902 width: 5px;
885 903 background-color: red;
886 904 }
887 905 .yui-skin-sam .yui-dt td {
888 906 margin: 0;
889 907 padding: 0;
890 908 border: 0;
891 909 border-right: 1px solid #cbcbcb;
892 910 text-align: left;
893 911 }
894 912 .yui-skin-sam .yui-dt-list td { border-right: 0 }
895 913 .yui-skin-sam .yui-dt-resizer { width: 6px }
896 914 .yui-skin-sam .yui-dt-mask {
897 915 background-color: #000;
898 916 opacity: .25;
899 917 filter: alpha(opacity=25);
900 918 }
901 919 .yui-skin-sam .yui-dt-message { background-color: #FFF }
902 920 .yui-skin-sam .yui-dt-scrollable table { border: 0 }
903 921 .yui-skin-sam .yui-dt-scrollable .yui-dt-hd {
904 922 border-left: 1px solid #7f7f7f;
905 923 border-top: 1px solid #7f7f7f;
906 924 border-right: 1px solid #7f7f7f;
907 925 }
908 926 .yui-skin-sam .yui-dt-scrollable .yui-dt-bd {
909 927 border-left: 1px solid #7f7f7f;
910 928 border-bottom: 1px solid #7f7f7f;
911 929 border-right: 1px solid #7f7f7f;
912 930 background-color: #FFF;
913 931 }
914 932 .yui-skin-sam .yui-dt-scrollable .yui-dt-data tr.yui-dt-last td { border-bottom: 1px solid #7f7f7f }
915 933 .yui-skin-sam th.yui-dt-asc,
916 934 .yui-skin-sam th.yui-dt-desc { background: url(../images/sprite.png) repeat-x 0 -100px }
917 935 .yui-skin-sam th.yui-dt-sortable .yui-dt-label { margin-right: 10px }
918 936 .yui-skin-sam th.yui-dt-asc .yui-dt-liner { background: url(../images/dt-arrow-up.png) no-repeat right }
919 937 .yui-skin-sam th.yui-dt-desc .yui-dt-liner { background: url(../images/dt-arrow-dn.png) no-repeat right }
920 938 tbody .yui-dt-editable { cursor: pointer }
921 939 .yui-dt-editor {
922 940 text-align: left;
923 941 background-color: #f2f2f2;
924 942 border: 1px solid #808080;
925 943 padding: 6px;
926 944 }
927 945 .yui-dt-editor label {
928 946 padding-left: 4px;
929 947 padding-right: 6px;
930 948 }
931 949 .yui-dt-editor .yui-dt-button {
932 950 padding-top: 6px;
933 951 text-align: right;
934 952 }
935 953 .yui-dt-editor .yui-dt-button button {
936 954 background: url(../images/sprite.png) repeat-x 0 0;
937 955 border: 1px solid #999;
938 956 width: 4em;
939 957 height: 1.8em;
940 958 margin-left: 6px;
941 959 }
942 960 .yui-dt-editor .yui-dt-button button.yui-dt-default {
943 961 background: url(../images/sprite.png) repeat-x 0 -1400px;
944 962 background-color: #5584e0;
945 963 border: 1px solid #304369;
946 964 color: #FFF;
947 965 }
948 966 .yui-dt-editor .yui-dt-button button:hover {
949 967 background: url(../images/sprite.png) repeat-x 0 -1300px;
950 968 color: #000;
951 969 }
952 970 .yui-dt-editor .yui-dt-button button:active {
953 971 background: url(../images/sprite.png) repeat-x 0 -1700px;
954 972 color: #000;
955 973 }
956 974 .yui-skin-sam tr.yui-dt-even { background-color: #FFF }
957 975 .yui-skin-sam tr.yui-dt-odd { background-color: #edf5ff }
958 976 .yui-skin-sam tr.yui-dt-even td.yui-dt-asc,
959 977 .yui-skin-sam tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
960 978 .yui-skin-sam tr.yui-dt-odd td.yui-dt-asc,
961 979 .yui-skin-sam tr.yui-dt-odd td.yui-dt-desc { background-color: #dbeaff }
962 980 .yui-skin-sam .yui-dt-list tr.yui-dt-even { background-color: #FFF }
963 981 .yui-skin-sam .yui-dt-list tr.yui-dt-odd { background-color: #FFF }
964 982 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-asc,
965 983 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-desc { background-color: #edf5ff }
966 984 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-asc,
967 985 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-desc { background-color: #edf5ff }
968 986 .yui-skin-sam th.yui-dt-highlighted,
969 987 .yui-skin-sam th.yui-dt-highlighted a { background-color: #b2d2ff }
970 988 .yui-skin-sam tr.yui-dt-highlighted,
971 989 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-asc,
972 990 .yui-skin-sam tr.yui-dt-highlighted td.yui-dt-desc,
973 991 .yui-skin-sam tr.yui-dt-even td.yui-dt-highlighted,
974 992 .yui-skin-sam tr.yui-dt-odd td.yui-dt-highlighted {
975 993 cursor: pointer;
976 994 background-color: #b2d2ff;
977 995 }
978 996 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted,
979 997 .yui-skin-sam .yui-dt-list th.yui-dt-highlighted a { background-color: #b2d2ff }
980 998 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted,
981 999 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-asc,
982 1000 .yui-skin-sam .yui-dt-list tr.yui-dt-highlighted td.yui-dt-desc,
983 1001 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-highlighted,
984 1002 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-highlighted {
985 1003 cursor: pointer;
986 1004 background-color: #b2d2ff;
987 1005 }
988 1006 .yui-skin-sam th.yui-dt-selected,
989 1007 .yui-skin-sam th.yui-dt-selected a { background-color: #446cd7 }
990 1008 .yui-skin-sam tr.yui-dt-selected td,
991 1009 .yui-skin-sam tr.yui-dt-selected td.yui-dt-asc,
992 1010 .yui-skin-sam tr.yui-dt-selected td.yui-dt-desc {
993 1011 background-color: #426fd9;
994 1012 color: #FFF;
995 1013 }
996 1014 .yui-skin-sam tr.yui-dt-even td.yui-dt-selected,
997 1015 .yui-skin-sam tr.yui-dt-odd td.yui-dt-selected {
998 1016 background-color: #446cd7;
999 1017 color: #FFF;
1000 1018 }
1001 1019 .yui-skin-sam .yui-dt-list th.yui-dt-selected,
1002 1020 .yui-skin-sam .yui-dt-list th.yui-dt-selected a { background-color: #446cd7 }
1003 1021 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td,
1004 1022 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-asc,
1005 1023 .yui-skin-sam .yui-dt-list tr.yui-dt-selected td.yui-dt-desc {
1006 1024 background-color: #426fd9;
1007 1025 color: #FFF;
1008 1026 }
1009 1027 .yui-skin-sam .yui-dt-list tr.yui-dt-even td.yui-dt-selected,
1010 1028 .yui-skin-sam .yui-dt-list tr.yui-dt-odd td.yui-dt-selected {
1011 1029 background-color: #446cd7;
1012 1030 color: #FFF;
1013 1031 }
1014 1032 .yui-skin-sam .yui-dt-paginator {
1015 1033 display: block;
1016 1034 margin: 6px 0;
1017 1035 white-space: nowrap;
1018 1036 }
1019 1037 .yui-skin-sam .yui-dt-paginator .yui-dt-first,
1020 1038 .yui-skin-sam .yui-dt-paginator .yui-dt-last,
1021 1039 .yui-skin-sam .yui-dt-paginator .yui-dt-selected { padding: 2px 6px }
1022 1040 .yui-skin-sam .yui-dt-paginator a.yui-dt-first,
1023 1041 .yui-skin-sam .yui-dt-paginator a.yui-dt-last { text-decoration: none }
1024 1042 .yui-skin-sam .yui-dt-paginator .yui-dt-previous,
1025 1043 .yui-skin-sam .yui-dt-paginator .yui-dt-next { display: none }
1026 1044 .yui-skin-sam a.yui-dt-page {
1027 1045 border: 1px solid #cbcbcb;
1028 1046 padding: 2px 6px;
1029 1047 text-decoration: none;
1030 1048 background-color: #fff;
1031 1049 }
1032 1050 .yui-skin-sam .yui-dt-selected {
1033 1051 border: 1px solid #fff;
1034 1052 background-color: #fff;
1035 1053 }
1036 1054
1037 1055 #content #left {
1038 1056 left: 0;
1039 1057 width: 280px;
1040 1058 position: absolute;
1041 1059 }
1042 1060
1043 1061 #content #right {
1044 1062 margin: 0 60px 10px 290px;
1045 1063 }
1046 1064
1047 1065 #content div.box {
1048 1066 clear: both;
1049 1067 overflow: hidden;
1050 1068 background: #fff;
1051 1069 margin: 0 0 10px;
1052 1070 padding: 0 0 10px;
1053 1071 -webkit-border-radius: 4px 4px 4px 4px;
1054 1072 -khtml-border-radius: 4px 4px 4px 4px;
1055 1073 -moz-border-radius: 4px 4px 4px 4px;
1056 1074 border-radius: 4px 4px 4px 4px;
1057 1075 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1058 1076 }
1059 1077
1060 1078 #content div.box-left {
1061 1079 width: 49%;
1062 1080 clear: none;
1063 1081 float: left;
1064 1082 margin: 0 0 10px;
1065 1083 }
1066 1084
1067 1085 #content div.box-right {
1068 1086 width: 49%;
1069 1087 clear: none;
1070 1088 float: right;
1071 1089 margin: 0 0 10px;
1072 1090 }
1073 1091
1074 1092 #content div.box div.title {
1075 1093 clear: both;
1076 1094 overflow: hidden;
1077 1095 background-color: #003B76;
1078 1096 background-repeat: repeat-x;
1079 1097 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
1080 1098 background-image: -moz-linear-gradient(top, #003b76, #00376e);
1081 1099 background-image: -ms-linear-gradient(top, #003b76, #00376e);
1082 1100 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
1083 1101 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
1084 1102 background-image: -o-linear-gradient(top, #003b76, #00376e);
1085 1103 background-image: linear-gradient(top, #003b76, #00376e);
1086 1104 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
1087 1105 margin: 0 0 20px;
1088 1106 padding: 0;
1089 1107 }
1090 1108
1091 1109 #content div.box div.title h5 {
1092 1110 float: left;
1093 1111 border: none;
1094 1112 color: #fff;
1095 1113 text-transform: uppercase;
1096 1114 margin: 0;
1097 1115 padding: 11px 0 11px 10px;
1098 1116 }
1099 1117
1100 1118 #content div.box div.title .link-white{
1101 1119 color: #FFFFFF;
1102 1120 }
1103 1121
1104 1122 #content div.box div.title .link-white.current{
1105 1123 color: #BFE3FF;
1106 1124 }
1107 1125
1108 1126 #content div.box div.title ul.links li {
1109 1127 list-style: none;
1110 1128 float: left;
1111 1129 margin: 0;
1112 1130 padding: 0;
1113 1131 }
1114 1132
1115 1133 #content div.box div.title ul.links li a {
1116 1134 border-left: 1px solid #316293;
1117 1135 color: #FFFFFF;
1118 1136 display: block;
1119 1137 float: left;
1120 1138 font-size: 13px;
1121 1139 font-weight: 700;
1122 1140 height: 1%;
1123 1141 margin: 0;
1124 1142 padding: 11px 22px 12px;
1125 1143 text-decoration: none;
1126 1144 }
1127 1145
1128 1146 #content div.box h1,#content div.box h2,#content div.box h3,#content div.box h4,#content div.box h5,#content div.box h6
1129 1147 {
1130 1148 clear: both;
1131 1149 overflow: hidden;
1132 1150 border-bottom: 1px solid #DDD;
1133 1151 margin: 10px 20px;
1134 1152 padding: 0 0 15px;
1135 1153 }
1136 1154
1137 1155 #content div.box p {
1138 1156 color: #5f5f5f;
1139 1157 font-size: 12px;
1140 1158 line-height: 150%;
1141 1159 margin: 0 24px 10px;
1142 1160 padding: 0;
1143 1161 }
1144 1162
1145 1163 #content div.box blockquote {
1146 1164 border-left: 4px solid #DDD;
1147 1165 color: #5f5f5f;
1148 1166 font-size: 11px;
1149 1167 line-height: 150%;
1150 1168 margin: 0 34px;
1151 1169 padding: 0 0 0 14px;
1152 1170 }
1153 1171
1154 1172 #content div.box blockquote p {
1155 1173 margin: 10px 0;
1156 1174 padding: 0;
1157 1175 }
1158 1176
1159 1177 #content div.box dl {
1160 1178 margin: 10px 0px;
1161 1179 }
1162 1180
1163 1181 #content div.box dt {
1164 1182 font-size: 12px;
1165 1183 margin: 0;
1166 1184 }
1167 1185
1168 1186 #content div.box dd {
1169 1187 font-size: 12px;
1170 1188 margin: 0;
1171 1189 padding: 8px 0 8px 15px;
1172 1190 }
1173 1191
1174 1192 #content div.box li {
1175 1193 font-size: 12px;
1176 1194 padding: 4px 0;
1177 1195 }
1178 1196
1179 1197 #content div.box ul.disc,#content div.box ul.circle {
1180 1198 margin: 10px 24px 10px 38px;
1181 1199 }
1182 1200
1183 1201 #content div.box ul.square {
1184 1202 margin: 10px 24px 10px 40px;
1185 1203 }
1186 1204
1187 1205 #content div.box img.left {
1188 1206 border: none;
1189 1207 float: left;
1190 1208 margin: 10px 10px 10px 0;
1191 1209 }
1192 1210
1193 1211 #content div.box img.right {
1194 1212 border: none;
1195 1213 float: right;
1196 1214 margin: 10px 0 10px 10px;
1197 1215 }
1198 1216
1199 1217 #content div.box div.messages {
1200 1218 clear: both;
1201 1219 overflow: hidden;
1202 1220 margin: 0 20px;
1203 1221 padding: 0;
1204 1222 }
1205 1223
1206 1224 #content div.box div.message {
1207 1225 clear: both;
1208 1226 overflow: hidden;
1209 1227 margin: 0;
1210 1228 padding: 5px 0;
1211 1229 white-space: pre-wrap;
1212 1230 }
1213 1231 #content div.box div.expand {
1214 1232 width: 110%;
1215 1233 height:14px;
1216 1234 font-size:10px;
1217 1235 text-align:center;
1218 1236 cursor: pointer;
1219 1237 color:#666;
1220 1238
1221 1239 background:-webkit-gradient(linear,0% 50%,100% 50%,color-stop(0%,rgba(255,255,255,0)),color-stop(100%,rgba(64,96,128,0.1)));
1222 1240 background:-webkit-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1223 1241 background:-moz-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1224 1242 background:-o-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1225 1243 background:-ms-linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1226 1244 background:linear-gradient(top,rgba(255,255,255,0),rgba(64,96,128,0.1));
1227 1245
1228 1246 display: none;
1229 1247 }
1230 1248 #content div.box div.expand .expandtext {
1231 1249 background-color: #ffffff;
1232 1250 padding: 2px;
1233 1251 border-radius: 2px;
1234 1252 }
1235 1253
1236 1254 #content div.box div.message a {
1237 1255 font-weight: 400 !important;
1238 1256 }
1239 1257
1240 1258 #content div.box div.message div.image {
1241 1259 float: left;
1242 1260 margin: 9px 0 0 5px;
1243 1261 padding: 6px;
1244 1262 }
1245 1263
1246 1264 #content div.box div.message div.image img {
1247 1265 vertical-align: middle;
1248 1266 margin: 0;
1249 1267 }
1250 1268
1251 1269 #content div.box div.message div.text {
1252 1270 float: left;
1253 1271 margin: 0;
1254 1272 padding: 9px 6px;
1255 1273 }
1256 1274
1257 1275 #content div.box div.message div.dismiss a {
1258 1276 height: 16px;
1259 1277 width: 16px;
1260 1278 display: block;
1261 1279 background: url("../images/icons/cross.png") no-repeat;
1262 1280 margin: 15px 14px 0 0;
1263 1281 padding: 0;
1264 1282 }
1265 1283
1266 1284 #content div.box div.message div.text h1,#content div.box div.message div.text h2,#content div.box div.message div.text h3,#content div.box div.message div.text h4,#content div.box div.message div.text h5,#content div.box div.message div.text h6
1267 1285 {
1268 1286 border: none;
1269 1287 margin: 0;
1270 1288 padding: 0;
1271 1289 }
1272 1290
1273 1291 #content div.box div.message div.text span {
1274 1292 height: 1%;
1275 1293 display: block;
1276 1294 margin: 0;
1277 1295 padding: 5px 0 0;
1278 1296 }
1279 1297
1280 1298 #content div.box div.message-error {
1281 1299 height: 1%;
1282 1300 clear: both;
1283 1301 overflow: hidden;
1284 1302 background: #FBE3E4;
1285 1303 border: 1px solid #FBC2C4;
1286 1304 color: #860006;
1287 1305 }
1288 1306
1289 1307 #content div.box div.message-error h6 {
1290 1308 color: #860006;
1291 1309 }
1292 1310
1293 1311 #content div.box div.message-warning {
1294 1312 height: 1%;
1295 1313 clear: both;
1296 1314 overflow: hidden;
1297 1315 background: #FFF6BF;
1298 1316 border: 1px solid #FFD324;
1299 1317 color: #5f5200;
1300 1318 }
1301 1319
1302 1320 #content div.box div.message-warning h6 {
1303 1321 color: #5f5200;
1304 1322 }
1305 1323
1306 1324 #content div.box div.message-notice {
1307 1325 height: 1%;
1308 1326 clear: both;
1309 1327 overflow: hidden;
1310 1328 background: #8FBDE0;
1311 1329 border: 1px solid #6BACDE;
1312 1330 color: #003863;
1313 1331 }
1314 1332
1315 1333 #content div.box div.message-notice h6 {
1316 1334 color: #003863;
1317 1335 }
1318 1336
1319 1337 #content div.box div.message-success {
1320 1338 height: 1%;
1321 1339 clear: both;
1322 1340 overflow: hidden;
1323 1341 background: #E6EFC2;
1324 1342 border: 1px solid #C6D880;
1325 1343 color: #4e6100;
1326 1344 }
1327 1345
1328 1346 #content div.box div.message-success h6 {
1329 1347 color: #4e6100;
1330 1348 }
1331 1349
1332 1350 #content div.box div.form div.fields div.field {
1333 1351 height: 1%;
1334 1352 border-bottom: 1px solid #DDD;
1335 1353 clear: both;
1336 1354 margin: 0;
1337 1355 padding: 10px 0;
1338 1356 }
1339 1357
1340 1358 #content div.box div.form div.fields div.field-first {
1341 1359 padding: 0 0 10px;
1342 1360 }
1343 1361
1344 1362 #content div.box div.form div.fields div.field-noborder {
1345 1363 border-bottom: 0 !important;
1346 1364 }
1347 1365
1348 1366 #content div.box div.form div.fields div.field span.error-message {
1349 1367 height: 1%;
1350 1368 display: inline-block;
1351 1369 color: red;
1352 1370 margin: 8px 0 0 4px;
1353 1371 padding: 0;
1354 1372 }
1355 1373
1356 1374 #content div.box div.form div.fields div.field span.success {
1357 1375 height: 1%;
1358 1376 display: block;
1359 1377 color: #316309;
1360 1378 margin: 8px 0 0;
1361 1379 padding: 0;
1362 1380 }
1363 1381
1364 1382 #content div.box div.form div.fields div.field div.label {
1365 1383 left: 70px;
1366 1384 width: 155px;
1367 1385 position: absolute;
1368 1386 margin: 0;
1369 1387 padding: 5px 0 0 0px;
1370 1388 }
1371 1389
1372 1390 #content div.box div.form div.fields div.field div.label-summary {
1373 1391 left: 30px;
1374 1392 width: 155px;
1375 1393 position: absolute;
1376 1394 margin: 0;
1377 1395 padding: 0px 0 0 0px;
1378 1396 }
1379 1397
1380 1398 #content div.box-left div.form div.fields div.field div.label,
1381 1399 #content div.box-right div.form div.fields div.field div.label,
1382 1400 #content div.box-left div.form div.fields div.field div.label,
1383 1401 #content div.box-left div.form div.fields div.field div.label-summary,
1384 1402 #content div.box-right div.form div.fields div.field div.label-summary,
1385 1403 #content div.box-left div.form div.fields div.field div.label-summary
1386 1404 {
1387 1405 clear: both;
1388 1406 overflow: hidden;
1389 1407 left: 0;
1390 1408 width: auto;
1391 1409 position: relative;
1392 1410 margin: 0;
1393 1411 padding: 0 0 8px;
1394 1412 }
1395 1413
1396 1414 #content div.box div.form div.fields div.field div.label-select {
1397 1415 padding: 5px 0 0 5px;
1398 1416 }
1399 1417
1400 1418 #content div.box-left div.form div.fields div.field div.label-select,
1401 1419 #content div.box-right div.form div.fields div.field div.label-select
1402 1420 {
1403 1421 padding: 0 0 8px;
1404 1422 }
1405 1423
1406 1424 #content div.box-left div.form div.fields div.field div.label-textarea,
1407 1425 #content div.box-right div.form div.fields div.field div.label-textarea
1408 1426 {
1409 1427 padding: 0 0 8px !important;
1410 1428 }
1411 1429
1412 1430 #content div.box div.form div.fields div.field div.label label,div.label label
1413 1431 {
1414 1432 color: #393939;
1415 1433 font-weight: 700;
1416 1434 }
1417 1435 #content div.box div.form div.fields div.field div.label label,div.label-summary label
1418 1436 {
1419 1437 color: #393939;
1420 1438 font-weight: 700;
1421 1439 }
1422 1440 #content div.box div.form div.fields div.field div.input {
1423 1441 margin: 0 0 0 200px;
1424 1442 }
1425 1443
1426 1444 #content div.box div.form div.fields div.field div.input.summary {
1427 1445 margin: 0 0 0 110px;
1428 1446 }
1429 1447 #content div.box div.form div.fields div.field div.input.summary-short {
1430 1448 margin: 0 0 0 110px;
1431 1449 }
1432 1450 #content div.box div.form div.fields div.field div.file {
1433 1451 margin: 0 0 0 200px;
1434 1452 }
1435 1453
1436 1454 #content div.box-left div.form div.fields div.field div.input,#content div.box-right div.form div.fields div.field div.input
1437 1455 {
1438 1456 margin: 0 0 0 0px;
1439 1457 }
1440 1458
1441 1459 #content div.box div.form div.fields div.field div.input input,
1442 1460 .reviewer_ac input {
1443 1461 background: #FFF;
1444 1462 border-top: 1px solid #b3b3b3;
1445 1463 border-left: 1px solid #b3b3b3;
1446 1464 border-right: 1px solid #eaeaea;
1447 1465 border-bottom: 1px solid #eaeaea;
1448 1466 color: #000;
1449 1467 font-size: 11px;
1450 1468 margin: 0;
1451 1469 padding: 7px 7px 6px;
1452 1470 }
1453 1471
1454 1472 #content div.box div.form div.fields div.field div.input input#clone_url,
1455 1473 #content div.box div.form div.fields div.field div.input input#clone_url_id
1456 1474 {
1457 1475 font-size: 16px;
1458 1476 padding: 2px;
1459 1477 }
1460 1478
1461 1479 #content div.box div.form div.fields div.field div.file input {
1462 1480 background: none repeat scroll 0 0 #FFFFFF;
1463 1481 border-color: #B3B3B3 #EAEAEA #EAEAEA #B3B3B3;
1464 1482 border-style: solid;
1465 1483 border-width: 1px;
1466 1484 color: #000000;
1467 1485 font-size: 11px;
1468 1486 margin: 0;
1469 1487 padding: 7px 7px 6px;
1470 1488 }
1471 1489
1472 1490 input.disabled {
1473 1491 background-color: #F5F5F5 !important;
1474 1492 }
1475 1493 #content div.box div.form div.fields div.field div.input input.small {
1476 1494 width: 30%;
1477 1495 }
1478 1496
1479 1497 #content div.box div.form div.fields div.field div.input input.medium {
1480 1498 width: 55%;
1481 1499 }
1482 1500
1483 1501 #content div.box div.form div.fields div.field div.input input.large {
1484 1502 width: 85%;
1485 1503 }
1486 1504
1487 1505 #content div.box div.form div.fields div.field div.input input.date {
1488 1506 width: 177px;
1489 1507 }
1490 1508
1491 1509 #content div.box div.form div.fields div.field div.input input.button {
1492 1510 background: #D4D0C8;
1493 1511 border-top: 1px solid #FFF;
1494 1512 border-left: 1px solid #FFF;
1495 1513 border-right: 1px solid #404040;
1496 1514 border-bottom: 1px solid #404040;
1497 1515 color: #000;
1498 1516 margin: 0;
1499 1517 padding: 4px 8px;
1500 1518 }
1501 1519
1502 1520 #content div.box div.form div.fields div.field div.textarea {
1503 1521 border-top: 1px solid #b3b3b3;
1504 1522 border-left: 1px solid #b3b3b3;
1505 1523 border-right: 1px solid #eaeaea;
1506 1524 border-bottom: 1px solid #eaeaea;
1507 1525 margin: 0 0 0 200px;
1508 1526 padding: 10px;
1509 1527 }
1510 1528
1511 1529 #content div.box div.form div.fields div.field div.textarea-editor {
1512 1530 border: 1px solid #ddd;
1513 1531 padding: 0;
1514 1532 }
1515 1533
1516 1534 #content div.box div.form div.fields div.field div.textarea textarea {
1517 1535 width: 100%;
1518 1536 height: 220px;
1519 1537 overflow: hidden;
1520 1538 background: #FFF;
1521 1539 color: #000;
1522 1540 font-size: 11px;
1523 1541 outline: none;
1524 1542 border-width: 0;
1525 1543 margin: 0;
1526 1544 padding: 0;
1527 1545 }
1528 1546
1529 1547 #content div.box-left div.form div.fields div.field div.textarea textarea,#content div.box-right div.form div.fields div.field div.textarea textarea
1530 1548 {
1531 1549 width: 100%;
1532 1550 height: 100px;
1533 1551 }
1534 1552
1535 1553 #content div.box div.form div.fields div.field div.textarea table {
1536 1554 width: 100%;
1537 1555 border: none;
1538 1556 margin: 0;
1539 1557 padding: 0;
1540 1558 }
1541 1559
1542 1560 #content div.box div.form div.fields div.field div.textarea table td {
1543 1561 background: #DDD;
1544 1562 border: none;
1545 1563 padding: 0;
1546 1564 }
1547 1565
1548 1566 #content div.box div.form div.fields div.field div.textarea table td table
1549 1567 {
1550 1568 width: auto;
1551 1569 border: none;
1552 1570 margin: 0;
1553 1571 padding: 0;
1554 1572 }
1555 1573
1556 1574 #content div.box div.form div.fields div.field div.textarea table td table td
1557 1575 {
1558 1576 font-size: 11px;
1559 1577 padding: 5px 5px 5px 0;
1560 1578 }
1561 1579
1562 1580 #content div.box div.form div.fields div.field input[type=text]:focus,
1563 1581 #content div.box div.form div.fields div.field input[type=password]:focus,
1564 1582 #content div.box div.form div.fields div.field input[type=file]:focus,
1565 1583 #content div.box div.form div.fields div.field textarea:focus,
1566 1584 #content div.box div.form div.fields div.field select:focus,
1567 1585 .reviewer_ac input:focus
1568 1586 {
1569 1587 background: #f6f6f6;
1570 1588 border-color: #666;
1571 1589 }
1572 1590
1573 1591 .reviewer_ac {
1574 1592 padding:10px
1575 1593 }
1576 1594
1577 1595 div.form div.fields div.field div.button {
1578 1596 margin: 0;
1579 1597 padding: 0 0 0 8px;
1580 1598 }
1581 1599 #content div.box table.noborder {
1582 1600 border: 1px solid transparent;
1583 1601 }
1584 1602
1585 1603 #content div.box table {
1586 1604 width: 100%;
1587 1605 border-collapse: separate;
1588 1606 margin: 0;
1589 1607 padding: 0;
1590 1608 border: 1px solid #eee;
1591 1609 -webkit-border-radius: 4px;
1592 1610 -moz-border-radius: 4px;
1593 1611 border-radius: 4px;
1594 1612 }
1595 1613
1596 1614 #content div.box table th {
1597 1615 background: #eee;
1598 1616 border-bottom: 1px solid #ddd;
1599 1617 padding: 5px 0px 5px 5px;
1600 1618 }
1601 1619
1602 1620 #content div.box table th.left {
1603 1621 text-align: left;
1604 1622 }
1605 1623
1606 1624 #content div.box table th.right {
1607 1625 text-align: right;
1608 1626 }
1609 1627
1610 1628 #content div.box table th.center {
1611 1629 text-align: center;
1612 1630 }
1613 1631
1614 1632 #content div.box table th.selected {
1615 1633 vertical-align: middle;
1616 1634 padding: 0;
1617 1635 }
1618 1636
1619 1637 #content div.box table td {
1620 1638 background: #fff;
1621 1639 border-bottom: 1px solid #cdcdcd;
1622 1640 vertical-align: middle;
1623 1641 padding: 5px;
1624 1642 }
1625 1643
1626 1644 #content div.box table tr.selected td {
1627 1645 background: #FFC;
1628 1646 }
1629 1647
1630 1648 #content div.box table td.selected {
1631 1649 width: 3%;
1632 1650 text-align: center;
1633 1651 vertical-align: middle;
1634 1652 padding: 0;
1635 1653 }
1636 1654
1637 1655 #content div.box table td.action {
1638 1656 width: 45%;
1639 1657 text-align: left;
1640 1658 }
1641 1659
1642 1660 #content div.box table td.date {
1643 1661 width: 33%;
1644 1662 text-align: center;
1645 1663 }
1646 1664
1647 1665 #content div.box div.action {
1648 1666 float: right;
1649 1667 background: #FFF;
1650 1668 text-align: right;
1651 1669 margin: 10px 0 0;
1652 1670 padding: 0;
1653 1671 }
1654 1672
1655 1673 #content div.box div.action select {
1656 1674 font-size: 11px;
1657 1675 margin: 0;
1658 1676 }
1659 1677
1660 1678 #content div.box div.action .ui-selectmenu {
1661 1679 margin: 0;
1662 1680 padding: 0;
1663 1681 }
1664 1682
1665 1683 #content div.box div.pagination {
1666 1684 height: 1%;
1667 1685 clear: both;
1668 1686 overflow: hidden;
1669 1687 margin: 10px 0 0;
1670 1688 padding: 0;
1671 1689 }
1672 1690
1673 1691 #content div.box div.pagination ul.pager {
1674 1692 float: right;
1675 1693 text-align: right;
1676 1694 margin: 0;
1677 1695 padding: 0;
1678 1696 }
1679 1697
1680 1698 #content div.box div.pagination ul.pager li {
1681 1699 height: 1%;
1682 1700 float: left;
1683 1701 list-style: none;
1684 1702 background: #ebebeb url("../images/pager.png") repeat-x;
1685 1703 border-top: 1px solid #dedede;
1686 1704 border-left: 1px solid #cfcfcf;
1687 1705 border-right: 1px solid #c4c4c4;
1688 1706 border-bottom: 1px solid #c4c4c4;
1689 1707 color: #4A4A4A;
1690 1708 font-weight: 700;
1691 1709 margin: 0 0 0 4px;
1692 1710 padding: 0;
1693 1711 }
1694 1712
1695 1713 #content div.box div.pagination ul.pager li.separator {
1696 1714 padding: 6px;
1697 1715 }
1698 1716
1699 1717 #content div.box div.pagination ul.pager li.current {
1700 1718 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1701 1719 border-top: 1px solid #ccc;
1702 1720 border-left: 1px solid #bebebe;
1703 1721 border-right: 1px solid #b1b1b1;
1704 1722 border-bottom: 1px solid #afafaf;
1705 1723 color: #515151;
1706 1724 padding: 6px;
1707 1725 }
1708 1726
1709 1727 #content div.box div.pagination ul.pager li a {
1710 1728 height: 1%;
1711 1729 display: block;
1712 1730 float: left;
1713 1731 color: #515151;
1714 1732 text-decoration: none;
1715 1733 margin: 0;
1716 1734 padding: 6px;
1717 1735 }
1718 1736
1719 1737 #content div.box div.pagination ul.pager li a:hover,#content div.box div.pagination ul.pager li a:active
1720 1738 {
1721 1739 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1722 1740 border-top: 1px solid #ccc;
1723 1741 border-left: 1px solid #bebebe;
1724 1742 border-right: 1px solid #b1b1b1;
1725 1743 border-bottom: 1px solid #afafaf;
1726 1744 margin: -1px;
1727 1745 }
1728 1746
1729 1747 #content div.box div.pagination-wh {
1730 1748 height: 1%;
1731 1749 clear: both;
1732 1750 overflow: hidden;
1733 1751 text-align: right;
1734 1752 margin: 10px 0 0;
1735 1753 padding: 0;
1736 1754 }
1737 1755
1738 1756 #content div.box div.pagination-right {
1739 1757 float: right;
1740 1758 }
1741 1759
1742 1760 #content div.box div.pagination-wh a,
1743 1761 #content div.box div.pagination-wh span.pager_dotdot,
1744 1762 #content div.box div.pagination-wh span.yui-pg-previous,
1745 1763 #content div.box div.pagination-wh span.yui-pg-last,
1746 1764 #content div.box div.pagination-wh span.yui-pg-next,
1747 1765 #content div.box div.pagination-wh span.yui-pg-first
1748 1766 {
1749 1767 height: 1%;
1750 1768 float: left;
1751 1769 background: #ebebeb url("../images/pager.png") repeat-x;
1752 1770 border-top: 1px solid #dedede;
1753 1771 border-left: 1px solid #cfcfcf;
1754 1772 border-right: 1px solid #c4c4c4;
1755 1773 border-bottom: 1px solid #c4c4c4;
1756 1774 color: #4A4A4A;
1757 1775 font-weight: 700;
1758 1776 margin: 0 0 0 4px;
1759 1777 padding: 6px;
1760 1778 }
1761 1779
1762 1780 #content div.box div.pagination-wh span.pager_curpage {
1763 1781 height: 1%;
1764 1782 float: left;
1765 1783 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1766 1784 border-top: 1px solid #ccc;
1767 1785 border-left: 1px solid #bebebe;
1768 1786 border-right: 1px solid #b1b1b1;
1769 1787 border-bottom: 1px solid #afafaf;
1770 1788 color: #515151;
1771 1789 font-weight: 700;
1772 1790 margin: 0 0 0 4px;
1773 1791 padding: 6px;
1774 1792 }
1775 1793
1776 1794 #content div.box div.pagination-wh a:hover,#content div.box div.pagination-wh a:active
1777 1795 {
1778 1796 background: #b4b4b4 url("../images/pager_selected.png") repeat-x;
1779 1797 border-top: 1px solid #ccc;
1780 1798 border-left: 1px solid #bebebe;
1781 1799 border-right: 1px solid #b1b1b1;
1782 1800 border-bottom: 1px solid #afafaf;
1783 1801 text-decoration: none;
1784 1802 }
1785 1803
1786 1804 #content div.box div.traffic div.legend {
1787 1805 clear: both;
1788 1806 overflow: hidden;
1789 1807 border-bottom: 1px solid #ddd;
1790 1808 margin: 0 0 10px;
1791 1809 padding: 0 0 10px;
1792 1810 }
1793 1811
1794 1812 #content div.box div.traffic div.legend h6 {
1795 1813 float: left;
1796 1814 border: none;
1797 1815 margin: 0;
1798 1816 padding: 0;
1799 1817 }
1800 1818
1801 1819 #content div.box div.traffic div.legend li {
1802 1820 list-style: none;
1803 1821 float: left;
1804 1822 font-size: 11px;
1805 1823 margin: 0;
1806 1824 padding: 0 8px 0 4px;
1807 1825 }
1808 1826
1809 1827 #content div.box div.traffic div.legend li.visits {
1810 1828 border-left: 12px solid #edc240;
1811 1829 }
1812 1830
1813 1831 #content div.box div.traffic div.legend li.pageviews {
1814 1832 border-left: 12px solid #afd8f8;
1815 1833 }
1816 1834
1817 1835 #content div.box div.traffic table {
1818 1836 width: auto;
1819 1837 }
1820 1838
1821 1839 #content div.box div.traffic table td {
1822 1840 background: transparent;
1823 1841 border: none;
1824 1842 padding: 2px 3px 3px;
1825 1843 }
1826 1844
1827 1845 #content div.box div.traffic table td.legendLabel {
1828 1846 padding: 0 3px 2px;
1829 1847 }
1830 1848
1831 1849 #summary {
1832 1850
1833 1851 }
1834 1852
1835 1853 #summary .metatag {
1836 1854 display: inline-block;
1837 1855 padding: 3px 5px;
1838 1856 margin-bottom: 3px;
1839 1857 margin-right: 1px;
1840 1858 border-radius: 5px;
1841 1859 }
1842 1860
1843 1861 #content div.box #summary p {
1844 1862 margin-bottom: -5px;
1845 1863 width: 600px;
1846 1864 white-space: pre-wrap;
1847 1865 }
1848 1866
1849 1867 #content div.box #summary p:last-child {
1850 1868 margin-bottom: 9px;
1851 1869 }
1852 1870
1853 1871 #content div.box #summary p:first-of-type {
1854 1872 margin-top: 9px;
1855 1873 }
1856 1874
1857 1875 .metatag {
1858 1876 display: inline-block;
1859 1877 margin-right: 1px;
1860 1878 -webkit-border-radius: 4px 4px 4px 4px;
1861 1879 -khtml-border-radius: 4px 4px 4px 4px;
1862 1880 -moz-border-radius: 4px 4px 4px 4px;
1863 1881 border-radius: 4px 4px 4px 4px;
1864 1882
1865 1883 border: solid 1px #9CF;
1866 1884 padding: 2px 3px 2px 3px !important;
1867 1885 background-color: #DEF;
1868 1886 }
1869 1887
1870 1888 .metatag[tag="dead"] {
1871 1889 background-color: #E44;
1872 1890 }
1873 1891
1874 1892 .metatag[tag="stale"] {
1875 1893 background-color: #EA4;
1876 1894 }
1877 1895
1878 1896 .metatag[tag="featured"] {
1879 1897 background-color: #AEA;
1880 1898 }
1881 1899
1882 1900 .metatag[tag="requires"] {
1883 1901 background-color: #9CF;
1884 1902 }
1885 1903
1886 1904 .metatag[tag="recommends"] {
1887 1905 background-color: #BDF;
1888 1906 }
1889 1907
1890 1908 .metatag[tag="lang"] {
1891 1909 background-color: #FAF474;
1892 1910 }
1893 1911
1894 1912 .metatag[tag="license"] {
1895 1913 border: solid 1px #9CF;
1896 1914 background-color: #DEF;
1897 1915 target-new: tab !important;
1898 1916 }
1899 1917 .metatag[tag="see"] {
1900 1918 border: solid 1px #CBD;
1901 1919 background-color: #EDF;
1902 1920 }
1903 1921
1904 1922 a.metatag[tag="license"]:hover {
1905 1923 background-color: #003367;
1906 1924 color: #FFF;
1907 1925 text-decoration: none;
1908 1926 }
1909 1927
1910 1928 #summary .desc {
1911 1929 white-space: pre;
1912 1930 width: 100%;
1913 1931 }
1914 1932
1915 1933 #summary .repo_name {
1916 1934 font-size: 1.6em;
1917 1935 font-weight: bold;
1918 1936 vertical-align: baseline;
1919 1937 clear: right
1920 1938 }
1921 1939
1922 1940 #footer {
1923 1941 clear: both;
1924 1942 overflow: hidden;
1925 1943 text-align: right;
1926 1944 margin: 0;
1927 1945 padding: 0 10px 4px;
1928 1946 margin: -10px 0 0;
1929 1947 }
1930 1948
1931 1949 #footer div#footer-inner {
1932 1950 background-color: #003B76;
1933 1951 background-repeat : repeat-x;
1934 1952 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1935 1953 background-image : -moz-linear-gradient(top, #003b76, #00376e);
1936 1954 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1937 1955 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1938 1956 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1939 1957 background-image : -o-linear-gradient( top, #003b76, #00376e));
1940 1958 background-image : linear-gradient( top, #003b76, #00376e);
1941 1959 filter :progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1942 1960 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
1943 1961 -webkit-border-radius: 4px 4px 4px 4px;
1944 1962 -khtml-border-radius: 4px 4px 4px 4px;
1945 1963 -moz-border-radius: 4px 4px 4px 4px;
1946 1964 border-radius: 4px 4px 4px 4px;
1947 1965 }
1948 1966
1949 1967 #footer div#footer-inner p {
1950 1968 padding: 15px 25px 15px 0;
1951 1969 color: #FFF;
1952 1970 font-weight: 700;
1953 1971 }
1954 1972
1955 1973 #footer div#footer-inner .footer-link {
1956 1974 float: left;
1957 1975 padding-left: 10px;
1958 1976 }
1959 1977
1960 1978 #footer div#footer-inner .footer-link a,#footer div#footer-inner .footer-link-right a
1961 1979 {
1962 1980 color: #FFF;
1963 1981 }
1964 1982
1965 1983 #login div.title {
1966 1984 width: 420px;
1967 1985 clear: both;
1968 1986 overflow: hidden;
1969 1987 position: relative;
1970 1988 background-color: #003B76;
1971 1989 background-repeat : repeat-x;
1972 1990 background-image : -khtml-gradient( linear, left top, left bottom, from(#003B76), to(#00376E));
1973 1991 background-image : -moz-linear-gradient( top, #003b76, #00376e);
1974 1992 background-image : -ms-linear-gradient( top, #003b76, #00376e);
1975 1993 background-image : -webkit-gradient( linear, left top, left bottom, color-stop( 0%, #003b76), color-stop( 100%, #00376e));
1976 1994 background-image : -webkit-linear-gradient( top, #003b76, #00376e));
1977 1995 background-image : -o-linear-gradient( top, #003b76, #00376e));
1978 1996 background-image : linear-gradient( top, #003b76, #00376e);
1979 1997 filter : progid : DXImageTransform.Microsoft.gradient ( startColorstr = '#003b76', endColorstr = '#00376e', GradientType = 0);
1980 1998 margin: 0 auto;
1981 1999 padding: 0;
1982 2000 }
1983 2001
1984 2002 #login div.inner {
1985 2003 width: 380px;
1986 2004 background: #FFF url("../images/login.png") no-repeat top left;
1987 2005 border-top: none;
1988 2006 border-bottom: none;
1989 2007 margin: 0 auto;
1990 2008 padding: 20px;
1991 2009 }
1992 2010
1993 2011 #login div.form div.fields div.field div.label {
1994 2012 width: 173px;
1995 2013 float: left;
1996 2014 text-align: right;
1997 2015 margin: 2px 10px 0 0;
1998 2016 padding: 5px 0 0 5px;
1999 2017 }
2000 2018
2001 2019 #login div.form div.fields div.field div.input input {
2002 2020 width: 176px;
2003 2021 background: #FFF;
2004 2022 border-top: 1px solid #b3b3b3;
2005 2023 border-left: 1px solid #b3b3b3;
2006 2024 border-right: 1px solid #eaeaea;
2007 2025 border-bottom: 1px solid #eaeaea;
2008 2026 color: #000;
2009 2027 font-size: 11px;
2010 2028 margin: 0;
2011 2029 padding: 7px 7px 6px;
2012 2030 }
2013 2031
2014 2032 #login div.form div.fields div.buttons {
2015 2033 clear: both;
2016 2034 overflow: hidden;
2017 2035 border-top: 1px solid #DDD;
2018 2036 text-align: right;
2019 2037 margin: 0;
2020 2038 padding: 10px 0 0;
2021 2039 }
2022 2040
2023 2041 #login div.form div.links {
2024 2042 clear: both;
2025 2043 overflow: hidden;
2026 2044 margin: 10px 0 0;
2027 2045 padding: 0 0 2px;
2028 2046 }
2029 2047
2030 2048 .user-menu{
2031 2049 margin: 0px !important;
2032 2050 float: left;
2033 2051 }
2034 2052
2035 2053 .user-menu .container{
2036 2054 padding:0px 4px 0px 4px;
2037 2055 margin: 0px 0px 0px 0px;
2038 2056 }
2039 2057
2040 2058 .user-menu .gravatar{
2041 2059 margin: 0px 0px 0px 0px;
2042 2060 cursor: pointer;
2043 2061 }
2044 2062 .user-menu .gravatar.enabled{
2045 2063 background-color: #FDF784 !important;
2046 2064 }
2047 2065 .user-menu .gravatar:hover{
2048 2066 background-color: #FDF784 !important;
2049 2067 }
2050 2068 #quick_login{
2051 2069 min-height: 80px;
2052 2070 margin: 37px 0 0 -251px;
2053 2071 padding: 4px;
2054 2072 position: absolute;
2055 2073 width: 278px;
2056 2074 background-color: #003B76;
2057 2075 background-repeat: repeat-x;
2058 2076 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2059 2077 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2060 2078 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2061 2079 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2062 2080 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2063 2081 background-image: -o-linear-gradient(top, #003b76, #00376e);
2064 2082 background-image: linear-gradient(top, #003b76, #00376e);
2065 2083 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76', endColorstr='#00376e', GradientType=0 );
2066 2084
2067 2085 z-index: 999;
2068 2086 -webkit-border-radius: 0px 0px 4px 4px;
2069 2087 -khtml-border-radius: 0px 0px 4px 4px;
2070 2088 -moz-border-radius: 0px 0px 4px 4px;
2071 2089 border-radius: 0px 0px 4px 4px;
2072 2090 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2073 2091 }
2074 2092 #quick_login h4{
2075 2093 color: #fff;
2076 2094 padding: 5px 0px 5px 14px;
2077 2095 }
2078 2096
2079 2097 #quick_login .password_forgoten {
2080 2098 padding-right: 10px;
2081 2099 padding-top: 0px;
2082 2100 text-align: left;
2083 2101 }
2084 2102
2085 2103 #quick_login .password_forgoten a {
2086 2104 font-size: 10px;
2087 2105 color: #fff;
2088 2106 }
2089 2107
2090 2108 #quick_login .register {
2091 2109 padding-right: 10px;
2092 2110 padding-top: 5px;
2093 2111 text-align: left;
2094 2112 }
2095 2113
2096 2114 #quick_login .register a {
2097 2115 font-size: 10px;
2098 2116 color: #fff;
2099 2117 }
2100 2118
2101 2119 #quick_login .submit {
2102 2120 margin: -20px 0 0 0px;
2103 2121 position: absolute;
2104 2122 right: 15px;
2105 2123 }
2106 2124
2107 2125 #quick_login .links_left{
2108 2126 float: left;
2109 2127 }
2110 2128 #quick_login .links_right{
2111 2129 float: right;
2112 2130 }
2113 2131 #quick_login .full_name{
2114 2132 color: #FFFFFF;
2115 2133 font-weight: bold;
2116 2134 padding: 3px;
2117 2135 }
2118 2136 #quick_login .big_gravatar{
2119 2137 padding:4px 0px 0px 6px;
2120 2138 }
2121 2139 #quick_login .inbox{
2122 2140 padding:4px 0px 0px 6px;
2123 2141 color: #FFFFFF;
2124 2142 font-weight: bold;
2125 2143 }
2126 2144 #quick_login .inbox a{
2127 2145 color: #FFFFFF;
2128 2146 }
2129 2147 #quick_login .email,#quick_login .email a{
2130 2148 color: #FFFFFF;
2131 2149 padding: 3px;
2132 2150
2133 2151 }
2134 2152 #quick_login .links .logout{
2135 2153
2136 2154 }
2137 2155
2138 2156 #quick_login div.form div.fields {
2139 2157 padding-top: 2px;
2140 2158 padding-left: 10px;
2141 2159 }
2142 2160
2143 2161 #quick_login div.form div.fields div.field {
2144 2162 padding: 5px;
2145 2163 }
2146 2164
2147 2165 #quick_login div.form div.fields div.field div.label label {
2148 2166 color: #fff;
2149 2167 padding-bottom: 3px;
2150 2168 }
2151 2169
2152 2170 #quick_login div.form div.fields div.field div.input input {
2153 2171 width: 236px;
2154 2172 background: #FFF;
2155 2173 border-top: 1px solid #b3b3b3;
2156 2174 border-left: 1px solid #b3b3b3;
2157 2175 border-right: 1px solid #eaeaea;
2158 2176 border-bottom: 1px solid #eaeaea;
2159 2177 color: #000;
2160 2178 font-size: 11px;
2161 2179 margin: 0;
2162 2180 padding: 5px 7px 4px;
2163 2181 }
2164 2182
2165 2183 #quick_login div.form div.fields div.buttons {
2166 2184 clear: both;
2167 2185 overflow: hidden;
2168 2186 text-align: right;
2169 2187 margin: 0;
2170 2188 padding: 5px 14px 0px 5px;
2171 2189 }
2172 2190
2173 2191 #quick_login div.form div.links {
2174 2192 clear: both;
2175 2193 overflow: hidden;
2176 2194 margin: 10px 0 0;
2177 2195 padding: 0 0 2px;
2178 2196 }
2179 2197
2180 2198 #quick_login ol.links{
2181 2199 display: block;
2182 2200 font-weight: bold;
2183 2201 list-style: none outside none;
2184 2202 text-align: right;
2185 2203 }
2186 2204 #quick_login ol.links li{
2187 2205 line-height: 27px;
2188 2206 margin: 0;
2189 2207 padding: 0;
2190 2208 color: #fff;
2191 2209 display: block;
2192 2210 float:none !important;
2193 2211 }
2194 2212
2195 2213 #quick_login ol.links li a{
2196 2214 color: #fff;
2197 2215 display: block;
2198 2216 padding: 2px;
2199 2217 }
2200 2218 #quick_login ol.links li a:HOVER{
2201 2219 background-color: inherit !important;
2202 2220 }
2203 2221
2204 2222 #register div.title {
2205 2223 clear: both;
2206 2224 overflow: hidden;
2207 2225 position: relative;
2208 2226 background-color: #003B76;
2209 2227 background-repeat: repeat-x;
2210 2228 background-image: -khtml-gradient(linear, left top, left bottom, from(#003B76), to(#00376E) );
2211 2229 background-image: -moz-linear-gradient(top, #003b76, #00376e);
2212 2230 background-image: -ms-linear-gradient(top, #003b76, #00376e);
2213 2231 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #003b76), color-stop(100%, #00376e) );
2214 2232 background-image: -webkit-linear-gradient(top, #003b76, #00376e);
2215 2233 background-image: -o-linear-gradient(top, #003b76, #00376e);
2216 2234 background-image: linear-gradient(top, #003b76, #00376e);
2217 2235 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#003b76',
2218 2236 endColorstr='#00376e', GradientType=0 );
2219 2237 margin: 0 auto;
2220 2238 padding: 0;
2221 2239 }
2222 2240
2223 2241 #register div.inner {
2224 2242 background: #FFF;
2225 2243 border-top: none;
2226 2244 border-bottom: none;
2227 2245 margin: 0 auto;
2228 2246 padding: 20px;
2229 2247 }
2230 2248
2231 2249 #register div.form div.fields div.field div.label {
2232 2250 width: 135px;
2233 2251 float: left;
2234 2252 text-align: right;
2235 2253 margin: 2px 10px 0 0;
2236 2254 padding: 5px 0 0 5px;
2237 2255 }
2238 2256
2239 2257 #register div.form div.fields div.field div.input input {
2240 2258 width: 300px;
2241 2259 background: #FFF;
2242 2260 border-top: 1px solid #b3b3b3;
2243 2261 border-left: 1px solid #b3b3b3;
2244 2262 border-right: 1px solid #eaeaea;
2245 2263 border-bottom: 1px solid #eaeaea;
2246 2264 color: #000;
2247 2265 font-size: 11px;
2248 2266 margin: 0;
2249 2267 padding: 7px 7px 6px;
2250 2268 }
2251 2269
2252 2270 #register div.form div.fields div.buttons {
2253 2271 clear: both;
2254 2272 overflow: hidden;
2255 2273 border-top: 1px solid #DDD;
2256 2274 text-align: left;
2257 2275 margin: 0;
2258 2276 padding: 10px 0 0 150px;
2259 2277 }
2260 2278
2261 2279 #register div.form div.activation_msg {
2262 2280 padding-top: 4px;
2263 2281 padding-bottom: 4px;
2264 2282 }
2265 2283
2266 2284 #journal .journal_day {
2267 2285 font-size: 20px;
2268 2286 padding: 10px 0px;
2269 2287 border-bottom: 2px solid #DDD;
2270 2288 margin-left: 10px;
2271 2289 margin-right: 10px;
2272 2290 }
2273 2291
2274 2292 #journal .journal_container {
2275 2293 padding: 5px;
2276 2294 clear: both;
2277 2295 margin: 0px 5px 0px 10px;
2278 2296 }
2279 2297
2280 2298 #journal .journal_action_container {
2281 2299 padding-left: 38px;
2282 2300 }
2283 2301
2284 2302 #journal .journal_user {
2285 2303 color: #747474;
2286 2304 font-size: 14px;
2287 2305 font-weight: bold;
2288 2306 height: 30px;
2289 2307 }
2290 2308
2291 2309 #journal .journal_icon {
2292 2310 clear: both;
2293 2311 float: left;
2294 2312 padding-right: 4px;
2295 2313 padding-top: 3px;
2296 2314 }
2297 2315
2298 2316 #journal .journal_action {
2299 2317 padding-top: 4px;
2300 2318 min-height: 2px;
2301 2319 float: left
2302 2320 }
2303 2321
2304 2322 #journal .journal_action_params {
2305 2323 clear: left;
2306 2324 padding-left: 22px;
2307 2325 }
2308 2326
2309 2327 #journal .journal_repo {
2310 2328 float: left;
2311 2329 margin-left: 6px;
2312 2330 padding-top: 3px;
2313 2331 }
2314 2332
2315 2333 #journal .date {
2316 2334 clear: both;
2317 2335 color: #777777;
2318 2336 font-size: 11px;
2319 2337 padding-left: 22px;
2320 2338 }
2321 2339
2322 2340 #journal .journal_repo .journal_repo_name {
2323 2341 font-weight: bold;
2324 2342 font-size: 1.1em;
2325 2343 }
2326 2344
2327 2345 #journal .compare_view {
2328 2346 padding: 5px 0px 5px 0px;
2329 2347 width: 95px;
2330 2348 }
2331 2349
2332 2350 .journal_highlight {
2333 2351 font-weight: bold;
2334 2352 padding: 0 2px;
2335 2353 vertical-align: bottom;
2336 2354 }
2337 2355
2338 2356 .trending_language_tbl,.trending_language_tbl td {
2339 2357 border: 0 !important;
2340 2358 margin: 0 !important;
2341 2359 padding: 0 !important;
2342 2360 }
2343 2361
2344 2362 .trending_language_tbl,.trending_language_tbl tr {
2345 2363 border-spacing: 1px;
2346 2364 }
2347 2365
2348 2366 .trending_language {
2349 2367 background-color: #003367;
2350 2368 color: #FFF;
2351 2369 display: block;
2352 2370 min-width: 20px;
2353 2371 text-decoration: none;
2354 2372 height: 12px;
2355 2373 margin-bottom: 0px;
2356 2374 margin-left: 5px;
2357 2375 white-space: pre;
2358 2376 padding: 3px;
2359 2377 }
2360 2378
2361 2379 h3.files_location {
2362 2380 font-size: 1.8em;
2363 2381 font-weight: 700;
2364 2382 border-bottom: none !important;
2365 2383 margin: 10px 0 !important;
2366 2384 }
2367 2385
2368 2386 #files_data dl dt {
2369 2387 float: left;
2370 2388 width: 60px;
2371 2389 margin: 0 !important;
2372 2390 padding: 5px;
2373 2391 }
2374 2392
2375 2393 #files_data dl dd {
2376 2394 margin: 0 !important;
2377 2395 padding: 5px !important;
2378 2396 }
2379 2397
2380 2398 .file_history{
2381 2399 padding-top:10px;
2382 2400 font-size:16px;
2383 2401 }
2384 2402 .file_author{
2385 2403 float: left;
2386 2404 }
2387 2405
2388 2406 .file_author .item{
2389 2407 float:left;
2390 2408 padding:5px;
2391 2409 color: #888;
2392 2410 }
2393 2411
2394 2412 .tablerow0 {
2395 2413 background-color: #F8F8F8;
2396 2414 }
2397 2415
2398 2416 .tablerow1 {
2399 2417 background-color: #FFFFFF;
2400 2418 }
2401 2419
2402 2420 .changeset_id {
2403 2421 font-family: monospace;
2404 2422 color: #666666;
2405 2423 }
2406 2424
2407 2425 .changeset_hash {
2408 2426 color: #000000;
2409 2427 }
2410 2428
2411 2429 #changeset_content {
2412 2430 border-left: 1px solid #CCC;
2413 2431 border-right: 1px solid #CCC;
2414 2432 border-bottom: 1px solid #CCC;
2415 2433 padding: 5px;
2416 2434 }
2417 2435
2418 2436 #changeset_compare_view_content {
2419 2437 border: 1px solid #CCC;
2420 2438 padding: 5px;
2421 2439 }
2422 2440
2423 2441 #changeset_content .container {
2424 2442 min-height: 100px;
2425 2443 font-size: 1.2em;
2426 2444 overflow: hidden;
2427 2445 }
2428 2446
2429 2447 #changeset_compare_view_content .compare_view_commits {
2430 2448 width: auto !important;
2431 2449 }
2432 2450
2433 2451 #changeset_compare_view_content .compare_view_commits td {
2434 2452 padding: 0px 0px 0px 12px !important;
2435 2453 }
2436 2454
2437 2455 #changeset_content .container .right {
2438 2456 float: right;
2439 2457 width: 20%;
2440 2458 text-align: right;
2441 2459 }
2442 2460
2443 2461 #changeset_content .container .left .message {
2444 2462 white-space: pre-wrap;
2445 2463 }
2446 2464 #changeset_content .container .left .message a:hover {
2447 2465 text-decoration: none;
2448 2466 }
2449 2467 .cs_files .cur_cs {
2450 2468 margin: 10px 2px;
2451 2469 font-weight: bold;
2452 2470 }
2453 2471
2454 2472 .cs_files .node {
2455 2473 float: left;
2456 2474 }
2457 2475
2458 2476 .cs_files .changes {
2459 2477 float: right;
2460 2478 color:#003367;
2461 2479
2462 2480 }
2463 2481
2464 2482 .cs_files .changes .added {
2465 2483 background-color: #BBFFBB;
2466 2484 float: left;
2467 2485 text-align: center;
2468 2486 font-size: 9px;
2469 2487 padding: 2px 0px 2px 0px;
2470 2488 }
2471 2489
2472 2490 .cs_files .changes .deleted {
2473 2491 background-color: #FF8888;
2474 2492 float: left;
2475 2493 text-align: center;
2476 2494 font-size: 9px;
2477 2495 padding: 2px 0px 2px 0px;
2478 2496 }
2479 2497
2480 2498 .cs_files .cs_added,.cs_files .cs_A {
2481 2499 background: url("../images/icons/page_white_add.png") no-repeat scroll
2482 2500 3px;
2483 2501 height: 16px;
2484 2502 padding-left: 20px;
2485 2503 margin-top: 7px;
2486 2504 text-align: left;
2487 2505 }
2488 2506
2489 2507 .cs_files .cs_changed,.cs_files .cs_M {
2490 2508 background: url("../images/icons/page_white_edit.png") no-repeat scroll
2491 2509 3px;
2492 2510 height: 16px;
2493 2511 padding-left: 20px;
2494 2512 margin-top: 7px;
2495 2513 text-align: left;
2496 2514 }
2497 2515
2498 2516 .cs_files .cs_removed,.cs_files .cs_D {
2499 2517 background: url("../images/icons/page_white_delete.png") no-repeat
2500 2518 scroll 3px;
2501 2519 height: 16px;
2502 2520 padding-left: 20px;
2503 2521 margin-top: 7px;
2504 2522 text-align: left;
2505 2523 }
2506 2524
2507 2525 #graph {
2508 2526 overflow: hidden;
2509 2527 }
2510 2528
2511 2529 #graph_nodes {
2512 2530 float: left;
2513 2531 margin-right: -6px;
2514 2532 margin-top: 0px;
2515 2533 }
2516 2534
2517 2535 #graph_content {
2518 2536 width: 80%;
2519 2537 float: left;
2520 2538 }
2521 2539
2522 2540 #graph_content .container_header {
2523 2541 border-bottom: 1px solid #DDD;
2524 2542 padding: 10px;
2525 2543 height: 25px;
2526 2544 }
2527 2545
2528 2546 #graph_content #rev_range_container {
2529 2547 padding: 7px 20px;
2530 2548 float: left;
2531 2549 }
2532 2550
2533 2551 #graph_content .container {
2534 2552 border-bottom: 1px solid #DDD;
2535 2553 height: 56px;
2536 2554 overflow: hidden;
2537 2555 }
2538 2556
2539 2557 #graph_content .container .right {
2540 2558 float: right;
2541 2559 width: 23%;
2542 2560 text-align: right;
2543 2561 }
2544 2562
2545 2563 #graph_content .container .left {
2546 2564 float: left;
2547 2565 width: 25%;
2548 2566 padding-left: 5px;
2549 2567 }
2550 2568
2551 2569 #graph_content .container .mid {
2552 2570 float: left;
2553 2571 width: 49%;
2554 2572 }
2555 2573
2556 2574
2557 2575 #graph_content .container .left .date {
2558 2576 color: #666;
2559 2577 padding-left: 22px;
2560 2578 font-size: 10px;
2561 2579 }
2562 2580
2563 2581 #graph_content .container .left .author {
2564 2582 height: 22px;
2565 2583 }
2566 2584
2567 2585 #graph_content .container .left .author .user {
2568 2586 color: #444444;
2569 2587 float: left;
2570 2588 margin-left: -4px;
2571 2589 margin-top: 4px;
2572 2590 }
2573 2591
2574 2592 #graph_content .container .mid .message {
2575 2593 white-space: pre-wrap;
2576 2594 }
2577 2595
2578 2596 #graph_content .container .mid .message a:hover{
2579 2597 text-decoration: none;
2580 2598 }
2581 2599 #content #graph_content .message .revision-link,
2582 2600 #changeset_content .container .message .revision-link
2583 2601 {
2584 2602 color:#3F6F9F;
2585 2603 font-weight: bold !important;
2586 2604 }
2587 2605
2588 2606 #content #graph_content .message .issue-tracker-link,
2589 2607 #changeset_content .container .message .issue-tracker-link{
2590 2608 color:#3F6F9F;
2591 2609 font-weight: bold !important;
2592 2610 }
2593 2611
2594 2612 .changeset-status-container{
2595 2613 padding-right: 5px;
2596 2614 margin-top:1px;
2597 2615 float:right;
2598 2616 height:14px;
2599 2617 }
2600 2618 .code-header .changeset-status-container{
2601 2619 float:left;
2602 2620 padding:2px 0px 0px 2px;
2603 2621 }
2604 2622 .changeset-status-container .changeset-status-lbl{
2605 2623 color: rgb(136, 136, 136);
2606 2624 float: left;
2607 2625 padding: 3px 4px 0px 0px
2608 2626 }
2609 2627 .code-header .changeset-status-container .changeset-status-lbl{
2610 2628 float: left;
2611 2629 padding: 0px 4px 0px 0px;
2612 2630 }
2613 2631 .changeset-status-container .changeset-status-ico{
2614 2632 float: left;
2615 2633 }
2616 2634 .code-header .changeset-status-container .changeset-status-ico, .container .changeset-status-ico{
2617 2635 float: left;
2618 2636 }
2619 2637 .right .comments-container{
2620 2638 padding-right: 5px;
2621 2639 margin-top:1px;
2622 2640 float:right;
2623 2641 height:14px;
2624 2642 }
2625 2643
2626 2644 .right .comments-cnt{
2627 2645 float: left;
2628 2646 color: rgb(136, 136, 136);
2629 2647 padding-right: 2px;
2630 2648 }
2631 2649
2632 2650 .right .changes{
2633 2651 clear: both;
2634 2652 }
2635 2653
2636 2654 .right .changes .changed_total {
2637 2655 display: block;
2638 2656 float: right;
2639 2657 text-align: center;
2640 2658 min-width: 45px;
2641 2659 cursor: pointer;
2642 2660 color: #444444;
2643 2661 background: #FEA;
2644 2662 -webkit-border-radius: 0px 0px 0px 6px;
2645 2663 -moz-border-radius: 0px 0px 0px 6px;
2646 2664 border-radius: 0px 0px 0px 6px;
2647 2665 padding: 1px;
2648 2666 }
2649 2667
2650 2668 .right .changes .added,.changed,.removed {
2651 2669 display: block;
2652 2670 padding: 1px;
2653 2671 color: #444444;
2654 2672 float: right;
2655 2673 text-align: center;
2656 2674 min-width: 15px;
2657 2675 }
2658 2676
2659 2677 .right .changes .added {
2660 2678 background: #CFC;
2661 2679 }
2662 2680
2663 2681 .right .changes .changed {
2664 2682 background: #FEA;
2665 2683 }
2666 2684
2667 2685 .right .changes .removed {
2668 2686 background: #FAA;
2669 2687 }
2670 2688
2671 2689 .right .merge {
2672 2690 padding: 1px 3px 1px 3px;
2673 2691 background-color: #fca062;
2674 2692 font-size: 10px;
2675 2693 font-weight: bold;
2676 2694 color: #ffffff;
2677 2695 text-transform: uppercase;
2678 2696 white-space: nowrap;
2679 2697 -webkit-border-radius: 3px;
2680 2698 -moz-border-radius: 3px;
2681 2699 border-radius: 3px;
2682 2700 margin-right: 2px;
2683 2701 }
2684 2702
2685 2703 .right .parent {
2686 2704 color: #666666;
2687 2705 clear:both;
2688 2706 }
2689 2707 .right .logtags{
2690 2708 padding: 2px 2px 2px 2px;
2691 2709 }
2692 2710 .right .logtags .branchtag,.right .logtags .tagtag,.right .logtags .booktag{
2693 2711 margin: 0px 2px;
2694 2712 }
2695 2713
2696 2714 .right .logtags .branchtag,.logtags .branchtag {
2697 2715 padding: 1px 3px 1px 3px;
2698 2716 background-color: #bfbfbf;
2699 2717 font-size: 10px;
2700 2718 font-weight: bold;
2701 2719 color: #ffffff;
2702 2720 text-transform: uppercase;
2703 2721 white-space: nowrap;
2704 2722 -webkit-border-radius: 3px;
2705 2723 -moz-border-radius: 3px;
2706 2724 border-radius: 3px;
2707 2725 }
2708 2726 .right .logtags .branchtag a:hover,.logtags .branchtag a{
2709 2727 color: #ffffff;
2710 2728 }
2711 2729 .right .logtags .branchtag a:hover,.logtags .branchtag a:hover{
2712 2730 text-decoration: none;
2713 2731 color: #ffffff;
2714 2732 }
2715 2733 .right .logtags .tagtag,.logtags .tagtag {
2716 2734 padding: 1px 3px 1px 3px;
2717 2735 background-color: #62cffc;
2718 2736 font-size: 10px;
2719 2737 font-weight: bold;
2720 2738 color: #ffffff;
2721 2739 text-transform: uppercase;
2722 2740 white-space: nowrap;
2723 2741 -webkit-border-radius: 3px;
2724 2742 -moz-border-radius: 3px;
2725 2743 border-radius: 3px;
2726 2744 }
2727 2745 .right .logtags .tagtag a:hover,.logtags .tagtag a{
2728 2746 color: #ffffff;
2729 2747 }
2730 2748 .right .logtags .tagtag a:hover,.logtags .tagtag a:hover{
2731 2749 text-decoration: none;
2732 2750 color: #ffffff;
2733 2751 }
2734 2752 .right .logbooks .bookbook,.logbooks .bookbook,.right .logtags .bookbook,.logtags .bookbook {
2735 2753 padding: 1px 3px 1px 3px;
2736 2754 background-color: #46A546;
2737 2755 font-size: 10px;
2738 2756 font-weight: bold;
2739 2757 color: #ffffff;
2740 2758 text-transform: uppercase;
2741 2759 white-space: nowrap;
2742 2760 -webkit-border-radius: 3px;
2743 2761 -moz-border-radius: 3px;
2744 2762 border-radius: 3px;
2745 2763 }
2746 2764 .right .logbooks .bookbook,.logbooks .bookbook a,.right .logtags .bookbook,.logtags .bookbook a{
2747 2765 color: #ffffff;
2748 2766 }
2749 2767 .right .logbooks .bookbook,.logbooks .bookbook a:hover,.right .logtags .bookbook,.logtags .bookbook a:hover{
2750 2768 text-decoration: none;
2751 2769 color: #ffffff;
2752 2770 }
2753 2771 div.browserblock {
2754 2772 overflow: hidden;
2755 2773 border: 1px solid #ccc;
2756 2774 background: #f8f8f8;
2757 2775 font-size: 100%;
2758 2776 line-height: 125%;
2759 2777 padding: 0;
2760 2778 -webkit-border-radius: 6px 6px 0px 0px;
2761 2779 -moz-border-radius: 6px 6px 0px 0px;
2762 2780 border-radius: 6px 6px 0px 0px;
2763 2781 }
2764 2782
2765 2783 div.browserblock .browser-header {
2766 2784 background: #FFF;
2767 2785 padding: 10px 0px 15px 0px;
2768 2786 width: 100%;
2769 2787 }
2770 2788
2771 2789 div.browserblock .browser-nav {
2772 2790 float: left
2773 2791 }
2774 2792
2775 2793 div.browserblock .browser-branch {
2776 2794 float: left;
2777 2795 }
2778 2796
2779 2797 div.browserblock .browser-branch label {
2780 2798 color: #4A4A4A;
2781 2799 vertical-align: text-top;
2782 2800 }
2783 2801
2784 2802 div.browserblock .browser-header span {
2785 2803 margin-left: 5px;
2786 2804 font-weight: 700;
2787 2805 }
2788 2806
2789 2807 div.browserblock .browser-search {
2790 2808 clear: both;
2791 2809 padding: 8px 8px 0px 5px;
2792 2810 height: 20px;
2793 2811 }
2794 2812
2795 2813 div.browserblock #node_filter_box {
2796 2814
2797 2815 }
2798 2816
2799 2817 div.browserblock .search_activate {
2800 2818 float: left
2801 2819 }
2802 2820
2803 2821 div.browserblock .add_node {
2804 2822 float: left;
2805 2823 padding-left: 5px;
2806 2824 }
2807 2825
2808 2826 div.browserblock .search_activate a:hover,div.browserblock .add_node a:hover
2809 2827 {
2810 2828 text-decoration: none !important;
2811 2829 }
2812 2830
2813 2831 div.browserblock .browser-body {
2814 2832 background: #EEE;
2815 2833 border-top: 1px solid #CCC;
2816 2834 }
2817 2835
2818 2836 table.code-browser {
2819 2837 border-collapse: collapse;
2820 2838 width: 100%;
2821 2839 }
2822 2840
2823 2841 table.code-browser tr {
2824 2842 margin: 3px;
2825 2843 }
2826 2844
2827 2845 table.code-browser thead th {
2828 2846 background-color: #EEE;
2829 2847 height: 20px;
2830 2848 font-size: 1.1em;
2831 2849 font-weight: 700;
2832 2850 text-align: left;
2833 2851 padding-left: 10px;
2834 2852 }
2835 2853
2836 2854 table.code-browser tbody td {
2837 2855 padding-left: 10px;
2838 2856 height: 20px;
2839 2857 }
2840 2858
2841 2859 table.code-browser .browser-file {
2842 2860 background: url("../images/icons/document_16.png") no-repeat scroll 3px;
2843 2861 height: 16px;
2844 2862 padding-left: 20px;
2845 2863 text-align: left;
2846 2864 }
2847 2865 .diffblock .changeset_header {
2848 2866 height: 16px;
2849 2867 }
2850 2868 .diffblock .changeset_file {
2851 2869 background: url("../images/icons/file.png") no-repeat scroll 3px;
2852 2870 text-align: left;
2853 2871 float: left;
2854 2872 padding: 2px 0px 2px 22px;
2855 2873 }
2856 2874 .diffblock .diff-menu-wrapper{
2857 2875 float: left;
2858 2876 }
2859 2877
2860 2878 .diffblock .diff-menu{
2861 2879 position: absolute;
2862 2880 background: none repeat scroll 0 0 #FFFFFF;
2863 2881 border-color: #003367 #666666 #666666;
2864 2882 border-right: 1px solid #666666;
2865 2883 border-style: solid solid solid;
2866 2884 border-width: 1px;
2867 2885 box-shadow: 2px 8px 4px rgba(0, 0, 0, 0.2);
2868 2886 margin-top:5px;
2869 2887 margin-left:1px;
2870 2888
2871 2889 }
2872 2890 .diffblock .diff-actions {
2873 2891 padding: 2px 0px 0px 2px;
2874 2892 float: left;
2875 2893 }
2876 2894 .diffblock .diff-menu ul li {
2877 2895 padding: 0px 0px 0px 0px !important;
2878 2896 }
2879 2897 .diffblock .diff-menu ul li a{
2880 2898 display: block;
2881 2899 padding: 3px 8px 3px 8px !important;
2882 2900 }
2883 2901 .diffblock .diff-menu ul li a:hover{
2884 2902 text-decoration: none;
2885 2903 background-color: #EEEEEE;
2886 2904 }
2887 2905 table.code-browser .browser-dir {
2888 2906 background: url("../images/icons/folder_16.png") no-repeat scroll 3px;
2889 2907 height: 16px;
2890 2908 padding-left: 20px;
2891 2909 text-align: left;
2892 2910 }
2893 2911
2894 2912 table.code-browser .submodule-dir {
2895 2913 background: url("../images/icons/disconnect.png") no-repeat scroll 3px;
2896 2914 height: 16px;
2897 2915 padding-left: 20px;
2898 2916 text-align: left;
2899 2917 }
2900 2918
2901 2919
2902 2920 .box .search {
2903 2921 clear: both;
2904 2922 overflow: hidden;
2905 2923 margin: 0;
2906 2924 padding: 0 20px 10px;
2907 2925 }
2908 2926
2909 2927 .box .search div.search_path {
2910 2928 background: none repeat scroll 0 0 #EEE;
2911 2929 border: 1px solid #CCC;
2912 2930 color: blue;
2913 2931 margin-bottom: 10px;
2914 2932 padding: 10px 0;
2915 2933 }
2916 2934
2917 2935 .box .search div.search_path div.link {
2918 2936 font-weight: 700;
2919 2937 margin-left: 25px;
2920 2938 }
2921 2939
2922 2940 .box .search div.search_path div.link a {
2923 2941 color: #003367;
2924 2942 cursor: pointer;
2925 2943 text-decoration: none;
2926 2944 }
2927 2945
2928 2946 #path_unlock {
2929 2947 color: red;
2930 2948 font-size: 1.2em;
2931 2949 padding-left: 4px;
2932 2950 }
2933 2951
2934 2952 .info_box span {
2935 2953 margin-left: 3px;
2936 2954 margin-right: 3px;
2937 2955 }
2938 2956
2939 2957 .info_box .rev {
2940 2958 color: #003367;
2941 2959 font-size: 1.6em;
2942 2960 font-weight: bold;
2943 2961 vertical-align: sub;
2944 2962 }
2945 2963
2946 2964 .info_box input#at_rev,.info_box input#size {
2947 2965 background: #FFF;
2948 2966 border-top: 1px solid #b3b3b3;
2949 2967 border-left: 1px solid #b3b3b3;
2950 2968 border-right: 1px solid #eaeaea;
2951 2969 border-bottom: 1px solid #eaeaea;
2952 2970 color: #000;
2953 2971 font-size: 12px;
2954 2972 margin: 0;
2955 2973 padding: 1px 5px 1px;
2956 2974 }
2957 2975
2958 2976 .info_box input#view {
2959 2977 text-align: center;
2960 2978 padding: 4px 3px 2px 2px;
2961 2979 }
2962 2980
2963 2981 .yui-overlay,.yui-panel-container {
2964 2982 visibility: hidden;
2965 2983 position: absolute;
2966 2984 z-index: 2;
2967 2985 }
2968 2986
2969 2987 .yui-tt {
2970 2988 visibility: hidden;
2971 2989 position: absolute;
2972 2990 color: #666;
2973 2991 background-color: #FFF;
2974 2992 border: 2px solid #003367;
2975 2993 font: 100% sans-serif;
2976 2994 width: auto;
2977 2995 opacity: 1px;
2978 2996 padding: 8px;
2979 2997 white-space: pre-wrap;
2980 2998 -webkit-border-radius: 8px 8px 8px 8px;
2981 2999 -khtml-border-radius: 8px 8px 8px 8px;
2982 3000 -moz-border-radius: 8px 8px 8px 8px;
2983 3001 border-radius: 8px 8px 8px 8px;
2984 3002 box-shadow: 0 2px 2px rgba(0, 0, 0, 0.6);
2985 3003 }
2986 3004
2987 3005 .mentions-container{
2988 3006 width: 90% !important;
2989 3007 }
2990 3008 .mentions-container .yui-ac-content{
2991 3009 width: 100% !important;
2992 3010 }
2993 3011
2994 3012 .ac {
2995 3013 vertical-align: top;
2996 3014 }
2997 3015
2998 3016 .ac .yui-ac {
2999 3017 position: inherit;
3000 3018 font-size: 100%;
3001 3019 }
3002 3020
3003 3021 .ac .perm_ac {
3004 3022 width: 20em;
3005 3023 }
3006 3024
3007 3025 .ac .yui-ac-input {
3008 3026 width: 100%;
3009 3027 }
3010 3028
3011 3029 .ac .yui-ac-container {
3012 3030 position: absolute;
3013 3031 top: 1.6em;
3014 3032 width: auto;
3015 3033 }
3016 3034
3017 3035 .ac .yui-ac-content {
3018 3036 position: absolute;
3019 3037 border: 1px solid gray;
3020 3038 background: #fff;
3021 3039 z-index: 9050;
3022 3040
3023 3041 }
3024 3042
3025 3043 .ac .yui-ac-shadow {
3026 3044 position: absolute;
3027 3045 width: 100%;
3028 3046 background: #000;
3029 3047 -moz-opacity: 0.1px;
3030 3048 opacity: .10;
3031 3049 filter: alpha(opacity = 10);
3032 3050 z-index: 9049;
3033 3051 margin: .3em;
3034 3052 }
3035 3053
3036 3054 .ac .yui-ac-content ul {
3037 3055 width: 100%;
3038 3056 margin: 0;
3039 3057 padding: 0;
3040 3058 z-index: 9050;
3041 3059 }
3042 3060
3043 3061 .ac .yui-ac-content li {
3044 3062 cursor: default;
3045 3063 white-space: nowrap;
3046 3064 margin: 0;
3047 3065 padding: 2px 5px;
3048 3066 height: 18px;
3049 3067 z-index: 9050;
3050 3068 display: block;
3051 3069 width: auto !important;
3052 3070 }
3053 3071
3054 3072 .ac .yui-ac-content li .ac-container-wrap{
3055 3073 width: auto;
3056 3074 }
3057 3075
3058 3076 .ac .yui-ac-content li.yui-ac-prehighlight {
3059 3077 background: #B3D4FF;
3060 3078 z-index: 9050;
3061 3079 }
3062 3080
3063 3081 .ac .yui-ac-content li.yui-ac-highlight {
3064 3082 background: #556CB5;
3065 3083 color: #FFF;
3066 3084 z-index: 9050;
3067 3085 }
3068 3086 .ac .yui-ac-bd{
3069 3087 z-index: 9050;
3070 3088 }
3071 3089
3072 3090 .follow {
3073 3091 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3074 3092 height: 16px;
3075 3093 width: 20px;
3076 3094 cursor: pointer;
3077 3095 display: block;
3078 3096 float: right;
3079 3097 margin-top: 2px;
3080 3098 }
3081 3099
3082 3100 .following {
3083 3101 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3084 3102 height: 16px;
3085 3103 width: 20px;
3086 3104 cursor: pointer;
3087 3105 display: block;
3088 3106 float: right;
3089 3107 margin-top: 2px;
3090 3108 }
3091 3109
3092 3110 .currently_following {
3093 3111 padding-left: 10px;
3094 3112 padding-bottom: 5px;
3095 3113 }
3096 3114
3097 3115 .add_icon {
3098 3116 background: url("../images/icons/add.png") no-repeat scroll 3px;
3099 3117 padding-left: 20px;
3100 3118 padding-top: 0px;
3101 3119 text-align: left;
3102 3120 }
3103 3121
3104 3122 .accept_icon {
3105 3123 background: url("../images/icons/accept.png") no-repeat scroll 3px;
3106 3124 padding-left: 20px;
3107 3125 padding-top: 0px;
3108 3126 text-align: left;
3109 3127 }
3110 3128
3111 3129 .edit_icon {
3112 3130 background: url("../images/icons/folder_edit.png") no-repeat scroll 3px;
3113 3131 padding-left: 20px;
3114 3132 padding-top: 0px;
3115 3133 text-align: left;
3116 3134 }
3117 3135
3118 3136 .delete_icon {
3119 3137 background: url("../images/icons/delete.png") no-repeat scroll 3px;
3120 3138 padding-left: 20px;
3121 3139 padding-top: 0px;
3122 3140 text-align: left;
3123 3141 }
3124 3142
3125 3143 .refresh_icon {
3126 3144 background: url("../images/icons/arrow_refresh.png") no-repeat scroll
3127 3145 3px;
3128 3146 padding-left: 20px;
3129 3147 padding-top: 0px;
3130 3148 text-align: left;
3131 3149 }
3132 3150
3133 3151 .pull_icon {
3134 3152 background: url("../images/icons/connect.png") no-repeat scroll 3px;
3135 3153 padding-left: 20px;
3136 3154 padding-top: 0px;
3137 3155 text-align: left;
3138 3156 }
3139 3157
3140 3158 .rss_icon {
3141 3159 background: url("../images/icons/rss_16.png") no-repeat scroll 3px;
3142 3160 padding-left: 20px;
3143 3161 padding-top: 4px;
3144 3162 text-align: left;
3145 3163 font-size: 8px
3146 3164 }
3147 3165
3148 3166 .atom_icon {
3149 3167 background: url("../images/icons/atom.png") no-repeat scroll 3px;
3150 3168 padding-left: 20px;
3151 3169 padding-top: 4px;
3152 3170 text-align: left;
3153 3171 font-size: 8px
3154 3172 }
3155 3173
3156 3174 .archive_icon {
3157 3175 background: url("../images/icons/compress.png") no-repeat scroll 3px;
3158 3176 padding-left: 20px;
3159 3177 text-align: left;
3160 3178 padding-top: 1px;
3161 3179 }
3162 3180
3163 3181 .start_following_icon {
3164 3182 background: url("../images/icons/heart_add.png") no-repeat scroll 3px;
3165 3183 padding-left: 20px;
3166 3184 text-align: left;
3167 3185 padding-top: 0px;
3168 3186 }
3169 3187
3170 3188 .stop_following_icon {
3171 3189 background: url("../images/icons/heart_delete.png") no-repeat scroll 3px;
3172 3190 padding-left: 20px;
3173 3191 text-align: left;
3174 3192 padding-top: 0px;
3175 3193 }
3176 3194
3177 3195 .action_button {
3178 3196 border: 0;
3179 3197 display: inline;
3180 3198 }
3181 3199
3182 3200 .action_button:hover {
3183 3201 border: 0;
3184 3202 text-decoration: underline;
3185 3203 cursor: pointer;
3186 3204 }
3187 3205
3188 3206 #switch_repos {
3189 3207 position: absolute;
3190 3208 height: 25px;
3191 3209 z-index: 1;
3192 3210 }
3193 3211
3194 3212 #switch_repos select {
3195 3213 min-width: 150px;
3196 3214 max-height: 250px;
3197 3215 z-index: 1;
3198 3216 }
3199 3217
3200 3218 .breadcrumbs {
3201 3219 border: medium none;
3202 3220 color: #FFF;
3203 3221 float: left;
3204 3222 text-transform: uppercase;
3205 3223 font-weight: 700;
3206 3224 font-size: 14px;
3207 3225 margin: 0;
3208 3226 padding: 11px 0 11px 10px;
3209 3227 }
3210 3228
3211 3229 .breadcrumbs .hash {
3212 3230 text-transform: none;
3213 3231 color: #fff;
3214 3232 }
3215 3233
3216 3234 .breadcrumbs a {
3217 3235 color: #FFF;
3218 3236 }
3219 3237
3220 3238 .flash_msg {
3221 3239
3222 3240 }
3223 3241
3224 3242 .flash_msg ul {
3225 3243
3226 3244 }
3227 3245
3228 3246 .error_red {
3229 3247 color:red;
3230 3248 }
3231 3249
3232 3250 .error_msg {
3233 3251 background-color: #c43c35;
3234 3252 background-repeat: repeat-x;
3235 3253 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35) );
3236 3254 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3237 3255 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3238 3256 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35) );
3239 3257 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3240 3258 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3241 3259 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3242 3260 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b',endColorstr='#c43c35', GradientType=0 );
3243 3261 border-color: #c43c35 #c43c35 #882a25;
3244 3262 }
3245 3263
3246 3264 .warning_msg {
3247 3265 color: #404040 !important;
3248 3266 background-color: #eedc94;
3249 3267 background-repeat: repeat-x;
3250 3268 background-image: -khtml-gradient(linear, left top, left bottom, from(#fceec1), to(#eedc94) );
3251 3269 background-image: -moz-linear-gradient(top, #fceec1, #eedc94);
3252 3270 background-image: -ms-linear-gradient(top, #fceec1, #eedc94);
3253 3271 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fceec1), color-stop(100%, #eedc94) );
3254 3272 background-image: -webkit-linear-gradient(top, #fceec1, #eedc94);
3255 3273 background-image: -o-linear-gradient(top, #fceec1, #eedc94);
3256 3274 background-image: linear-gradient(top, #fceec1, #eedc94);
3257 3275 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceec1', endColorstr='#eedc94', GradientType=0 );
3258 3276 border-color: #eedc94 #eedc94 #e4c652;
3259 3277 }
3260 3278
3261 3279 .success_msg {
3262 3280 background-color: #57a957;
3263 3281 background-repeat: repeat-x !important;
3264 3282 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957) );
3265 3283 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3266 3284 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3267 3285 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957) );
3268 3286 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3269 3287 background-image: -o-linear-gradient(top, #62c462, #57a957);
3270 3288 background-image: linear-gradient(top, #62c462, #57a957);
3271 3289 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0 );
3272 3290 border-color: #57a957 #57a957 #3d773d;
3273 3291 }
3274 3292
3275 3293 .notice_msg {
3276 3294 background-color: #339bb9;
3277 3295 background-repeat: repeat-x;
3278 3296 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9) );
3279 3297 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3280 3298 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3281 3299 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9) );
3282 3300 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3283 3301 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3284 3302 background-image: linear-gradient(top, #5bc0de, #339bb9);
3285 3303 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0 );
3286 3304 border-color: #339bb9 #339bb9 #22697d;
3287 3305 }
3288 3306
3289 3307 .success_msg,.error_msg,.notice_msg,.warning_msg {
3290 3308 font-size: 12px;
3291 3309 font-weight: 700;
3292 3310 min-height: 14px;
3293 3311 line-height: 14px;
3294 3312 margin-bottom: 10px;
3295 3313 margin-top: 0;
3296 3314 display: block;
3297 3315 overflow: auto;
3298 3316 padding: 6px 10px 6px 10px;
3299 3317 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3300 3318 position: relative;
3301 3319 color: #FFF;
3302 3320 border-width: 1px;
3303 3321 border-style: solid;
3304 3322 -webkit-border-radius: 4px;
3305 3323 -moz-border-radius: 4px;
3306 3324 border-radius: 4px;
3307 3325 -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3308 3326 -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3309 3327 box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25);
3310 3328 }
3311 3329
3312 3330 #msg_close {
3313 3331 background: transparent url("../icons/cross_grey_small.png") no-repeat scroll 0 0;
3314 3332 cursor: pointer;
3315 3333 height: 16px;
3316 3334 position: absolute;
3317 3335 right: 5px;
3318 3336 top: 5px;
3319 3337 width: 16px;
3320 3338 }
3321 3339 div#legend_data{
3322 3340 padding-left:10px;
3323 3341 }
3324 3342 div#legend_container table{
3325 3343 border: none !important;
3326 3344 }
3327 3345 div#legend_container table,div#legend_choices table {
3328 3346 width: auto !important;
3329 3347 }
3330 3348
3331 3349 table#permissions_manage {
3332 3350 width: 0 !important;
3333 3351 }
3334 3352
3335 3353 table#permissions_manage span.private_repo_msg {
3336 3354 font-size: 0.8em;
3337 3355 opacity: 0.6px;
3338 3356 }
3339 3357
3340 3358 table#permissions_manage td.private_repo_msg {
3341 3359 font-size: 0.8em;
3342 3360 }
3343 3361
3344 3362 table#permissions_manage tr#add_perm_input td {
3345 3363 vertical-align: middle;
3346 3364 }
3347 3365
3348 3366 div.gravatar {
3349 3367 background-color: #FFF;
3350 3368 float: left;
3351 3369 margin-right: 0.7em;
3352 3370 padding: 1px 1px 1px 1px;
3353 3371 line-height:0;
3354 3372 -webkit-border-radius: 3px;
3355 3373 -khtml-border-radius: 3px;
3356 3374 -moz-border-radius: 3px;
3357 3375 border-radius: 3px;
3358 3376 }
3359 3377
3360 3378 div.gravatar img {
3361 3379 -webkit-border-radius: 2px;
3362 3380 -khtml-border-radius: 2px;
3363 3381 -moz-border-radius: 2px;
3364 3382 border-radius: 2px;
3365 3383 }
3366 3384
3367 3385 #header,#content,#footer {
3368 3386 min-width: 978px;
3369 3387 }
3370 3388
3371 3389 #content {
3372 3390 clear: both;
3373 3391 overflow: hidden;
3374 3392 padding: 54px 10px 14px 10px;
3375 3393 }
3376 3394
3377 3395 #content div.box div.title div.search {
3378 3396
3379 3397 border-left: 1px solid #316293;
3380 3398 }
3381 3399
3382 3400 #content div.box div.title div.search div.input input {
3383 3401 border: 1px solid #316293;
3384 3402 }
3385 3403
3386 3404 .ui-btn{
3387 3405 color: #515151;
3388 3406 background-color: #DADADA;
3389 3407 background-repeat: repeat-x;
3390 3408 background-image: -khtml-gradient(linear, left top, left bottom, from(#F4F4F4),to(#DADADA) );
3391 3409 background-image: -moz-linear-gradient(top, #F4F4F4, #DADADA);
3392 3410 background-image: -ms-linear-gradient(top, #F4F4F4, #DADADA);
3393 3411 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #F4F4F4),color-stop(100%, #DADADA) );
3394 3412 background-image: -webkit-linear-gradient(top, #F4F4F4, #DADADA) );
3395 3413 background-image: -o-linear-gradient(top, #F4F4F4, #DADADA) );
3396 3414 background-image: linear-gradient(top, #F4F4F4, #DADADA);
3397 3415 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#F4F4F4', endColorstr='#DADADA', GradientType=0);
3398 3416
3399 3417 border-top: 1px solid #DDD;
3400 3418 border-left: 1px solid #c6c6c6;
3401 3419 border-right: 1px solid #DDD;
3402 3420 border-bottom: 1px solid #c6c6c6;
3403 3421 color: #515151;
3404 3422 outline: none;
3405 3423 margin: 0px 3px 3px 0px;
3406 3424 -webkit-border-radius: 4px 4px 4px 4px !important;
3407 3425 -khtml-border-radius: 4px 4px 4px 4px !important;
3408 3426 -moz-border-radius: 4px 4px 4px 4px !important;
3409 3427 border-radius: 4px 4px 4px 4px !important;
3410 3428 cursor: pointer !important;
3411 3429 padding: 3px 3px 3px 3px;
3412 3430 background-position: 0 -15px;
3413 3431
3414 3432 }
3415 3433 .ui-btn.xsmall{
3416 3434 padding: 1px 2px 1px 1px;
3417 3435 }
3418 3436
3419 3437 .ui-btn.large{
3420 3438 padding: 6px 12px;
3421 3439 }
3422 3440
3423 3441 .ui-btn.clone{
3424 3442 padding: 5px 2px 6px 1px;
3425 3443 margin: 0px -4px 3px 0px;
3426 3444 -webkit-border-radius: 4px 0px 0px 4px !important;
3427 3445 -khtml-border-radius: 4px 0px 0px 4px !important;
3428 3446 -moz-border-radius: 4px 0px 0px 4px !important;
3429 3447 border-radius: 4px 0px 0px 4px !important;
3430 3448 width: 100px;
3431 3449 text-align: center;
3432 3450 float: left;
3433 3451 position: absolute;
3434 3452 }
3435 3453 .ui-btn:focus {
3436 3454 outline: none;
3437 3455 }
3438 3456 .ui-btn:hover{
3439 3457 background-position: 0 0px;
3440 3458 text-decoration: none;
3441 3459 color: #515151;
3442 3460 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25), 0 0 3px #FFFFFF !important;
3443 3461 }
3444 3462
3445 3463 .ui-btn.red{
3446 3464 color:#fff;
3447 3465 background-color: #c43c35;
3448 3466 background-repeat: repeat-x;
3449 3467 background-image: -khtml-gradient(linear, left top, left bottom, from(#ee5f5b), to(#c43c35));
3450 3468 background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
3451 3469 background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);
3452 3470 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #ee5f5b), color-stop(100%, #c43c35));
3453 3471 background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
3454 3472 background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
3455 3473 background-image: linear-gradient(top, #ee5f5b, #c43c35);
3456 3474 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);
3457 3475 border-color: #c43c35 #c43c35 #882a25;
3458 3476 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3459 3477 }
3460 3478
3461 3479
3462 3480 .ui-btn.blue{
3463 3481 color:#fff;
3464 3482 background-color: #339bb9;
3465 3483 background-repeat: repeat-x;
3466 3484 background-image: -khtml-gradient(linear, left top, left bottom, from(#5bc0de), to(#339bb9));
3467 3485 background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
3468 3486 background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);
3469 3487 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5bc0de), color-stop(100%, #339bb9));
3470 3488 background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
3471 3489 background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
3472 3490 background-image: linear-gradient(top, #5bc0de, #339bb9);
3473 3491 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);
3474 3492 border-color: #339bb9 #339bb9 #22697d;
3475 3493 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3476 3494 }
3477 3495
3478 3496 .ui-btn.green{
3479 3497 background-color: #57a957;
3480 3498 background-repeat: repeat-x;
3481 3499 background-image: -khtml-gradient(linear, left top, left bottom, from(#62c462), to(#57a957));
3482 3500 background-image: -moz-linear-gradient(top, #62c462, #57a957);
3483 3501 background-image: -ms-linear-gradient(top, #62c462, #57a957);
3484 3502 background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #62c462), color-stop(100%, #57a957));
3485 3503 background-image: -webkit-linear-gradient(top, #62c462, #57a957);
3486 3504 background-image: -o-linear-gradient(top, #62c462, #57a957);
3487 3505 background-image: linear-gradient(top, #62c462, #57a957);
3488 3506 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);
3489 3507 border-color: #57a957 #57a957 #3d773d;
3490 3508 border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3491 3509 }
3492 3510
3493 3511 .ui-btn.active{
3494 3512 font-weight: bold;
3495 3513 }
3496 3514
3497 3515 ins,div.options a:hover {
3498 3516 text-decoration: none;
3499 3517 }
3500 3518
3501 3519 img,
3502 3520 #header #header-inner #quick li a:hover span.normal,
3503 3521 #header #header-inner #quick li ul li.last,
3504 3522 #content div.box div.form div.fields div.field div.textarea table td table td a,
3505 3523 #clone_url,
3506 3524 #clone_url_id
3507 3525 {
3508 3526 border: none;
3509 3527 }
3510 3528
3511 3529 img.icon,.right .merge img {
3512 3530 vertical-align: bottom;
3513 3531 }
3514 3532
3515 3533 #header ul#logged-user,#content div.box div.title ul.links,
3516 3534 #content div.box div.message div.dismiss,
3517 3535 #content div.box div.traffic div.legend ul
3518 3536 {
3519 3537 float: right;
3520 3538 margin: 0;
3521 3539 padding: 0;
3522 3540 }
3523 3541
3524 3542 #header #header-inner #home,#header #header-inner #logo,
3525 3543 #content div.box ul.left,#content div.box ol.left,
3526 3544 #content div.box div.pagination-left,div#commit_history,
3527 3545 div#legend_data,div#legend_container,div#legend_choices
3528 3546 {
3529 3547 float: left;
3530 3548 }
3531 3549
3532 3550 #header #header-inner #quick li:hover ul ul,
3533 3551 #header #header-inner #quick li:hover ul ul ul,
3534 3552 #header #header-inner #quick li:hover ul ul ul ul,
3535 3553 #content #left #menu ul.closed,#content #left #menu li ul.collapsed,.yui-tt-shadow
3536 3554 {
3537 3555 display: none;
3538 3556 }
3539 3557
3540 3558 #header #header-inner #quick li:hover ul,#header #header-inner #quick li li:hover ul,#header #header-inner #quick li li li:hover ul,#header #header-inner #quick li li li li:hover ul,#content #left #menu ul.opened,#content #left #menu li ul.expanded
3541 3559 {
3542 3560 display: block;
3543 3561 }
3544 3562
3545 3563 #content div.graph {
3546 3564 padding: 0 10px 10px;
3547 3565 }
3548 3566
3549 3567 #content div.box div.title ul.links li a:hover,#content div.box div.title ul.links li.ui-tabs-selected a
3550 3568 {
3551 3569 color: #bfe3ff;
3552 3570 }
3553 3571
3554 3572 #content div.box ol.lower-roman,#content div.box ol.upper-roman,#content div.box ol.lower-alpha,#content div.box ol.upper-alpha,#content div.box ol.decimal
3555 3573 {
3556 3574 margin: 10px 24px 10px 44px;
3557 3575 }
3558 3576
3559 3577 #content div.box div.form,#content div.box div.table,#content div.box div.traffic
3560 3578 {
3561 3579 clear: both;
3562 3580 overflow: hidden;
3563 3581 margin: 0;
3564 3582 padding: 0 20px 10px;
3565 3583 }
3566 3584
3567 3585 #content div.box div.form div.fields,#login div.form,#login div.form div.fields,#register div.form,#register div.form div.fields
3568 3586 {
3569 3587 clear: both;
3570 3588 overflow: hidden;
3571 3589 margin: 0;
3572 3590 padding: 0;
3573 3591 }
3574 3592
3575 3593 #content div.box div.form div.fields div.field div.label span,#login div.form div.fields div.field div.label span,#register div.form div.fields div.field div.label span
3576 3594 {
3577 3595 height: 1%;
3578 3596 display: block;
3579 3597 color: #363636;
3580 3598 margin: 0;
3581 3599 padding: 2px 0 0;
3582 3600 }
3583 3601
3584 3602 #content div.box div.form div.fields div.field div.input input.error,#login div.form div.fields div.field div.input input.error,#register div.form div.fields div.field div.input input.error
3585 3603 {
3586 3604 background: #FBE3E4;
3587 3605 border-top: 1px solid #e1b2b3;
3588 3606 border-left: 1px solid #e1b2b3;
3589 3607 border-right: 1px solid #FBC2C4;
3590 3608 border-bottom: 1px solid #FBC2C4;
3591 3609 }
3592 3610
3593 3611 #content div.box div.form div.fields div.field div.input input.success,#login div.form div.fields div.field div.input input.success,#register div.form div.fields div.field div.input input.success
3594 3612 {
3595 3613 background: #E6EFC2;
3596 3614 border-top: 1px solid #cebb98;
3597 3615 border-left: 1px solid #cebb98;
3598 3616 border-right: 1px solid #c6d880;
3599 3617 border-bottom: 1px solid #c6d880;
3600 3618 }
3601 3619
3602 3620 #content div.box-left div.form div.fields div.field div.textarea,#content div.box-right div.form div.fields div.field div.textarea,#content div.box div.form div.fields div.field div.select select,#content div.box table th.selected input,#content div.box table td.selected input
3603 3621 {
3604 3622 margin: 0;
3605 3623 }
3606 3624
3607 3625 #content div.box-left div.form div.fields div.field div.select,#content div.box-left div.form div.fields div.field div.checkboxes,#content div.box-left div.form div.fields div.field div.radios,#content div.box-right div.form div.fields div.field div.select,#content div.box-right div.form div.fields div.field div.checkboxes,#content div.box-right div.form div.fields div.field div.radios
3608 3626 {
3609 3627 margin: 0 0 0 0px !important;
3610 3628 padding: 0;
3611 3629 }
3612 3630
3613 3631 #content div.box div.form div.fields div.field div.select,#content div.box div.form div.fields div.field div.checkboxes,#content div.box div.form div.fields div.field div.radios
3614 3632 {
3615 3633 margin: 0 0 0 200px;
3616 3634 padding: 0;
3617 3635 }
3618 3636
3619 3637 #content div.box div.form div.fields div.field div.select a:hover,#content div.box div.form div.fields div.field div.select a.ui-selectmenu:hover,#content div.box div.action a:hover
3620 3638 {
3621 3639 color: #000;
3622 3640 text-decoration: none;
3623 3641 }
3624 3642
3625 3643 #content div.box div.form div.fields div.field div.select a.ui-selectmenu-focus,#content div.box div.action a.ui-selectmenu-focus
3626 3644 {
3627 3645 border: 1px solid #666;
3628 3646 }
3629 3647
3630 3648 #content div.box div.form div.fields div.field div.checkboxes div.checkbox,#content div.box div.form div.fields div.field div.radios div.radio
3631 3649 {
3632 3650 clear: both;
3633 3651 overflow: hidden;
3634 3652 margin: 0;
3635 3653 padding: 8px 0 2px;
3636 3654 }
3637 3655
3638 3656 #content div.box div.form div.fields div.field div.checkboxes div.checkbox input,#content div.box div.form div.fields div.field div.radios div.radio input
3639 3657 {
3640 3658 float: left;
3641 3659 margin: 0;
3642 3660 }
3643 3661
3644 3662 #content div.box div.form div.fields div.field div.checkboxes div.checkbox label,#content div.box div.form div.fields div.field div.radios div.radio label
3645 3663 {
3646 3664 height: 1%;
3647 3665 display: block;
3648 3666 float: left;
3649 3667 margin: 2px 0 0 4px;
3650 3668 }
3651 3669
3652 3670 div.form div.fields div.field div.button input,
3653 3671 #content div.box div.form div.fields div.buttons input
3654 3672 div.form div.fields div.buttons input,
3655 3673 #content div.box div.action div.button input {
3656 3674 /*color: #000;*/
3657 3675 font-size: 11px;
3658 3676 font-weight: 700;
3659 3677 margin: 0;
3660 3678 }
3661 3679
3662 3680 input.ui-button {
3663 3681 background: #e5e3e3 url("../images/button.png") repeat-x;
3664 3682 border-top: 1px solid #DDD;
3665 3683 border-left: 1px solid #c6c6c6;
3666 3684 border-right: 1px solid #DDD;
3667 3685 border-bottom: 1px solid #c6c6c6;
3668 3686 color: #515151 !important;
3669 3687 outline: none;
3670 3688 margin: 0;
3671 3689 padding: 6px 12px;
3672 3690 -webkit-border-radius: 4px 4px 4px 4px;
3673 3691 -khtml-border-radius: 4px 4px 4px 4px;
3674 3692 -moz-border-radius: 4px 4px 4px 4px;
3675 3693 border-radius: 4px 4px 4px 4px;
3676 3694 box-shadow: 0 1px 0 #ececec;
3677 3695 cursor: pointer;
3678 3696 }
3679 3697
3680 3698 input.ui-button:hover {
3681 3699 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3682 3700 border-top: 1px solid #ccc;
3683 3701 border-left: 1px solid #bebebe;
3684 3702 border-right: 1px solid #b1b1b1;
3685 3703 border-bottom: 1px solid #afafaf;
3686 3704 }
3687 3705
3688 3706 div.form div.fields div.field div.highlight,#content div.box div.form div.fields div.buttons div.highlight
3689 3707 {
3690 3708 display: inline;
3691 3709 }
3692 3710
3693 3711 #content div.box div.form div.fields div.buttons,div.form div.fields div.buttons
3694 3712 {
3695 3713 margin: 10px 0 0 200px;
3696 3714 padding: 0;
3697 3715 }
3698 3716
3699 3717 #content div.box-left div.form div.fields div.buttons,#content div.box-right div.form div.fields div.buttons,div.box-left div.form div.fields div.buttons,div.box-right div.form div.fields div.buttons
3700 3718 {
3701 3719 margin: 10px 0 0;
3702 3720 }
3703 3721
3704 3722 #content div.box table td.user,#content div.box table td.address {
3705 3723 width: 10%;
3706 3724 text-align: center;
3707 3725 }
3708 3726
3709 3727 #content div.box div.action div.button,#login div.form div.fields div.field div.input div.link,#register div.form div.fields div.field div.input div.link
3710 3728 {
3711 3729 text-align: right;
3712 3730 margin: 6px 0 0;
3713 3731 padding: 0;
3714 3732 }
3715 3733
3716 3734 #content div.box div.action div.button input.ui-state-hover,#login div.form div.fields div.buttons input.ui-state-hover,#register div.form div.fields div.buttons input.ui-state-hover
3717 3735 {
3718 3736 background: #b4b4b4 url("../images/button_selected.png") repeat-x;
3719 3737 border-top: 1px solid #ccc;
3720 3738 border-left: 1px solid #bebebe;
3721 3739 border-right: 1px solid #b1b1b1;
3722 3740 border-bottom: 1px solid #afafaf;
3723 3741 color: #515151;
3724 3742 margin: 0;
3725 3743 padding: 6px 12px;
3726 3744 }
3727 3745
3728 3746 #content div.box div.pagination div.results,#content div.box div.pagination-wh div.results
3729 3747 {
3730 3748 text-align: left;
3731 3749 float: left;
3732 3750 margin: 0;
3733 3751 padding: 0;
3734 3752 }
3735 3753
3736 3754 #content div.box div.pagination div.results span,#content div.box div.pagination-wh div.results span
3737 3755 {
3738 3756 height: 1%;
3739 3757 display: block;
3740 3758 float: left;
3741 3759 background: #ebebeb url("../images/pager.png") repeat-x;
3742 3760 border-top: 1px solid #dedede;
3743 3761 border-left: 1px solid #cfcfcf;
3744 3762 border-right: 1px solid #c4c4c4;
3745 3763 border-bottom: 1px solid #c4c4c4;
3746 3764 color: #4A4A4A;
3747 3765 font-weight: 700;
3748 3766 margin: 0;
3749 3767 padding: 6px 8px;
3750 3768 }
3751 3769
3752 3770 #content div.box div.pagination ul.pager li.disabled,#content div.box div.pagination-wh a.disabled
3753 3771 {
3754 3772 color: #B4B4B4;
3755 3773 padding: 6px;
3756 3774 }
3757 3775
3758 3776 #login,#register {
3759 3777 width: 520px;
3760 3778 margin: 10% auto 0;
3761 3779 padding: 0;
3762 3780 }
3763 3781
3764 3782 #login div.color,#register div.color {
3765 3783 clear: both;
3766 3784 overflow: hidden;
3767 3785 background: #FFF;
3768 3786 margin: 10px auto 0;
3769 3787 padding: 3px 3px 3px 0;
3770 3788 }
3771 3789
3772 3790 #login div.color a,#register div.color a {
3773 3791 width: 20px;
3774 3792 height: 20px;
3775 3793 display: block;
3776 3794 float: left;
3777 3795 margin: 0 0 0 3px;
3778 3796 padding: 0;
3779 3797 }
3780 3798
3781 3799 #login div.title h5,#register div.title h5 {
3782 3800 color: #fff;
3783 3801 margin: 10px;
3784 3802 padding: 0;
3785 3803 }
3786 3804
3787 3805 #login div.form div.fields div.field,#register div.form div.fields div.field
3788 3806 {
3789 3807 clear: both;
3790 3808 overflow: hidden;
3791 3809 margin: 0;
3792 3810 padding: 0 0 10px;
3793 3811 }
3794 3812
3795 3813 #login div.form div.fields div.field span.error-message,#register div.form div.fields div.field span.error-message
3796 3814 {
3797 3815 height: 1%;
3798 3816 display: block;
3799 3817 color: red;
3800 3818 margin: 8px 0 0;
3801 3819 padding: 0;
3802 3820 max-width: 320px;
3803 3821 }
3804 3822
3805 3823 #login div.form div.fields div.field div.label label,#register div.form div.fields div.field div.label label
3806 3824 {
3807 3825 color: #000;
3808 3826 font-weight: 700;
3809 3827 }
3810 3828
3811 3829 #login div.form div.fields div.field div.input,#register div.form div.fields div.field div.input
3812 3830 {
3813 3831 float: left;
3814 3832 margin: 0;
3815 3833 padding: 0;
3816 3834 }
3817 3835
3818 3836 #login div.form div.fields div.field div.checkbox,#register div.form div.fields div.field div.checkbox
3819 3837 {
3820 3838 margin: 0 0 0 184px;
3821 3839 padding: 0;
3822 3840 }
3823 3841
3824 3842 #login div.form div.fields div.field div.checkbox label,#register div.form div.fields div.field div.checkbox label
3825 3843 {
3826 3844 color: #565656;
3827 3845 font-weight: 700;
3828 3846 }
3829 3847
3830 3848 #login div.form div.fields div.buttons input,#register div.form div.fields div.buttons input
3831 3849 {
3832 3850 color: #000;
3833 3851 font-size: 1em;
3834 3852 font-weight: 700;
3835 3853 margin: 0;
3836 3854 }
3837 3855
3838 3856 #changeset_content .container .wrapper,#graph_content .container .wrapper
3839 3857 {
3840 3858 width: 600px;
3841 3859 }
3842 3860
3843 3861 #changeset_content .container .left {
3844 3862 float: left;
3845 3863 width: 75%;
3846 3864 padding-left: 5px;
3847 3865 }
3848 3866
3849 3867 #changeset_content .container .left .date,.ac .match {
3850 3868 font-weight: 700;
3851 3869 padding-top: 5px;
3852 3870 padding-bottom: 5px;
3853 3871 }
3854 3872
3855 3873 div#legend_container table td,div#legend_choices table td {
3856 3874 border: none !important;
3857 3875 height: 20px !important;
3858 3876 padding: 0 !important;
3859 3877 }
3860 3878
3861 3879 .q_filter_box {
3862 3880 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3863 3881 -webkit-border-radius: 4px;
3864 3882 -moz-border-radius: 4px;
3865 3883 border-radius: 4px;
3866 3884 border: 0 none;
3867 3885 color: #AAAAAA;
3868 3886 margin-bottom: -4px;
3869 3887 margin-top: -4px;
3870 3888 padding-left: 3px;
3871 3889 }
3872 3890
3873 3891 #node_filter {
3874 3892 border: 0px solid #545454;
3875 3893 color: #AAAAAA;
3876 3894 padding-left: 3px;
3877 3895 }
3878 3896
3879 3897
3880 3898 .group_members_wrap{
3881 3899
3882 3900 }
3883 3901
3884 3902 .group_members .group_member{
3885 3903 height: 30px;
3886 3904 padding:0px 0px 0px 10px;
3887 3905 }
3888 3906
3889 3907 .reviewers_member{
3890 3908 height: 15px;
3891 3909 padding:0px 0px 0px 10px;
3892 3910 }
3893 3911
3894 3912 .emails_wrap{
3895 3913 padding: 0px 20px;
3896 3914 }
3897 3915
3898 3916 .emails_wrap .email_entry{
3899 3917 height: 30px;
3900 3918 padding:0px 0px 0px 10px;
3901 3919 }
3902 3920 .emails_wrap .email_entry .email{
3903 3921 float: left
3904 3922 }
3905 3923 .emails_wrap .email_entry .email_action{
3906 3924 float: left
3907 3925 }
3908 3926
3909 3927 /*README STYLE*/
3910 3928
3911 3929 div.readme {
3912 3930 padding:0px;
3913 3931 }
3914 3932
3915 3933 div.readme h2 {
3916 3934 font-weight: normal;
3917 3935 }
3918 3936
3919 3937 div.readme .readme_box {
3920 3938 background-color: #fafafa;
3921 3939 }
3922 3940
3923 3941 div.readme .readme_box {
3924 3942 clear:both;
3925 3943 overflow:hidden;
3926 3944 margin:0;
3927 3945 padding:0 20px 10px;
3928 3946 }
3929 3947
3930 3948 div.readme .readme_box h1, div.readme .readme_box h2, div.readme .readme_box h3, div.readme .readme_box h4, div.readme .readme_box h5, div.readme .readme_box h6 {
3931 3949 border-bottom: 0 !important;
3932 3950 margin: 0 !important;
3933 3951 padding: 0 !important;
3934 3952 line-height: 1.5em !important;
3935 3953 }
3936 3954
3937 3955
3938 3956 div.readme .readme_box h1:first-child {
3939 3957 padding-top: .25em !important;
3940 3958 }
3941 3959
3942 3960 div.readme .readme_box h2, div.readme .readme_box h3 {
3943 3961 margin: 1em 0 !important;
3944 3962 }
3945 3963
3946 3964 div.readme .readme_box h2 {
3947 3965 margin-top: 1.5em !important;
3948 3966 border-top: 4px solid #e0e0e0 !important;
3949 3967 padding-top: .5em !important;
3950 3968 }
3951 3969
3952 3970 div.readme .readme_box p {
3953 3971 color: black !important;
3954 3972 margin: 1em 0 !important;
3955 3973 line-height: 1.5em !important;
3956 3974 }
3957 3975
3958 3976 div.readme .readme_box ul {
3959 3977 list-style: disc !important;
3960 3978 margin: 1em 0 1em 2em !important;
3961 3979 }
3962 3980
3963 3981 div.readme .readme_box ol {
3964 3982 list-style: decimal;
3965 3983 margin: 1em 0 1em 2em !important;
3966 3984 }
3967 3985
3968 3986 div.readme .readme_box pre, code {
3969 3987 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
3970 3988 }
3971 3989
3972 3990 div.readme .readme_box code {
3973 3991 font-size: 12px !important;
3974 3992 background-color: ghostWhite !important;
3975 3993 color: #444 !important;
3976 3994 padding: 0 .2em !important;
3977 3995 border: 1px solid #dedede !important;
3978 3996 }
3979 3997
3980 3998 div.readme .readme_box pre code {
3981 3999 padding: 0 !important;
3982 4000 font-size: 12px !important;
3983 4001 background-color: #eee !important;
3984 4002 border: none !important;
3985 4003 }
3986 4004
3987 4005 div.readme .readme_box pre {
3988 4006 margin: 1em 0;
3989 4007 font-size: 12px;
3990 4008 background-color: #eee;
3991 4009 border: 1px solid #ddd;
3992 4010 padding: 5px;
3993 4011 color: #444;
3994 4012 overflow: auto;
3995 4013 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
3996 4014 -webkit-border-radius: 3px;
3997 4015 -moz-border-radius: 3px;
3998 4016 border-radius: 3px;
3999 4017 }
4000 4018
4001 4019
4002 4020 /** RST STYLE **/
4003 4021
4004 4022
4005 4023 div.rst-block {
4006 4024 padding:0px;
4007 4025 }
4008 4026
4009 4027 div.rst-block h2 {
4010 4028 font-weight: normal;
4011 4029 }
4012 4030
4013 4031 div.rst-block {
4014 4032 background-color: #fafafa;
4015 4033 }
4016 4034
4017 4035 div.rst-block {
4018 4036 clear:both;
4019 4037 overflow:hidden;
4020 4038 margin:0;
4021 4039 padding:0 20px 10px;
4022 4040 }
4023 4041
4024 4042 div.rst-block h1, div.rst-block h2, div.rst-block h3, div.rst-block h4, div.rst-block h5, div.rst-block h6 {
4025 4043 border-bottom: 0 !important;
4026 4044 margin: 0 !important;
4027 4045 padding: 0 !important;
4028 4046 line-height: 1.5em !important;
4029 4047 }
4030 4048
4031 4049
4032 4050 div.rst-block h1:first-child {
4033 4051 padding-top: .25em !important;
4034 4052 }
4035 4053
4036 4054 div.rst-block h2, div.rst-block h3 {
4037 4055 margin: 1em 0 !important;
4038 4056 }
4039 4057
4040 4058 div.rst-block h2 {
4041 4059 margin-top: 1.5em !important;
4042 4060 border-top: 4px solid #e0e0e0 !important;
4043 4061 padding-top: .5em !important;
4044 4062 }
4045 4063
4046 4064 div.rst-block p {
4047 4065 color: black !important;
4048 4066 margin: 1em 0 !important;
4049 4067 line-height: 1.5em !important;
4050 4068 }
4051 4069
4052 4070 div.rst-block ul {
4053 4071 list-style: disc !important;
4054 4072 margin: 1em 0 1em 2em !important;
4055 4073 }
4056 4074
4057 4075 div.rst-block ol {
4058 4076 list-style: decimal;
4059 4077 margin: 1em 0 1em 2em !important;
4060 4078 }
4061 4079
4062 4080 div.rst-block pre, code {
4063 4081 font: 12px "Bitstream Vera Sans Mono","Courier",monospace;
4064 4082 }
4065 4083
4066 4084 div.rst-block code {
4067 4085 font-size: 12px !important;
4068 4086 background-color: ghostWhite !important;
4069 4087 color: #444 !important;
4070 4088 padding: 0 .2em !important;
4071 4089 border: 1px solid #dedede !important;
4072 4090 }
4073 4091
4074 4092 div.rst-block pre code {
4075 4093 padding: 0 !important;
4076 4094 font-size: 12px !important;
4077 4095 background-color: #eee !important;
4078 4096 border: none !important;
4079 4097 }
4080 4098
4081 4099 div.rst-block pre {
4082 4100 margin: 1em 0;
4083 4101 font-size: 12px;
4084 4102 background-color: #eee;
4085 4103 border: 1px solid #ddd;
4086 4104 padding: 5px;
4087 4105 color: #444;
4088 4106 overflow: auto;
4089 4107 -webkit-box-shadow: rgba(0,0,0,0.07) 0 1px 2px inset;
4090 4108 -webkit-border-radius: 3px;
4091 4109 -moz-border-radius: 3px;
4092 4110 border-radius: 3px;
4093 4111 }
4094 4112
4095 4113
4096 4114 /** comment main **/
4097 4115 .comments {
4098 4116 padding:10px 20px;
4099 4117 }
4100 4118
4101 4119 .comments .comment {
4102 4120 border: 1px solid #ddd;
4103 4121 margin-top: 10px;
4104 4122 -webkit-border-radius: 4px;
4105 4123 -moz-border-radius: 4px;
4106 4124 border-radius: 4px;
4107 4125 }
4108 4126
4109 4127 .comments .comment .meta {
4110 4128 background: #f8f8f8;
4111 4129 padding: 4px;
4112 4130 border-bottom: 1px solid #ddd;
4113 4131 height: 18px;
4114 4132 }
4115 4133
4116 4134 .comments .comment .meta img {
4117 4135 vertical-align: middle;
4118 4136 }
4119 4137
4120 4138 .comments .comment .meta .user {
4121 4139 font-weight: bold;
4122 4140 float: left;
4123 4141 padding: 4px 2px 2px 2px;
4124 4142 }
4125 4143
4126 4144 .comments .comment .meta .date {
4127 4145 float: left;
4128 4146 padding:4px 4px 0px 4px;
4129 4147 }
4130 4148
4131 4149 .comments .comment .text {
4132 4150 background-color: #FAFAFA;
4133 4151 }
4134 4152 .comment .text div.rst-block p {
4135 4153 margin: 0.5em 0px !important;
4136 4154 }
4137 4155
4138 4156 .comments .comments-number{
4139 4157 padding:0px 0px 10px 0px;
4140 4158 font-weight: bold;
4141 4159 color: #666;
4142 4160 font-size: 16px;
4143 4161 }
4144 4162
4145 4163 /** comment form **/
4146 4164
4147 4165 .status-block{
4148 4166 height:80px;
4149 4167 clear:both
4150 4168 }
4151 4169
4152 4170 .comment-form .clearfix{
4153 4171 background: #EEE;
4154 4172 -webkit-border-radius: 4px;
4155 4173 -moz-border-radius: 4px;
4156 4174 border-radius: 4px;
4157 4175 padding: 10px;
4158 4176 }
4159 4177
4160 4178 div.comment-form {
4161 4179 margin-top: 20px;
4162 4180 }
4163 4181
4164 4182 .comment-form strong {
4165 4183 display: block;
4166 4184 margin-bottom: 15px;
4167 4185 }
4168 4186
4169 4187 .comment-form textarea {
4170 4188 width: 100%;
4171 4189 height: 100px;
4172 4190 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4173 4191 }
4174 4192
4175 4193 form.comment-form {
4176 4194 margin-top: 10px;
4177 4195 margin-left: 10px;
4178 4196 }
4179 4197
4180 4198 .comment-form-submit {
4181 4199 margin-top: 5px;
4182 4200 margin-left: 525px;
4183 4201 }
4184 4202
4185 4203 .file-comments {
4186 4204 display: none;
4187 4205 }
4188 4206
4189 4207 .comment-form .comment {
4190 4208 margin-left: 10px;
4191 4209 }
4192 4210
4193 4211 .comment-form .comment-help{
4194 4212 padding: 0px 0px 5px 0px;
4195 4213 color: #666;
4196 4214 }
4197 4215
4198 4216 .comment-form .comment-button{
4199 4217 padding-top:5px;
4200 4218 }
4201 4219
4202 4220 .add-another-button {
4203 4221 margin-left: 10px;
4204 4222 margin-top: 10px;
4205 4223 margin-bottom: 10px;
4206 4224 }
4207 4225
4208 4226 .comment .buttons {
4209 4227 float: right;
4210 4228 padding:2px 2px 0px 0px;
4211 4229 }
4212 4230
4213 4231
4214 4232 .show-inline-comments{
4215 4233 position: relative;
4216 4234 top:1px
4217 4235 }
4218 4236
4219 4237 /** comment inline form **/
4220 4238 .comment-inline-form .overlay{
4221 4239 display: none;
4222 4240 }
4223 4241 .comment-inline-form .overlay.submitting{
4224 4242 display:block;
4225 4243 background: none repeat scroll 0 0 white;
4226 4244 font-size: 16px;
4227 4245 opacity: 0.5;
4228 4246 position: absolute;
4229 4247 text-align: center;
4230 4248 vertical-align: top;
4231 4249
4232 4250 }
4233 4251 .comment-inline-form .overlay.submitting .overlay-text{
4234 4252 width:100%;
4235 4253 margin-top:5%;
4236 4254 }
4237 4255
4238 4256 .comment-inline-form .clearfix{
4239 4257 background: #EEE;
4240 4258 -webkit-border-radius: 4px;
4241 4259 -moz-border-radius: 4px;
4242 4260 border-radius: 4px;
4243 4261 padding: 5px;
4244 4262 }
4245 4263
4246 4264 div.comment-inline-form {
4247 4265 margin-top: 5px;
4248 4266 padding:2px 6px 8px 6px;
4249 4267
4250 4268 }
4251 4269
4252 4270 .comment-inline-form strong {
4253 4271 display: block;
4254 4272 margin-bottom: 15px;
4255 4273 }
4256 4274
4257 4275 .comment-inline-form textarea {
4258 4276 width: 100%;
4259 4277 height: 100px;
4260 4278 font-family: 'Monaco', 'Courier', 'Courier New', monospace;
4261 4279 }
4262 4280
4263 4281 form.comment-inline-form {
4264 4282 margin-top: 10px;
4265 4283 margin-left: 10px;
4266 4284 }
4267 4285
4268 4286 .comment-inline-form-submit {
4269 4287 margin-top: 5px;
4270 4288 margin-left: 525px;
4271 4289 }
4272 4290
4273 4291 .file-comments {
4274 4292 display: none;
4275 4293 }
4276 4294
4277 4295 .comment-inline-form .comment {
4278 4296 margin-left: 10px;
4279 4297 }
4280 4298
4281 4299 .comment-inline-form .comment-help{
4282 4300 padding: 0px 0px 2px 0px;
4283 4301 color: #666666;
4284 4302 font-size: 10px;
4285 4303 }
4286 4304
4287 4305 .comment-inline-form .comment-button{
4288 4306 padding-top:5px;
4289 4307 }
4290 4308
4291 4309 /** comment inline **/
4292 4310 .inline-comments {
4293 4311 padding:10px 20px;
4294 4312 }
4295 4313
4296 4314 .inline-comments div.rst-block {
4297 4315 clear:both;
4298 4316 overflow:hidden;
4299 4317 margin:0;
4300 4318 padding:0 20px 0px;
4301 4319 }
4302 4320 .inline-comments .comment {
4303 4321 border: 1px solid #ddd;
4304 4322 -webkit-border-radius: 4px;
4305 4323 -moz-border-radius: 4px;
4306 4324 border-radius: 4px;
4307 4325 margin: 3px 3px 5px 5px;
4308 4326 background-color: #FAFAFA;
4309 4327 }
4310 4328 .inline-comments .add-comment {
4311 4329 padding: 2px 4px 8px 5px;
4312 4330 }
4313 4331
4314 4332 .inline-comments .comment-wrapp{
4315 4333 padding:1px;
4316 4334 }
4317 4335 .inline-comments .comment .meta {
4318 4336 background: #f8f8f8;
4319 4337 padding: 4px;
4320 4338 border-bottom: 1px solid #ddd;
4321 4339 height: 20px;
4322 4340 }
4323 4341
4324 4342 .inline-comments .comment .meta img {
4325 4343 vertical-align: middle;
4326 4344 }
4327 4345
4328 4346 .inline-comments .comment .meta .user {
4329 4347 font-weight: bold;
4330 4348 float:left;
4331 4349 padding: 3px;
4332 4350 }
4333 4351
4334 4352 .inline-comments .comment .meta .date {
4335 4353 float:left;
4336 4354 padding: 3px;
4337 4355 }
4338 4356
4339 4357 .inline-comments .comment .text {
4340 4358 background-color: #FAFAFA;
4341 4359 }
4342 4360
4343 4361 .inline-comments .comments-number{
4344 4362 padding:0px 0px 10px 0px;
4345 4363 font-weight: bold;
4346 4364 color: #666;
4347 4365 font-size: 16px;
4348 4366 }
4349 4367 .inline-comments-button .add-comment{
4350 4368 margin:2px 0px 8px 5px !important
4351 4369 }
4352 4370
4353 4371
4354 4372 .notification-paginator{
4355 4373 padding: 0px 0px 4px 16px;
4356 4374 float: left;
4357 4375 }
4358 4376
4359 4377 .notifications{
4360 4378 border-radius: 4px 4px 4px 4px;
4361 4379 -webkit-border-radius: 4px;
4362 4380 -moz-border-radius: 4px;
4363 4381 float: right;
4364 4382 margin: 20px 0px 0px 0px;
4365 4383 position: absolute;
4366 4384 text-align: center;
4367 4385 width: 26px;
4368 4386 z-index: 1000;
4369 4387 }
4370 4388 .notifications a{
4371 4389 color:#888 !important;
4372 4390 display: block;
4373 4391 font-size: 10px;
4374 4392 background-color: #DEDEDE !important;
4375 4393 border-radius: 2px !important;
4376 4394 -webkit-border-radius: 2px !important;
4377 4395 -moz-border-radius: 2px !important;
4378 4396 }
4379 4397 .notifications a:hover{
4380 4398 text-decoration: none !important;
4381 4399 background-color: #EEEFFF !important;
4382 4400 }
4383 4401 .notification-header{
4384 4402 padding-top:6px;
4385 4403 }
4386 4404 .notification-header .desc{
4387 4405 font-size: 16px;
4388 4406 height: 24px;
4389 4407 float: left
4390 4408 }
4391 4409 .notification-list .container.unread{
4392 4410 background: none repeat scroll 0 0 rgba(255, 255, 180, 0.6);
4393 4411 }
4394 4412 .notification-header .gravatar{
4395 4413 background: none repeat scroll 0 0 transparent;
4396 4414 padding: 0px 0px 0px 8px;
4397 4415 }
4398 4416 .notification-list .container .notification-header .desc{
4399 4417 font-weight: bold;
4400 4418 font-size: 17px;
4401 4419 }
4402 4420 .notification-table{
4403 4421 border: 1px solid #ccc;
4404 4422 -webkit-border-radius: 6px 6px 6px 6px;
4405 4423 -moz-border-radius: 6px 6px 6px 6px;
4406 4424 border-radius: 6px 6px 6px 6px;
4407 4425 clear: both;
4408 4426 margin: 0px 20px 0px 20px;
4409 4427 }
4410 4428 .notification-header .delete-notifications{
4411 4429 float: right;
4412 4430 padding-top: 8px;
4413 4431 cursor: pointer;
4414 4432 }
4415 4433 .notification-header .read-notifications{
4416 4434 float: right;
4417 4435 padding-top: 8px;
4418 4436 cursor: pointer;
4419 4437 }
4420 4438 .notification-subject{
4421 4439 clear:both;
4422 4440 border-bottom: 1px solid #eee;
4423 4441 padding:5px 0px 5px 38px;
4424 4442 }
4425 4443
4426 4444 .notification-body{
4427 4445 clear:both;
4428 4446 margin: 34px 2px 2px 8px
4429 4447 }
4430 4448
4431 4449 /****
4432 4450 PULL REQUESTS
4433 4451 *****/
4434 4452 .pullrequests_section_head {
4435 4453 padding:10px 10px 10px 0px;
4436 4454 font-size:16px;
4437 4455 font-weight: bold;
4438 4456 }
4439 4457
4440 4458 /****
4441 4459 PERMS
4442 4460 *****/
4443 4461 #perms .perms_section_head {
4444 4462 padding:10px 10px 10px 0px;
4445 4463 font-size:16px;
4446 4464 font-weight: bold;
4447 4465 }
4448 4466
4449 4467 #perms .perm_tag{
4450 4468 padding: 1px 3px 1px 3px;
4451 4469 font-size: 10px;
4452 4470 font-weight: bold;
4453 4471 text-transform: uppercase;
4454 4472 white-space: nowrap;
4455 4473 -webkit-border-radius: 3px;
4456 4474 -moz-border-radius: 3px;
4457 4475 border-radius: 3px;
4458 4476 }
4459 4477
4460 4478 #perms .perm_tag.admin{
4461 4479 background-color: #B94A48;
4462 4480 color: #ffffff;
4463 4481 }
4464 4482
4465 4483 #perms .perm_tag.write{
4466 4484 background-color: #B94A48;
4467 4485 color: #ffffff;
4468 4486 }
4469 4487
4470 4488 #perms .perm_tag.read{
4471 4489 background-color: #468847;
4472 4490 color: #ffffff;
4473 4491 }
4474 4492
4475 4493 #perms .perm_tag.none{
4476 4494 background-color: #bfbfbf;
4477 4495 color: #ffffff;
4478 4496 }
4479 4497
4480 4498 .perm-gravatar{
4481 4499 vertical-align:middle;
4482 4500 padding:2px;
4483 4501 }
4484 4502 .perm-gravatar-ac{
4485 4503 vertical-align:middle;
4486 4504 padding:2px;
4487 4505 width: 14px;
4488 4506 height: 14px;
4489 4507 }
4490 4508
4491 4509 /*****************************************************************************
4492 4510 DIFFS CSS
4493 4511 ******************************************************************************/
4494 4512
4495 4513 div.diffblock {
4496 4514 overflow: auto;
4497 4515 padding: 0px;
4498 4516 border: 1px solid #ccc;
4499 4517 background: #f8f8f8;
4500 4518 font-size: 100%;
4501 4519 line-height: 100%;
4502 4520 /* new */
4503 4521 line-height: 125%;
4504 4522 -webkit-border-radius: 6px 6px 0px 0px;
4505 4523 -moz-border-radius: 6px 6px 0px 0px;
4506 4524 border-radius: 6px 6px 0px 0px;
4507 4525 }
4508 4526 div.diffblock.margined{
4509 4527 margin: 0px 20px 0px 20px;
4510 4528 }
4511 4529 div.diffblock .code-header{
4512 4530 border-bottom: 1px solid #CCCCCC;
4513 4531 background: #EEEEEE;
4514 4532 padding:10px 0 10px 0;
4515 4533 height: 14px;
4516 4534 }
4517 4535 div.diffblock .code-header.cv{
4518 4536 height: 34px;
4519 4537 }
4520 4538 div.diffblock .code-header-title{
4521 4539 padding: 0px 0px 10px 5px !important;
4522 4540 margin: 0 !important;
4523 4541 }
4524 4542 div.diffblock .code-header .hash{
4525 4543 float: left;
4526 4544 padding: 2px 0 0 2px;
4527 4545 }
4528 4546 div.diffblock .code-header .date{
4529 4547 float:left;
4530 4548 text-transform: uppercase;
4531 4549 padding: 2px 0px 0px 2px;
4532 4550 }
4533 4551 div.diffblock .code-header div{
4534 4552 margin-left:4px;
4535 4553 font-weight: bold;
4536 4554 font-size: 14px;
4537 4555 }
4538 4556 div.diffblock .code-body{
4539 4557 background: #FFFFFF;
4540 4558 }
4541 4559 div.diffblock pre.raw{
4542 4560 background: #FFFFFF;
4543 4561 color:#000000;
4544 4562 }
4545 4563 table.code-difftable{
4546 4564 border-collapse: collapse;
4547 4565 width: 99%;
4548 4566 }
4549 4567 table.code-difftable td {
4550 4568 padding: 0 !important;
4551 4569 background: none !important;
4552 4570 border:0 !important;
4553 4571 vertical-align: none !important;
4554 4572 }
4555 4573 table.code-difftable .context{
4556 4574 background:none repeat scroll 0 0 #DDE7EF;
4557 4575 }
4558 4576 table.code-difftable .add{
4559 4577 background:none repeat scroll 0 0 #DDFFDD;
4560 4578 }
4561 4579 table.code-difftable .add ins{
4562 4580 background:none repeat scroll 0 0 #AAFFAA;
4563 4581 text-decoration:none;
4564 4582 }
4565 4583 table.code-difftable .del{
4566 4584 background:none repeat scroll 0 0 #FFDDDD;
4567 4585 }
4568 4586 table.code-difftable .del del{
4569 4587 background:none repeat scroll 0 0 #FFAAAA;
4570 4588 text-decoration:none;
4571 4589 }
4572 4590
4573 4591 /** LINE NUMBERS **/
4574 4592 table.code-difftable .lineno{
4575 4593
4576 4594 padding-left:2px;
4577 4595 padding-right:2px;
4578 4596 text-align:right;
4579 4597 width:32px;
4580 4598 -moz-user-select:none;
4581 4599 -webkit-user-select: none;
4582 4600 border-right: 1px solid #CCC !important;
4583 4601 border-left: 0px solid #CCC !important;
4584 4602 border-top: 0px solid #CCC !important;
4585 4603 border-bottom: none !important;
4586 4604 vertical-align: middle !important;
4587 4605
4588 4606 }
4589 4607 table.code-difftable .lineno.new {
4590 4608 }
4591 4609 table.code-difftable .lineno.old {
4592 4610 }
4593 4611 table.code-difftable .lineno a{
4594 4612 color:#747474 !important;
4595 4613 font:11px "Bitstream Vera Sans Mono",Monaco,"Courier New",Courier,monospace !important;
4596 4614 letter-spacing:-1px;
4597 4615 text-align:right;
4598 4616 padding-right: 2px;
4599 4617 cursor: pointer;
4600 4618 display: block;
4601 4619 width: 32px;
4602 4620 }
4603 4621
4604 4622 table.code-difftable .lineno-inline{
4605 4623 background:none repeat scroll 0 0 #FFF !important;
4606 4624 padding-left:2px;
4607 4625 padding-right:2px;
4608 4626 text-align:right;
4609 4627 width:30px;
4610 4628 -moz-user-select:none;
4611 4629 -webkit-user-select: none;
4612 4630 }
4613 4631
4614 4632 /** CODE **/
4615 4633 table.code-difftable .code {
4616 4634 display: block;
4617 4635 width: 100%;
4618 4636 }
4619 4637 table.code-difftable .code td{
4620 4638 margin:0;
4621 4639 padding:0;
4622 4640 }
4623 4641 table.code-difftable .code pre{
4624 4642 margin:0;
4625 4643 padding:0;
4626 4644 height: 17px;
4627 4645 line-height: 17px;
4628 4646 }
4629 4647
4630 4648
4631 4649 .diffblock.margined.comm .line .code:hover{
4632 4650 background-color:#FFFFCC !important;
4633 4651 cursor: pointer !important;
4634 4652 background-image:url("../images/icons/comment_add.png") !important;
4635 4653 background-repeat:no-repeat !important;
4636 4654 background-position: right !important;
4637 4655 background-position: 0% 50% !important;
4638 4656 }
4639 4657 .diffblock.margined.comm .line .code.no-comment:hover{
4640 4658 background-image: none !important;
4641 4659 cursor: auto !important;
4642 4660 background-color: inherit !important;
4643 4661
4644 4662 }
@@ -1,349 +1,358 b''
1 1 ## -*- coding: utf-8 -*-
2 2 <%inherit file="root.html"/>
3 3
4 4 <!-- HEADER -->
5 5 <div id="header">
6 6 <div id="header-inner" class="title hover">
7 7 <div id="logo">
8 8 <h1><a href="${h.url('home')}">${c.rhodecode_name}</a></h1>
9 9 </div>
10 10 <!-- MENU -->
11 11 ${self.page_nav()}
12 12 <!-- END MENU -->
13 13 ${self.body()}
14 14 </div>
15 15 </div>
16 16 <!-- END HEADER -->
17 17
18 18 <!-- CONTENT -->
19 19 <div id="content">
20 20 <div class="flash_msg">
21 21 <% messages = h.flash.pop_messages() %>
22 22 % if messages:
23 23 <ul id="flash-messages">
24 24 % for message in messages:
25 25 <li class="${message.category}_msg">${message}</li>
26 26 % endfor
27 27 </ul>
28 28 % endif
29 29 </div>
30 30 <div id="main">
31 31 ${next.main()}
32 32 </div>
33 33 </div>
34 34 <!-- END CONTENT -->
35 35
36 36 <!-- FOOTER -->
37 37 <div id="footer">
38 38 <div id="footer-inner" class="title">
39 39 <div>
40 40 <p class="footer-link">
41 41 <a href="${h.url('bugtracker')}">${_('Submit a bug')}</a>
42 42 </p>
43 43 <p class="footer-link-right">
44 44 <a href="${h.url('rhodecode_official')}">RhodeCode${'-%s' % c.rhodecode_instanceid if c.rhodecode_instanceid else ''}</a>
45 45 ${c.rhodecode_version} &copy; 2010-${h.datetime.today().year} by Marcin Kuzminski
46 46 </p>
47 47 </div>
48 48 </div>
49 49 </div>
50 50 <!-- END FOOTER -->
51 51
52 52 ### MAKO DEFS ###
53 53 <%def name="page_nav()">
54 54 ${self.menu()}
55 55 </%def>
56 56
57 57 <%def name="breadcrumbs()">
58 58 <div class="breadcrumbs">
59 59 ${self.breadcrumbs_links()}
60 60 </div>
61 61 </%def>
62 62
63 63 <%def name="usermenu()">
64 64 <div class="user-menu">
65 65 <div class="container">
66 66 <div class="gravatar" id="quick_login_link">
67 67 <img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,24)}" />
68 68 </div>
69 69 %if c.rhodecode_user.username != 'default' and c.unread_notifications != 0:
70 70 <div class="notifications">
71 71 <a id="notification_counter" href="${h.url('notifications')}">${c.unread_notifications}</a>
72 72 </div>
73 73 %endif
74 74 </div>
75 75 <div id="quick_login" style="display:none">
76 76 %if c.rhodecode_user.username == 'default':
77 77 <h4>${_('Login to your account')}</h4>
78 78 ${h.form(h.url('login_home',came_from=h.url.current()))}
79 79 <div class="form">
80 80 <div class="fields">
81 81 <div class="field">
82 82 <div class="label">
83 83 <label for="username">${_('Username')}:</label>
84 84 </div>
85 85 <div class="input">
86 86 ${h.text('username',class_='focus',size=40)}
87 87 </div>
88 88
89 89 </div>
90 90 <div class="field">
91 91 <div class="label">
92 92 <label for="password">${_('Password')}:</label>
93 93 </div>
94 94 <div class="input">
95 95 ${h.password('password',class_='focus',size=40)}
96 96 </div>
97 97
98 98 </div>
99 99 <div class="buttons">
100 100 <div class="password_forgoten">${h.link_to(_('Forgot password ?'),h.url('reset_password'))}</div>
101 101 <div class="register">
102 102 %if h.HasPermissionAny('hg.admin', 'hg.register.auto_activate', 'hg.register.manual_activate')():
103 103 ${h.link_to(_("Don't have an account ?"),h.url('register'))}
104 104 %endif
105 105 </div>
106 106 <div class="submit">
107 107 ${h.submit('sign_in',_('Log In'),class_="ui-btn xsmall")}
108 108 </div>
109 109 </div>
110 110 </div>
111 111 </div>
112 112 ${h.end_form()}
113 113 %else:
114 114 <div class="links_left">
115 115 <div class="full_name">${c.rhodecode_user.full_name_or_username}</div>
116 116 <div class="email">${c.rhodecode_user.email}</div>
117 117 <div class="big_gravatar"><img alt="gravatar" src="${h.gravatar_url(c.rhodecode_user.email,48)}" /></div>
118 118 <div class="inbox"><a href="${h.url('notifications')}">${_('Inbox')}: ${c.unread_notifications}</a></div>
119 119 </div>
120 120 <div class="links_right">
121 121 <ol class="links">
122 122 <li>${h.link_to(_(u'Home'),h.url('home'))}</li>
123 123 <li>${h.link_to(_(u'Journal'),h.url('journal'))}</li>
124 124 <li>${h.link_to(_(u'My account'),h.url('admin_settings_my_account'))}</li>
125 125 <li class="logout">${h.link_to(_(u'Log Out'),h.url('logout_home'))}</li>
126 126 </ol>
127 127 </div>
128 128 %endif
129 129 </div>
130 130 </div>
131 131 </%def>
132 132
133 133 <%def name="menu(current=None)">
134 134 <%
135 135 def is_current(selected):
136 136 if selected == current:
137 137 return h.literal('class="current"')
138 138 %>
139 139 %if current not in ['home','admin']:
140 140 ##REGULAR MENU
141 141 <ul id="quick">
142 142 <!-- repo switcher -->
143 143 <li>
144 144 <a class="menu_link" id="repo_switcher" title="${_('Switch repository')}" href="#">
145 145 <span class="icon">
146 146 <img src="${h.url('/images/icons/database.png')}" alt="${_('Products')}" />
147 147 </span>
148 148 <span>&darr;</span>
149 149 </a>
150 150 <ul id="repo_switcher_list" class="repo_switcher">
151 151 <li>
152 152 <a href="#">${_('loading...')}</a>
153 153 </li>
154 154 </ul>
155 155 </li>
156 156
157 157 <li ${is_current('summary')}>
158 158 <a class="menu_link" title="${_('Summary')}" href="${h.url('summary_home',repo_name=c.repo_name)}">
159 159 <span class="icon">
160 160 <img src="${h.url('/images/icons/clipboard_16.png')}" alt="${_('Summary')}" />
161 161 </span>
162 162 <span>${_('Summary')}</span>
163 163 </a>
164 164 </li>
165 165 <li ${is_current('changelog')}>
166 166 <a class="menu_link" title="${_('Changelog')}" href="${h.url('changelog_home',repo_name=c.repo_name)}">
167 167 <span class="icon">
168 168 <img src="${h.url('/images/icons/time.png')}" alt="${_('Changelog')}" />
169 169 </span>
170 170 <span>${_('Changelog')}</span>
171 171 </a>
172 172 </li>
173 173
174 174 <li ${is_current('switch_to')}>
175 175 <a class="menu_link" id="branch_tag_switcher" title="${_('Switch to')}" href="#">
176 176 <span class="icon">
177 177 <img src="${h.url('/images/icons/arrow_switch.png')}" alt="${_('Switch to')}" />
178 178 </span>
179 179 <span>${_('Switch to')}</span>
180 180 </a>
181 181 <ul id="switch_to_list" class="switch_to">
182 182 <li><a href="#">${_('loading...')}</a></li>
183 183 </ul>
184 184 </li>
185 185 <li ${is_current('files')}>
186 186 <a class="menu_link" title="${_('Files')}" href="${h.url('files_home',repo_name=c.repo_name)}">
187 187 <span class="icon">
188 188 <img src="${h.url('/images/icons/file.png')}" alt="${_('Files')}" />
189 189 </span>
190 190 <span>${_('Files')}</span>
191 191 </a>
192 192 </li>
193 193
194 194 <li ${is_current('options')}>
195 195 <a class="menu_link" title="${_('Options')}" href="#">
196 196 <span class="icon">
197 197 <img src="${h.url('/images/icons/table_gear.png')}" alt="${_('Admin')}" />
198 198 </span>
199 199 <span>${_('Options')}</span>
200 200 </a>
201 201 <ul>
202 202 %if h.HasRepoPermissionAll('repository.admin')(c.repo_name):
203 203 %if h.HasPermissionAll('hg.admin')('access settings on repository'):
204 204 <li>${h.link_to(_('settings'),h.url('edit_repo',repo_name=c.repo_name),class_='settings')}</li>
205 205 %else:
206 206 <li>${h.link_to(_('settings'),h.url('repo_settings_home',repo_name=c.repo_name),class_='settings')}</li>
207 207 %endif
208 208 %endif
209
209 210 <li>${h.link_to(_('fork'),h.url('repo_fork_home',repo_name=c.repo_name),class_='fork')}</li>
210 211 %if h.is_hg(c.rhodecode_repo):
211 212 <li>${h.link_to(_('Open new pull request'),h.url('pullrequest_home',repo_name=c.repo_name),class_='pull_request')}</li>
212 213 %endif
213 214 <li>${h.link_to(_('search'),h.url('search_repo',search_repo=c.repo_name),class_='search')}</li>
214 215
216 %if h.HasRepoPermissionAny('repository.write','repository.admin')(c.repo_name) and c.rhodecode_db_repo.enable_locking:
217 %if c.rhodecode_db_repo.locked[0]:
218 <li>${h.link_to(_('unlock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_del')}</li>
219 %else:
220 <li>${h.link_to(_('lock'), h.url('toggle_locking',repo_name=c.repo_name),class_='locking_add')}</li>
221 %endif
222 %endif
223
215 224 % if h.HasPermissionAll('hg.admin')('access admin main page'):
216 225 <li>
217 226 ${h.link_to(_('admin'),h.url('admin_home'),class_='admin')}
218 227 <%def name="admin_menu()">
219 228 <ul>
220 229 <li>${h.link_to(_('journal'),h.url('admin_home'),class_='journal')}</li>
221 230 <li>${h.link_to(_('repositories'),h.url('repos'),class_='repos')}</li>
222 231 <li>${h.link_to(_('repositories groups'),h.url('repos_groups'),class_='repos_groups')}</li>
223 232 <li>${h.link_to(_('users'),h.url('users'),class_='users')}</li>
224 233 <li>${h.link_to(_('users groups'),h.url('users_groups'),class_='groups')}</li>
225 234 <li>${h.link_to(_('permissions'),h.url('edit_permission',id='default'),class_='permissions')}</li>
226 235 <li>${h.link_to(_('ldap'),h.url('ldap_home'),class_='ldap')}</li>
227 236 <li class="last">${h.link_to(_('settings'),h.url('admin_settings'),class_='settings')}</li>
228 237 </ul>
229 238 </%def>
230
239 ## ADMIN MENU
231 240 ${admin_menu()}
232 241 </li>
233 242 % endif
234 243 </ul>
235 244 </li>
236 245
237 246 <li>
238 247 <a class="menu_link" title="${_('Followers')}" href="${h.url('repo_followers_home',repo_name=c.repo_name)}">
239 248 <span class="icon_short">
240 249 <img src="${h.url('/images/icons/heart.png')}" alt="${_('Followers')}" />
241 250 </span>
242 251 <span id="current_followers_count" class="short">${c.repository_followers}</span>
243 252 </a>
244 253 </li>
245 254 <li>
246 255 <a class="menu_link" title="${_('Forks')}" href="${h.url('repo_forks_home',repo_name=c.repo_name)}">
247 256 <span class="icon_short">
248 257 <img src="${h.url('/images/icons/arrow_divide.png')}" alt="${_('Forks')}" />
249 258 </span>
250 259 <span class="short">${c.repository_forks}</span>
251 260 </a>
252 261 </li>
253 262 <li>
254 263 <a class="menu_link" title="${_('Pull requests')}" href="${h.url('pullrequest_show_all',repo_name=c.repo_name)}">
255 264 <span class="icon_short">
256 265 <img src="${h.url('/images/icons/arrow_join.png')}" alt="${_('Pull requests')}" />
257 266 </span>
258 267 <span class="short">${c.repository_pull_requests}</span>
259 268 </a>
260 269 </li>
261 270 ${usermenu()}
262 271 </ul>
263 272 <script type="text/javascript">
264 273 YUE.on('repo_switcher','mouseover',function(){
265 274 function qfilter(){
266 275 var nodes = YUQ('ul#repo_switcher_list li a.repo_name');
267 276 var target = 'q_filter_rs';
268 277 var func = function(node){
269 278 return node.parentNode;
270 279 }
271 280 q_filter(target,nodes,func);
272 281 }
273 282 var loaded = YUD.hasClass('repo_switcher','loaded');
274 283 if(!loaded){
275 284 YUD.addClass('repo_switcher','loaded');
276 285 ypjax("${h.url('repo_switcher')}",'repo_switcher_list',
277 286 function(o){qfilter();},
278 287 function(o){YUD.removeClass('repo_switcher','loaded');}
279 288 ,null);
280 289 }
281 290 return false;
282 291 });
283 292
284 293 YUE.on('branch_tag_switcher','mouseover',function(){
285 294 var loaded = YUD.hasClass('branch_tag_switcher','loaded');
286 295 if(!loaded){
287 296 YUD.addClass('branch_tag_switcher','loaded');
288 297 ypjax("${h.url('branch_tag_switcher',repo_name=c.repo_name)}",'switch_to_list',
289 298 function(o){},
290 299 function(o){YUD.removeClass('branch_tag_switcher','loaded');}
291 300 ,null);
292 301 }
293 302 return false;
294 303 });
295 304 </script>
296 305 %else:
297 306 ##ROOT MENU
298 307 <ul id="quick">
299 308 <li>
300 309 <a class="menu_link" title="${_('Home')}" href="${h.url('home')}">
301 310 <span class="icon">
302 311 <img src="${h.url('/images/icons/home_16.png')}" alt="${_('Home')}" />
303 312 </span>
304 313 <span>${_('Home')}</span>
305 314 </a>
306 315 </li>
307 316 %if c.rhodecode_user.username != 'default':
308 317 <li>
309 318 <a class="menu_link" title="${_('Journal')}" href="${h.url('journal')}">
310 319 <span class="icon">
311 320 <img src="${h.url('/images/icons/book.png')}" alt="${_('Journal')}" />
312 321 </span>
313 322 <span>${_('Journal')}</span>
314 323 </a>
315 324 </li>
316 325 %else:
317 326 <li>
318 327 <a class="menu_link" title="${_('Public journal')}" href="${h.url('public_journal')}">
319 328 <span class="icon">
320 329 <img src="${h.url('/images/icons/book.png')}" alt="${_('Public journal')}" />
321 330 </span>
322 331 <span>${_('Public journal')}</span>
323 332 </a>
324 333 </li>
325 334 %endif
326 335 <li>
327 336 <a class="menu_link" title="${_('Search')}" href="${h.url('search')}">
328 337 <span class="icon">
329 338 <img src="${h.url('/images/icons/search_16.png')}" alt="${_('Search')}" />
330 339 </span>
331 340 <span>${_('Search')}</span>
332 341 </a>
333 342 </li>
334 343
335 344 %if h.HasPermissionAll('hg.admin')('access admin main page'):
336 345 <li ${is_current('admin')}>
337 346 <a class="menu_link" title="${_('Admin')}" href="${h.url('admin_home')}">
338 347 <span class="icon">
339 348 <img src="${h.url('/images/icons/cog_edit.png')}" alt="${_('Admin')}" />
340 349 </span>
341 350 <span>${_('Admin')}</span>
342 351 </a>
343 352 ${admin_menu()}
344 353 </li>
345 354 %endif
346 355 ${usermenu()}
347 356 </ul>
348 357 %endif
349 358 </%def>
General Comments 0
You need to be logged in to leave comments. Login now