Changeset 962
- Timestamp:
- 11/03/08 16:38:53 (2 months ago)
- Location:
- huginmunin/trunk/web/hm
- Files:
-
- 1 removed
- 6 modified
-
app/media/css/general.css (modified) (2 diffs)
-
app/media/js/main.js (modified) (1 diff)
-
app/templates/graph/list.html (modified) (1 diff)
-
app/views/main.py (modified) (1 diff)
-
db/calculations (deleted)
-
db/rating.py (modified) (1 diff)
-
db/tag.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
huginmunin/trunk/web/hm/app/media/css/general.css
r953 r962 667 667 #list_of_nodes .node .r { float: right; font-size: .9em; } 668 668 #list_of_nodes .node .quote { padding: 5px 25px 5px 25px; clear: both; } 669 /** browse controls **/ 670 .letter { cursor:pointer; text-decoration:underline; padding: 2px; } 671 .letter + .selected { text-decoration: none; cursor: default; background: yellow; } 669 672 670 673 /****** PAGINATION ******/ … … 681 684 .horizontal_menu_item { padding: 2px 5px 2px 5px; margin: 2px 4px 2px 4px; float: left; background: #CCF; } 682 685 .horizontal_menu_item a { color: black; text-decoration: none; } 686 -
huginmunin/trunk/web/hm/app/media/js/main.js
r934 r962 490 490 $("#"+container+" textarea").addClass("rte_zone").rte("/Main/media/css/rte.css"); 491 491 } 492 493 494 function dropdown_submit(key, select) { 495 var val = (select.options[select.selectedIndex].value); 496 get_paramter_submit(key, val); 497 } 498 function get_paramter_submit(key, val) { 499 if (val) { 500 new_location = location.href; 501 if (val.indexOf("none") > -1) { new_location = remove_get_parameter(key); } 502 else { 503 if (new_location.indexOf(key) > -1) 504 { new_location = remove_get_parameter(key); } 505 if (new_location.indexOf("?") > -1) 506 { new_location = new_location + "&" + key + "=" + val; } 507 else 508 { new_location = new_location + "?" + key + "=" + val; } 509 } 510 location.href = new_location 511 } 512 } 513 function remove_get_parameter(key) { 514 two_parts = location.href.split("?"); 515 if (two_parts.length > 1) { 516 params = two_parts[1].split("&"); 517 new_params = ""; 518 for (i=0; i < params.length; i++) { 519 kv = params[i].split("="); 520 if (kv[0].indexOf(key) == -1) { 521 new_params += params[i]; 522 } 523 } 524 if (new_params.length > 0) { 525 return two_parts[0] + "?" + new_params; 526 } else { 527 return two_parts[0]; 528 } 529 } else { 530 return location.href; 531 } 532 } -
huginmunin/trunk/web/hm/app/templates/graph/list.html
r953 r962 1 1 <div class="left"> 2 3 <DIV id="controls"> 4 <SELECT name="filter_by_type" onChange="dropdown_submit('filter_by_type', this);"> 5 <OPTION value="none">No filter</OPTION> 6 {% for type in types %} 7 <OPTION value="{{ type.id }}" {% ifequal selected_type type.id %} selected {% endifequal %}>{{ type.label }}</OPTION> 8 {% endfor %} 9 </SELECT> 10 <SELECT name="filter_by_tag" onChange="dropdown_submit('filter_by_tag', this);"> 11 <OPTION value="none">No filter</OPTION> 12 {% for tag in tags %} 13 <OPTION value="{{ tag.id }}" {% ifequal selected_tag tag.id %} selected {% endifequal %}>{{ tag.tag }}</OPTION> 14 {% endfor %} 15 </SELECT> 16 17 <SELECT name="filter_by_interest" onChange="dropdown_submit('filter_by_interest', this);"> 18 <OPTION value="none">No filter</OPTION> 19 {% for interest in interests %} 20 <OPTION value="{{ interest.id }}" {% ifequal selected_interest interest.id %} selected {% endifequal %}>{{ interest.label }}</OPTION> 21 {% endfor %} 22 </SELECT> 23 24 <DIV> 25 <SPAN class="letter {% ifequal selected_letter "none" %}selected {% endifequal %}" onClick="location.href = remove_get_parameter('filter_by_letter');">all</SPAN> 26 {% for letter in letters %} 27 <SPAN class="letter {% ifequal selected_letter letter %}selected{% endifequal %}" onClick="get_paramter_submit('filter_by_letter', '{{ letter }}');">{{ letter }}</SPAN> 28 {% endfor %} 29 </DIV> 30 </DIV> 2 31 3 32 <DIV id="list_of_nodes"> -
huginmunin/trunk/web/hm/app/views/main.py
r954 r962 325 325 326 326 def graph_centric(request): 327 nodes = Node.find().select_related().order_by('label')[:] 328 data = { 329 #'NodeTypes' : to_json(JSON["NodeType"].render(NodeType.find()[:])), 330 #'EdgeTypes' : to_json(JSON["EdgeType"].render(EdgeType.find()[:])), 331 }.items() 332 types = JSON["NodeType"].render(NodeType.find()[:]) 333 tags = JSON["Tag"].render(Tag.cloud_qs(nodes)) 334 dimensions = JSON["Dimension"].render(Dimension.find()[:]) 335 filters = [1,2] 327 params = run_params(request.GET) 328 nodes = Node.find().select_related().order_by('label') 329 330 order = 'alphabetical' 331 332 selected_type = selected_letter = selected_tag = selected_interest = "none" 333 334 if 'filter_by_type' in params: 335 filter_by_type = params['filter_by_type'] 336 selected_type = int(filter_by_type) 337 nodes = nodes.filter(nodetypecast__type__id__in=filter_by_type) 338 339 if 'filter_by_letter' in params: 340 filter_by_letter = params['filter_by_letter'] 341 selected_letter = filter_by_letter 342 nodes = nodes.filter(label__istartswith=filter_by_letter) 343 344 if 'filter_by_tag' in params: 345 filter_by_tag = params['filter_by_tag'] 346 selected_tag = int(filter_by_tag) 347 ids = [n.id for n in Node.by_tag_id(int(filter_by_tag))] 348 nodes = nodes.filter(id__in=ids) 349 350 if 'filter_by_interest' in params: 351 filter_by_interest = params['filter_by_interest'] 352 selected_interest = int(filter_by_interest) 353 nodes = nodes.filter(behavior_set__dimension__id__in=filter_by_interest) 354 355 types = NodeType.objects.all().order_by('label') 356 tags = Tag.objects.all().order_by('tag') 357 interests = Dimension.objects.all().order_by('label') 358 letters = [x for x in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'] 336 359 page = 'graph' 337 360 number_nodes_displayed = 10 -
huginmunin/trunk/web/hm/db/rating.py
r954 r962 391 391 return sum / count 392 392 else: 393 # could use current_user() rather than no user 393 394 return self.score(None) 394 395 -
huginmunin/trunk/web/hm/db/tag.py
r887 r962 506 506 condition = 'tagging_count.item_id = %(db_table)s.id' % params 507 507 order = '-value' 508 print "select: %s" % select 509 print "tables: %s" % subquery 510 print "condition: %s" % condition 511 print "order: %s" % order 508 512 return klass.find().extra(select=select, tables=[subquery], 509 513 where=[condition]).order_by(order)