Commit 2f40244640d1732f97571f9a7112fda94de0a4e2
1 parent
befe1ee4
Exists in
sisp_simple_version
Add sisp catalog
Signed-off-by: Marcos Ronaldo <marcos.rpj2@gmail.com> Signed-off-by: Gustavo Coelho <gust.rod.coelho@gmail.com> Signed-off-by: Luciano Prestes <lucianopcbr@gmail.com>
Showing
8 changed files
with
582 additions
and
10 deletions
Show diff stats
src/noosfero-spb/noosfero-spb-theme/css/software-catalog-page.css
@@ -455,3 +455,463 @@ | @@ -455,3 +455,463 @@ | ||
455 | } | 455 | } |
456 | 456 | ||
457 | 457 | ||
458 | +.action-search-sisp #content { | ||
459 | + margin-top: 10px; | ||
460 | + padding: 0px; | ||
461 | +} | ||
462 | + | ||
463 | +.action-search-sisp .main-content { | ||
464 | + border: none; | ||
465 | + box-shadow: none; | ||
466 | +} | ||
467 | + | ||
468 | +.action-search-sisp #content .main-content h2{ | ||
469 | + color: #FF0366; | ||
470 | + font-size: 16px; | ||
471 | + font-family: "open_sansregular",Arial, Helvetica,sans-serif; | ||
472 | + font-weight: 300; | ||
473 | + text-transform: uppercase; | ||
474 | +} | ||
475 | + | ||
476 | +.action-search-sisp #content .main-content h1{ | ||
477 | + padding: 5px 0 10px 0; | ||
478 | + border-bottom: 1px solid #D3D6DE; | ||
479 | + font-family: Arial, Helvetica, sans-serif; | ||
480 | + font-size: 35px; | ||
481 | + font-variant: normal; | ||
482 | +} | ||
483 | + | ||
484 | +/*** end of title and subtitle ***/ | ||
485 | + | ||
486 | +/*** Search Box ***/ | ||
487 | +.action-search-sisp .search-form { | ||
488 | + margin-top:28px; | ||
489 | + padding: 0; | ||
490 | + background: #ecedf1; | ||
491 | + border-radius: 4px; | ||
492 | + border: 1px solid #D3D6DE; | ||
493 | + background-image:url("catalogo.png"); | ||
494 | +} | ||
495 | + | ||
496 | +.action-search-sisp #software-search-container .search-form h3{ | ||
497 | + margin: 0px 0px 3px 0px; | ||
498 | + padding: 16px 0 20px 14px; | ||
499 | + color: #2C4B6B; | ||
500 | + font-family:"open_sansregular", Arial, Helvetica, sans-serif; | ||
501 | + color: #2B51A8; | ||
502 | + font-weight: bold; | ||
503 | + font-size: 15px; | ||
504 | + text-transform: uppercase; | ||
505 | +} | ||
506 | + | ||
507 | +/*.action-search-sisp #content .search-form .project-software { | ||
508 | + margin: 0 0 0 15px; | ||
509 | +} | ||
510 | + | ||
511 | + It's TEMPORARY | ||
512 | +.action-search-sisp #content .search-form .doubts-catalog-software { | ||
513 | + display: none; | ||
514 | +}*/ | ||
515 | + | ||
516 | +/**Radio Buttons***/ | ||
517 | +.action-search-sisp .radio-buttons { | ||
518 | + display: none; | ||
519 | +} | ||
520 | + | ||
521 | +.action-search-sisp #public_software_radio_button, | ||
522 | +.action-search-sisp #all_radio_button { | ||
523 | + margin:5px 4px 15px 15px; | ||
524 | + line-height: 20px; | ||
525 | + position:absolute; | ||
526 | +} | ||
527 | + | ||
528 | +.action-search-sisp .search-form label, | ||
529 | +.action-search-sisp .search-form label{ | ||
530 | + margin:0px 3px 4px 32px; | ||
531 | + line-height: 22px; | ||
532 | + font-size: 15px; | ||
533 | + font-family: Arial; | ||
534 | +} | ||
535 | + | ||
536 | +.action-search-sisp #software-search-container .search-form .doubts-catalog-software{ | ||
537 | + padding-top: 2px; | ||
538 | + background-color: #3867b7; | ||
539 | + color: #ffffff; | ||
540 | + font-weight: bold; | ||
541 | + cursor: pointer; | ||
542 | + height: 15px; | ||
543 | + font-family: arial; | ||
544 | + width: 17px; | ||
545 | + display: inline-block; | ||
546 | + text-align: center; | ||
547 | + border-radius: 50%; | ||
548 | +} | ||
549 | + | ||
550 | +/******/ | ||
551 | + | ||
552 | +.action-search-sisp #content .search-form .search-field .formfield { | ||
553 | + width: 100%; | ||
554 | + margin: 0; | ||
555 | + padding: 0; | ||
556 | +} | ||
557 | + | ||
558 | +.action-search-sisp #content .search-form .search-field #search-input { | ||
559 | + width: 95%; | ||
560 | + margin: 13px 0px 4px 13px; | ||
561 | + padding: 7px; | ||
562 | + background: #FFF; | ||
563 | + border-radius: 4px; | ||
564 | + border: 1px solid #D3D6DE; | ||
565 | + font-size: 14px; | ||
566 | +} | ||
567 | + | ||
568 | + | ||
569 | +.action-search-sisp #content .search-form .search-field input.button{ | ||
570 | + padding: 0px; | ||
571 | + background-color: #3E67B1; | ||
572 | + color: #FFF; | ||
573 | + border: 1px solid #3E67B1; | ||
574 | + font-family: "open_sansbold",Arial,sans-serif; | ||
575 | + border-radius: 4px; | ||
576 | +} | ||
577 | + | ||
578 | +.action-search-sisp #content .search-form .search-field input.button.submit { | ||
579 | + width: auto; | ||
580 | + height: 30px; | ||
581 | + max-height: 30px; | ||
582 | + margin: 14px; | ||
583 | + padding: 0 14px 0 14px; | ||
584 | + background: #3E67B1; | ||
585 | + line-height: 14px; | ||
586 | + border-radius: 4px; | ||
587 | + color: #ffffff; | ||
588 | + text-transform: uppercase; | ||
589 | + font-family: "open_sansbold",Arial,sans-serif; | ||
590 | + font-size: 14px; | ||
591 | +} | ||
592 | + | ||
593 | +/* Filter options */ | ||
594 | + | ||
595 | +.action-search-sisp #filter-catalog-software { | ||
596 | + background-color: #D3D6DE; | ||
597 | +} | ||
598 | + | ||
599 | +.action-search-sisp #filter-option-catalog-software { | ||
600 | + cursor: pointer; | ||
601 | + padding: 14px; | ||
602 | + background-color: #D3D6DE; | ||
603 | + border: none; | ||
604 | + border-bottom-left-radius: 4px; | ||
605 | + border-bottom-right-radius: 4px; | ||
606 | + font-size: 11px; | ||
607 | + text-align: right; | ||
608 | + text-transform: uppercase; | ||
609 | +} | ||
610 | + | ||
611 | +.action-search-sisp #filter-option-catalog-close { | ||
612 | + padding: 7px 7px 17px 10px; | ||
613 | + display: none; | ||
614 | +} | ||
615 | +.action-search-sisp #filter-option-catalog-software:hover { | ||
616 | + background-color: #c7c7c7; | ||
617 | +} | ||
618 | + | ||
619 | +.action-search-sisp #filter-option-catalog-software:after { | ||
620 | + content: ""; | ||
621 | + margin-left: 5px; | ||
622 | + padding: 3px 10.5px; | ||
623 | + background: url("../images/bottom-arrow.png") no-repeat center; | ||
624 | + background-color: #3E67B1; | ||
625 | + border-radius: 4px; | ||
626 | +} | ||
627 | + | ||
628 | +.action-search-sisp #filter-catalog-software #filter-categories-option { | ||
629 | + border: none; | ||
630 | + height: 0; | ||
631 | + max-height: 620px; | ||
632 | + position: relative; | ||
633 | + overflow: hidden; | ||
634 | + padding: 0 15px; | ||
635 | +} | ||
636 | + | ||
637 | +.action-search-sisp #filter-catalog-software #filter-categories-catalog h4 { | ||
638 | + margin: 20px 0 10px 5px; | ||
639 | + background: transparent; | ||
640 | + color: black; | ||
641 | +} | ||
642 | + | ||
643 | +.action-search-sisp #filter-catalog-software input[type="checkbox"]{ | ||
644 | + vertical-align: middle; | ||
645 | + margin: 0 3px 2px 8px; | ||
646 | +} | ||
647 | + | ||
648 | +.action-search-sisp #group-categories ul { | ||
649 | + font-family: Arial; | ||
650 | + font-size: 14px; | ||
651 | + line-height: 31px; | ||
652 | + columns: 2; | ||
653 | + -webkit-columns: 2; | ||
654 | + -moz-columns: 2; | ||
655 | +} | ||
656 | + | ||
657 | +.action-search-sisp #group-categories li span { | ||
658 | + font-family: Arial; | ||
659 | + font-size: 14px; | ||
660 | +} | ||
661 | + | ||
662 | +.action-search-sisp #filter-catalog-software .project-software{ | ||
663 | + margin: 20px 0 30px; | ||
664 | + border-top: 1px dotted; | ||
665 | + border-bottom: 1px dotted; | ||
666 | + font-weight: bold; | ||
667 | + font-size: 15px; | ||
668 | + font-family: Arial; | ||
669 | + padding: 10px; | ||
670 | +} | ||
671 | + | ||
672 | +.action-search-sisp #filter-catalog-software .project-software label { | ||
673 | + font-weight: normal; | ||
674 | +} | ||
675 | + | ||
676 | +.action-search-sisp #filter-catalog-software .project-software span { | ||
677 | + padding: 2px 6px; | ||
678 | + background: #FFF; | ||
679 | + color: #3E67B1; | ||
680 | + border-radius: 50%; | ||
681 | + font-size: 16px; | ||
682 | +} | ||
683 | + | ||
684 | +.action-search-sisp button#cleanup-filter-catalg { | ||
685 | + cursor: pointer; | ||
686 | + background-color: #3E67B1; | ||
687 | + font-size: 14px; | ||
688 | + font-family: Arial; | ||
689 | + color: #ffffff; | ||
690 | + border: 1px solid #2B65CD; | ||
691 | + border-radius: 4px; | ||
692 | + margin: 5px 0 0 5px; | ||
693 | + padding: 5px 10px; | ||
694 | +} | ||
695 | + | ||
696 | +.action-search-sisp button#close-filter-catalog { | ||
697 | + cursor:pointer; | ||
698 | + float: right; | ||
699 | + border: none; | ||
700 | + background: none; | ||
701 | + font-size: 12px; | ||
702 | + margin-top: 5px; | ||
703 | + color: #000; | ||
704 | + text-transform: uppercase; | ||
705 | + padding: 5px; | ||
706 | +} | ||
707 | + | ||
708 | +.action-search-sisp button#close-filter-catalog:after { | ||
709 | + content: ""; | ||
710 | + margin-left: 5px; | ||
711 | + padding: 2.5px 10.5px; | ||
712 | + background: url("../images/top-arrow.png") no-repeat center; | ||
713 | + background-color: #3E67B1; | ||
714 | + border-radius: 4px; | ||
715 | +} | ||
716 | + | ||
717 | +/*** end of search box ***/ | ||
718 | + | ||
719 | +/*** Catalog Options ***/ | ||
720 | + | ||
721 | +.action-search-sisp #catalog-display-options { | ||
722 | + font-size: 14px; | ||
723 | + font-family: Arial; | ||
724 | +} | ||
725 | + | ||
726 | +.action-search-sisp #catalog-display-options #catalog-display-options-count{ | ||
727 | + padding: 45px 0 4px 0; | ||
728 | + float: left; | ||
729 | + width: 50%; | ||
730 | +} | ||
731 | + | ||
732 | +.action-search-sisp #catalog-display-options #catalog-display-options-show-and-sort{ | ||
733 | + padding: 38px 0 5px 0; | ||
734 | + font-weight: bold; | ||
735 | + float: left; | ||
736 | + width: 50%; | ||
737 | +} | ||
738 | +.action-search-sisp #catalog-display-options #catalog-display-options-sort, | ||
739 | +.action-search-sisp #catalog-display-options #catalog-display-options-show{ | ||
740 | + position: relative; | ||
741 | + float: left; | ||
742 | + width: 50%; | ||
743 | + text-align: right; | ||
744 | +} | ||
745 | + | ||
746 | +/*** Search Results ***/ | ||
747 | +.action-search-sisp #search-results { | ||
748 | + border-top: 1px solid #d7d7d7; | ||
749 | + margin-top: 66px; | ||
750 | +} | ||
751 | + | ||
752 | +.action-search-sisp #search-results.only-one-result-box .search-software-item { | ||
753 | + padding: 29px 0 31px 0; | ||
754 | + background: #ffffff; | ||
755 | + border-bottom: 1px solid #d7d7d7; | ||
756 | +} | ||
757 | + | ||
758 | +.action-search-sisp #search-results #search-results-empty{ | ||
759 | + padding: 30px 0 15px 0; | ||
760 | + color: #172738; | ||
761 | + font-size: 16px; | ||
762 | + text-align: left; | ||
763 | +} | ||
764 | + | ||
765 | + | ||
766 | +.action-search-sisp #search-results .search-results-innerbox { | ||
767 | + background: #ffffff; | ||
768 | + border: none; | ||
769 | +} | ||
770 | + | ||
771 | +/* Column left */ | ||
772 | + | ||
773 | +.action-search-sisp #search-results .search-software-item-column-left { | ||
774 | + width: 140px; | ||
775 | + height: 140px; | ||
776 | + float: left; | ||
777 | + border-right: 1px dotted #ccc; | ||
778 | +} | ||
779 | + | ||
780 | +.action-search-sisp #search-results .search-software-item-column-left .vcard { | ||
781 | + display: table; | ||
782 | + margin: 0; | ||
783 | + border: none; | ||
784 | +} | ||
785 | + | ||
786 | +.action-search-sisp #search-results .search-software-item-column-left .vcard:hover { | ||
787 | + border: none; | ||
788 | + background: none; | ||
789 | +} | ||
790 | + | ||
791 | +.action-search-sisp #search-results .search-software-item-column-left .vcard a:hover{ | ||
792 | + color: #3E67B1; | ||
793 | +} | ||
794 | + | ||
795 | +.action-search-sisp #search-results .search-software-item-column-left .vcard a.profile_link{ | ||
796 | + float:left; | ||
797 | +} | ||
798 | + | ||
799 | +.action-search-sisp #search-results .search-software-item-column-left .vcard:hover .menu-submenu-trigger { | ||
800 | + display:none; | ||
801 | +} | ||
802 | + | ||
803 | +.action-search-sisp #search-results .search-software-item-column-left .profile-image{ | ||
804 | + width: 130px; | ||
805 | + height: 130px; | ||
806 | + margin-left: 130px; | ||
807 | + margin-top: 35px; | ||
808 | +} | ||
809 | + | ||
810 | +.action-search-sisp #search-results .search-software-item-column-left .vcard img { | ||
811 | + max-width: 90px; | ||
812 | + max-height: 130px; | ||
813 | + height: auto; | ||
814 | + margin-left:170px; | ||
815 | +} | ||
816 | + | ||
817 | +.action-search-sisp #search-results .search-software-item-column-left .org { | ||
818 | + display: none; | ||
819 | +} | ||
820 | + | ||
821 | +.action-search-sisp #search-results .search-software-item-column-left .extra_info { | ||
822 | + width: 140px; | ||
823 | + padding-right: 20px; | ||
824 | + top: 0px; | ||
825 | + position: absolute; | ||
826 | + color: #172738; | ||
827 | + font-size: 13px; | ||
828 | + font-family: Arial; | ||
829 | + text-align: left; | ||
830 | + opacity: inherit; | ||
831 | +} | ||
832 | + | ||
833 | +.action-search-sisp #search-results .search-software-item-column-left .software-date { | ||
834 | + margin-top: 20px; | ||
835 | + width: 130px; | ||
836 | +} | ||
837 | + | ||
838 | +.action-search-sisp #search-results .search-software-item-column-left .software-date::before{ | ||
839 | + content: url("../images/ic-calendar.png"); | ||
840 | + margin: 0px 7px 20px 0; | ||
841 | + float: left; | ||
842 | +} | ||
843 | + | ||
844 | +.action-search-sisp #search-results .search-software-item-column-left .star-container.catalog_rating_block { | ||
845 | + width: 140px; | ||
846 | + margin-left: 0px; | ||
847 | +} | ||
848 | + | ||
849 | +.action-search-sisp #search-results .search-software-item-column-left .software-date-value { | ||
850 | + margin-left: 23px; | ||
851 | +} | ||
852 | + | ||
853 | +/* Column Right */ | ||
854 | + | ||
855 | +.action-search-sisp #search-results .search-software-item-column-right { | ||
856 | + width: 65%; | ||
857 | + float: left; | ||
858 | + margin-left: 140px; | ||
859 | + padding: 0 0 0 8px; | ||
860 | + font-size: 15px; | ||
861 | + font-family: Arial; | ||
862 | +} | ||
863 | + | ||
864 | +.action-search-sisp #search-results .search-software-item-column-right .search-software-content-block h4{ | ||
865 | + margin-top: 0; | ||
866 | +} | ||
867 | + | ||
868 | +.action-search-sisp #search-results .search-software-item-column-right .search-software-content-block h4 a { | ||
869 | + color: #172738; | ||
870 | + font-size: 19px; | ||
871 | +} | ||
872 | + | ||
873 | +.action-search-sisp #search-results .search-software-item-column-right .search-software-content-block:last-child { | ||
874 | + margin-top: 30px; | ||
875 | +} | ||
876 | + | ||
877 | +.action-search-sisp #search-results .search-software-item-column-right span{ | ||
878 | + width: 100%; | ||
879 | +} | ||
880 | + | ||
881 | +.action-search-sisp #search-results .search-software-item-column-right span b{ | ||
882 | + font-weight: normal; | ||
883 | + font-size: 13px; | ||
884 | +} | ||
885 | + | ||
886 | +.action-search-sisp #search-results .search-software-item-column-right .search-software-content-block:last-child span{ | ||
887 | + width: auto; | ||
888 | + float: left; | ||
889 | +} | ||
890 | + | ||
891 | +.action-search-sisp #search-results .search-software-content-block #categories-list li { | ||
892 | + width: auto !important; /* force overwritting from base */ | ||
893 | + margin-left: 7px !important; /* force overwritting from base */ | ||
894 | + float: left; | ||
895 | + color: #3E67B1; | ||
896 | + font-size: 13px; | ||
897 | + line-height: 18px; | ||
898 | + text-decoration: underline; | ||
899 | +} | ||
900 | + | ||
901 | +.action-search-sisp #search-results .search-software-content-block #categories-list li a { | ||
902 | + color: #3E67B1; | ||
903 | +} | ||
904 | + | ||
905 | +.action-search-sisp #search-results #individually-category br { | ||
906 | + display: none; | ||
907 | +} | ||
908 | + | ||
909 | +.action-search-sisp #search-results #individually-category a { | ||
910 | + margin-right: 10px; | ||
911 | + float: left; | ||
912 | + color: #3E67B1; | ||
913 | + font-size: 13px; | ||
914 | + text-decoration: underline; | ||
915 | +} | ||
916 | + | ||
917 | + |
src/noosfero-spb/software_communities/db/migrate/20151125175514_change_software_info_structure.rb
0 → 100644
@@ -0,0 +1,39 @@ | @@ -0,0 +1,39 @@ | ||
1 | +class ChangeSoftwareInfoStructure < ActiveRecord::Migration | ||
2 | + def up | ||
3 | + change_table :software_infos do |t| | ||
4 | + t.text :agency_identification | ||
5 | + t.text :softawre_requirements | ||
6 | + t.text :hardware_requirements | ||
7 | + t.text :documentation | ||
8 | + t.text :system_applications | ||
9 | + t.text :active_versions | ||
10 | + t.text :estimated_cost | ||
11 | + t.text :responsible | ||
12 | + t.text :responsible_for_acquirement | ||
13 | + t.text :system_info | ||
14 | + t.text :development_info | ||
15 | + t.text :maintenance | ||
16 | + t.text :standards_adherence | ||
17 | + t.text :plataform | ||
18 | + t.text :sisp_type | ||
19 | + end | ||
20 | + end | ||
21 | + | ||
22 | + def down | ||
23 | + remove_column :agency_identification | ||
24 | + remove_column :softawre_requirements | ||
25 | + remove_column :hardware_requirements | ||
26 | + remove_column :documentation | ||
27 | + remove_column :system_applications | ||
28 | + remove_column :active_versions | ||
29 | + remove_column :estimated_cost | ||
30 | + remove_column :responsible | ||
31 | + remove_column :responsible_for_acquirement | ||
32 | + remove_column :system_info | ||
33 | + remove_column :development_info | ||
34 | + remove_column :maintenance | ||
35 | + remove_column :standards_adherence | ||
36 | + remove_column :plataform | ||
37 | + remove_column :sisp_type | ||
38 | + end | ||
39 | +end |
src/noosfero-spb/software_communities/lib/ext/search_controller.rb
@@ -24,6 +24,17 @@ class SearchController | @@ -24,6 +24,17 @@ class SearchController | ||
24 | render :layout=>false if request.xhr? | 24 | render :layout=>false if request.xhr? |
25 | end | 25 | end |
26 | 26 | ||
27 | + def sisp | ||
28 | + prepare_sisp_page | ||
29 | + results = filter_sisp_list | ||
30 | + @software_count = results.count | ||
31 | + results = results.paginate(:per_page => @per_page, :page => params[:page]) | ||
32 | + @searches[@asset] = {:results => results} | ||
33 | + @search = results | ||
34 | + | ||
35 | + render :layout=>false if request.xhr? | ||
36 | + end | ||
37 | + | ||
27 | protected | 38 | protected |
28 | 39 | ||
29 | def filter_communities_list | 40 | def filter_communities_list |
@@ -51,6 +62,12 @@ class SearchController | @@ -51,6 +62,12 @@ class SearchController | ||
51 | sort_communities_list filtered_community_list | 62 | sort_communities_list filtered_community_list |
52 | end | 63 | end |
53 | 64 | ||
65 | + def filter_sisp_list | ||
66 | + filtered_software_list = get_filtered_software_list | ||
67 | + filtered_community_list = get_communities_sisp_list(filtered_software_list) | ||
68 | + sort_communities_list filtered_community_list | ||
69 | + end | ||
70 | + | ||
54 | def get_filter_category_ids | 71 | def get_filter_category_ids |
55 | category_ids = [] | 72 | category_ids = [] |
56 | unless params[:selected_categories_id].blank? | 73 | unless params[:selected_categories_id].blank? |
@@ -91,13 +108,22 @@ class SearchController | @@ -91,13 +108,22 @@ class SearchController | ||
91 | def get_communities_list software_list | 108 | def get_communities_list software_list |
92 | filtered_community_list = [] | 109 | filtered_community_list = [] |
93 | software_list.each do |software| | 110 | software_list.each do |software| |
94 | - if !@public_software_selected || software.public_software? | 111 | + if (!@public_software_selected || software.public_software?) && (!software.sisp) |
95 | filtered_community_list << software.community unless software.community.nil? | 112 | filtered_community_list << software.community unless software.community.nil? |
96 | end | 113 | end |
97 | end | 114 | end |
98 | filtered_community_list | 115 | filtered_community_list |
99 | end | 116 | end |
100 | 117 | ||
118 | + def get_communities_sisp_list software_list | ||
119 | + filtered_community_list = [] | ||
120 | + software_list.each do |software| | ||
121 | + if software.sisp | ||
122 | + filtered_community_list << software.community unless software.community.nil? | ||
123 | + end | ||
124 | + end | ||
125 | + filtered_community_list | ||
126 | + end | ||
101 | def sort_communities_list communities_list | 127 | def sort_communities_list communities_list |
102 | communities_list.sort! {|a, b| a.name.downcase <=> b.name.downcase} | 128 | communities_list.sort! {|a, b| a.name.downcase <=> b.name.downcase} |
103 | 129 | ||
@@ -117,7 +143,12 @@ class SearchController | @@ -117,7 +143,12 @@ class SearchController | ||
117 | prepare_software_infos_category_groups | 143 | prepare_software_infos_category_groups |
118 | prepare_software_infos_category_enable | 144 | prepare_software_infos_category_enable |
119 | end | 145 | end |
120 | - | 146 | + def prepare_sisp_page |
147 | + prepare_sisp_params | ||
148 | + prepare_software_infos_message | ||
149 | + prepare_software_infos_category_groups | ||
150 | + prepare_software_infos_category_enable | ||
151 | + end | ||
121 | def prepare_software_infos_params | 152 | def prepare_software_infos_params |
122 | @titles[:software_infos] = _("Result Search") | 153 | @titles[:software_infos] = _("Result Search") |
123 | @selected_categories_id = params[:selected_categories_id] | 154 | @selected_categories_id = params[:selected_categories_id] |
@@ -128,6 +159,16 @@ class SearchController | @@ -128,6 +159,16 @@ class SearchController | ||
128 | @per_page = prepare_per_page | 159 | @per_page = prepare_per_page |
129 | end | 160 | end |
130 | 161 | ||
162 | + def prepare_sisp_params | ||
163 | + @titles[:sisp] = _("Result Search") | ||
164 | + @selected_categories_id = params[:selected_categories_id] | ||
165 | + @selected_categories_id ||= [] | ||
166 | + @selected_categories_id = @selected_categories_id.map(&:to_i) | ||
167 | + @all_selected = params[:software_type] == "all" | ||
168 | + @public_software_selected = !@all_selected | ||
169 | + @per_page = prepare_per_page | ||
170 | + end | ||
171 | + | ||
131 | def prepare_per_page | 172 | def prepare_per_page |
132 | return 15 if params[:software_display].nil? | 173 | return 15 if params[:software_display].nil? |
133 | 174 |
src/noosfero-spb/software_communities/lib/software_info.rb
@@ -89,6 +89,7 @@ class SoftwareInfo < ActiveRecord::Base | @@ -89,6 +89,7 @@ class SoftwareInfo < ActiveRecord::Base | ||
89 | validate :validate_acronym | 89 | validate :validate_acronym |
90 | 90 | ||
91 | settings_items :another_license_version, :another_license_link | 91 | settings_items :another_license_version, :another_license_link |
92 | + settings_items :sisp | ||
92 | 93 | ||
93 | # used on find_by_contents | 94 | # used on find_by_contents |
94 | def self.like_search name | 95 | def self.like_search name |
src/noosfero-spb/software_communities/public/views/search-software-catalog.js
@@ -3,19 +3,26 @@ modulejs.define('SearchSoftwareCatalog', ['jquery', 'NoosferoRoot', 'SoftwareCat | @@ -3,19 +3,26 @@ modulejs.define('SearchSoftwareCatalog', ['jquery', 'NoosferoRoot', 'SoftwareCat | ||
3 | 3 | ||
4 | var AJAX_URL = { | 4 | var AJAX_URL = { |
5 | software_infos: | 5 | software_infos: |
6 | - NoosferoRoot.urlWithSubDirectory("/search/software_infos") | 6 | + NoosferoRoot.urlWithSubDirectory("/search/software_infos"), |
7 | + sisp: | ||
8 | + NoosferoRoot.urlWithSubDirectory("/search/sisp"), | ||
7 | }; | 9 | }; |
8 | 10 | ||
9 | 11 | ||
10 | function dispatch_search_ajax(enable_load) { | 12 | function dispatch_search_ajax(enable_load) { |
11 | var search_params = get_search_params(); | 13 | var search_params = get_search_params(); |
14 | + var full_url = window.location.href; | ||
15 | + var url = AJAX_URL.software_infos; | ||
16 | + if(full_url.indexOf("search/sisp") > -1){ | ||
17 | + url = AJAX_URL.sisp; | ||
18 | + } | ||
12 | 19 | ||
13 | if(enable_load) { | 20 | if(enable_load) { |
14 | open_loading("Loading"); | 21 | open_loading("Loading"); |
15 | } | 22 | } |
16 | 23 | ||
17 | $.ajax({ | 24 | $.ajax({ |
18 | - url: AJAX_URL.software_infos, | 25 | + url: url, |
19 | type: "GET", | 26 | type: "GET", |
20 | data: search_params, | 27 | data: search_params, |
21 | success: update_search_page_on_ajax, | 28 | success: update_search_page_on_ajax, |
src/noosfero-spb/software_communities/views/search/_catalog_result_list.html.erb
@@ -13,6 +13,7 @@ | @@ -13,6 +13,7 @@ | ||
13 | <% end %> | 13 | <% end %> |
14 | <% end %> | 14 | <% end %> |
15 | 15 | ||
16 | + <%name="software_infos"#TODO remove this %> | ||
16 | <% display = display_filter(name, params[:display]) %> | 17 | <% display = display_filter(name, params[:display]) %> |
17 | 18 | ||
18 | <div class="search-results-innerbox <%= 'common-profile-list-block' if SearchHelper::COMMON_PROFILE_LIST_BLOCK.include?(name) %>"> | 19 | <div class="search-results-innerbox <%= 'common-profile-list-block' if SearchHelper::COMMON_PROFILE_LIST_BLOCK.include?(name) %>"> |
src/noosfero-spb/software_communities/views/search/_software_search_form.html.erb
@@ -11,13 +11,15 @@ | @@ -11,13 +11,15 @@ | ||
11 | <%= hidden_field_tag :display, params[:display] %> | 11 | <%= hidden_field_tag :display, params[:display] %> |
12 | <%= hidden_field_tag :filter, params[:filter] %> | 12 | <%= hidden_field_tag :filter, params[:filter] %> |
13 | 13 | ||
14 | - <%= labelled_radio_button _('Public Software'), :software_type, 'public_software', @public_software_selected, :id => "public_software_radio_button", :class => "project-software" %> | ||
15 | - <span class="doubts-catalog-software" title="<%= _('Projects that have passed by the Avalia SPB process according to the requirements of IN 01/2011.') %>">?</span> | ||
16 | - <!-- Projetos que passaram pelo processo do Avalia SPB de acordo com os requisitos da IN 01/2011. --> | 14 | + <div class="radio-buttons"> |
15 | + <%= labelled_radio_button _('Public Software'), :software_type, 'public_software', @public_software_selected, :id => "public_software_radio_button", :class => "project-software" %> | ||
16 | + <span class="doubts-catalog-software" title="<%= _('Projects that have passed by the Avalia SPB process according to the requirements of IN 01/2011.') %>">?</span> | ||
17 | + <!-- Projetos que passaram pelo processo do Avalia SPB de acordo com os requisitos da IN 01/2011. --> | ||
17 | 18 | ||
18 | - <%= labelled_radio_button _('All'), :software_type, 'all', @all_selected, :id => "all_radio_button", :class => "project-software" %> | ||
19 | - <span class="doubts-catalog-software" title="<%= _('Projects included in the portal as cases provided by the IN 01/2011.') %>">?</span> | ||
20 | - <!-- Projetos incluídos no portal, conforme casos previstos na IN 01/2011. --> | 19 | + <%= labelled_radio_button _('All'), :software_type, 'all', @all_selected, :id => "all_radio_button", :class => "project-software" %> |
20 | + <span class="doubts-catalog-software" title="<%= _('Projects included in the portal as cases provided by the IN 01/2011.') %>">?</span> | ||
21 | + <!-- Projetos incluídos no portal, conforme casos previstos na IN 01/2011. --> | ||
22 | + </div> | ||
21 | 23 | ||
22 | <div class="search-field"> | 24 | <div class="search-field"> |
23 | <span class="formfield"> | 25 | <span class="formfield"> |
src/noosfero-spb/software_communities/views/search/sisp.html.erb
0 → 100644
@@ -0,0 +1,21 @@ | @@ -0,0 +1,21 @@ | ||
1 | +<h2>Catálogo de Softwares do SISP</h2> | ||
2 | + | ||
3 | +<div id="software-search-container"> | ||
4 | + <%= search_page_title( @titles[@asset], @category ) %> | ||
5 | + | ||
6 | + <%= render :partial => 'software_search_form', :locals => { :hint => _("Type words about the %s you're looking for") % @asset.to_s.singularize } %> | ||
7 | + | ||
8 | + <% if @asset == :product %> | ||
9 | + <%= javascript_tag do %> | ||
10 | + jQuery('.search-product-price-details').altBeautify(); | ||
11 | + <% end %> | ||
12 | + <% end %> | ||
13 | +</div> | ||
14 | + | ||
15 | +<%= render partial:"catalog_result_list" %> | ||
16 | + | ||
17 | +<div id="software-pagination"> | ||
18 | + <% if params[:display] != 'map' %> | ||
19 | + <%= pagination_links @searches[@asset][:results] %> | ||
20 | + <% end %> | ||
21 | +</div> |