Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/publication/publication.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/publication/publication.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/publication/publication.component.html	(revision 56059)
@@ -427,13 +427,14 @@
                 </li>
             </ul>
 
-            <button  class="  uk-button portal-button   uk-width-1-1 ">
+            <button *ngIf="isRouteAvailable('/participate/direct-claim') " class="  uk-button portal-button   uk-width-1-1 ">
              <span class="uk-icon">
                   <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20" height="25"><path d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975" fill="none" stroke="#000" stroke-width="1.1"></path></svg>
                 </span> Link this publication to...
            </button>
 
-           <div   class=" uk-margin-remove-top uk-padding-small" uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
+           <div  *ngIf="isRouteAvailable('/participate/direct-claim')" class=" uk-margin-remove-top uk-padding-small"
+                 uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
                <ul class="uk-iconnav uk-iconnav-vertical">
                  <li  uk-tooltip="pos:right;" title="<div class='tooltip-custom-font-size   '>Projects</div>">
                    <a   class="      uk-icon-button portal-button shadowBox"  style="padding: 6px;" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[articleId,'publication','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim">
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/software/software.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/software/software.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/software/software.component.html	(revision 56059)
@@ -242,13 +242,13 @@
                 </li-->
 
             </ul>
-            <button   class="   uk-button portal-button uk-width-1-1 ">
+            <button   *ngIf="isRouteAvailable('/participate/direct-claim') " class="   uk-button portal-button uk-width-1-1 ">
               <span class="uk-icon">
                    <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20" height="25"><path d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975" fill="none" stroke="#000" stroke-width="1.1"></path></svg>
                  </span> Link this software to...
             </button>
 
-          <div   uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
+          <div  *ngIf="isRouteAvailable('/participate/direct-claim') " uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
               <ul class="uk-iconnav uk-iconnav-vertical">
                 <li  uk-tooltip="pos:right;" title="<div class='tooltip-custom-font-size  '>Projects</div>">
                   <a   class="   uk-icon-button portal-button  shadowBox"  style="padding: 6px;"  [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[softwareId,'software','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/services/organization.service.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/services/organization.service.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/services/organization.service.ts	(revision 56059)
@@ -99,7 +99,7 @@
                                 }
 
                                 if(!this.organizationInfo.projects.has(relation['funding']['funder'].name)) {
-                                    this.organizationInfo.projects.set(relation['funding']['funder'].name,
+                                    this.organizationInfo.projects.setValues(relation['funding']['funder'].name,
                                         new Array<{ "name": string, "id": string, "code": string,
                                                     "acronym": string, "funder": string, "funderId": string,
                                                     "fundingStream": string, "fundingLevel1": string, "fundingLevel2": string,
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/services/searchOrganizations.service.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/services/searchOrganizations.service.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/services/searchOrganizations.service.ts	(revision 56059)
@@ -182,11 +182,14 @@
         return this.numOfOrganizations(url, properties);
     }
 
-    numOfSearchOrganizations(params: string, properties:EnvProperties ):any {
+    numOfSearchOrganizations(params: string, properties:EnvProperties, refineParams:string=null ):any {
         let url = properties.searchAPIURLLAst+"organizations/count?format=json";
         if(params != "") {
           url += "&q=" + StringUtils.URIEncode(params);
         }
+        if(refineParams!= null && refineParams != ''  ) {
+            url += refineParams;
+        }
         return this.numOfOrganizations(url, properties);
     }
 }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/find/search.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/find/search.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/find/search.component.html	(revision 56059)
@@ -155,7 +155,7 @@
                     </search-result>
                   </div>
                   <div *ngIf = "keyword.length == 0 && activeTab=='publications'" class ="uk-animation-fade" >
-                          <browse-entities [(properties)]=properties entityName="publication" baseUrl="/search/find/publications" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId  ></browse-entities>
+                          <browse-entities [(properties)]=properties entityName="publication" baseUrl="/search/find/publications" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId [customFilter]="customFilter"></browse-entities>
                   </div>
                 <!--/li>
                 <li-->
@@ -175,7 +175,7 @@
                     </search-result>
                     </div>
                     <div *ngIf = "keyword.length == 0 && activeTab=='research data'" class ="uk-animation-fade">
-                            <browse-entities [(properties)]=properties entityName="dataset" baseUrl="/search/find/datasets" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId  ></browse-entities>
+                            <browse-entities [(properties)]=properties entityName="dataset" baseUrl="/search/find/datasets" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId [customFilter]="customFilter"></browse-entities>
                     </div>
                 <!--/li>
                 <li-->
@@ -194,7 +194,7 @@
                     </search-result>
                     </div>
                     <div *ngIf = "keyword.length == 0 && activeTab=='software'" class ="uk-animation-fade">
-                            <browse-entities [(properties)]=properties entityName="software" baseUrl="/search/find/software" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId  ></browse-entities>
+                            <browse-entities [(properties)]=properties entityName="software" baseUrl="/search/find/software" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId [customFilter]="customFilter"></browse-entities>
                     </div>
                 <!--/li>
                 <li-->
@@ -213,7 +213,7 @@
                     </search-result>
                     </div>
                     <div *ngIf = "keyword.length == 0 && activeTab=='other research products'" class ="uk-animation-fade">
-                            <browse-entities [(properties)]=properties entityName="other" baseUrl="/search/find/other" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId  ></browse-entities>
+                            <browse-entities [(properties)]=properties entityName="other" baseUrl="/search/find/other" [refineFields]=searchFields.RESULT_REFINE_FIELDS [connectCommunityId]=connectCommunityId [customFilter]="customFilter"></browse-entities>
                     </div>
                 <!--/li>
                 <li-->
@@ -269,11 +269,12 @@
                    </div>
                     <search-result  [(results)]="fetchOrganizations.results"
                                     [(status)]= "fetchOrganizations.searchUtils.status" showLoading = true
-                                    type="organization" urlParam="organizationId" [(properties)]=properties>
+                                    type="organization" urlParam="organizationId" [(properties)]=properties >
                     </search-result>
                   </div>
                   <div *ngIf = "keyword.length == 0" class ="uk-animation-fade">
-                          <browse-entities [(properties)]=properties entityName="organization" baseUrl="/search/find/organizations" [refineFields]=searchFields.ORGANIZATION_REFINE_FIELDS></browse-entities>
+                          <browse-entities [(properties)]=properties entityName="organization"
+                                           baseUrl="/search/find/organizations" [refineFields]=searchFields.ORGANIZATION_REFINE_FIELDS [customFilter]="customFilter"></browse-entities>
                   </div>
 
               </div>
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/find/search.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/find/search.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/find/search.component.ts	(revision 56059)
@@ -33,6 +33,7 @@
 import {EnvProperties}                from '../../utils/properties/env-properties';
 import { SEOService } from '../../sharedComponents/SEO/SEO.service';
 import {StringUtils}             from '../../utils/string-utils.class';
+import {SearchCustomFilter} from "../searchUtils/searchUtils.class";
 
 @Component({
   changeDetection: ChangeDetectionStrategy.Default,
@@ -101,6 +102,7 @@
   @Input() logoURL;
   @Input() name;
   @Input() connectCommunityId =null;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() piwikSiteId = null;
   @Input() formPlaceholderText = "Search for research results, projects, content providers & organizations in OpenAIRE";
 
@@ -171,6 +173,11 @@
             this.showOrganizations = false;
             this.showDataProviders = false;
           }
+        if((this.customFilter && this.customFilter.queryFieldName=="country")){
+          this.showProjects = false;
+          // this.showOrganizations = false;
+          this.showDataProviders = false;
+        }
 
           this.sub =  this.route.queryParams.subscribe(params => {
 
@@ -177,7 +184,7 @@
                 this.reloadTabs();
                 this.keyword = (params['keyword'])?params['keyword']:"";
                 if(this.keyword !=null && this.keyword.length > 0){
-                  //if showPublications == false will set another entity as the first
+                  //if showPublications == false will setValues another entity as the first
                   if(this.showPublications){
                     this.activeTab = "publications";
                     this.searchPublications();
@@ -249,7 +256,7 @@
          this.fetchPublications.searchUtils.status != this.errorCodes.NONE /*&&
         this.fetchPublications.searchUtils.status != this.errorCodes.ERROR*/) {
       this.reloadPublications = false;
-      this.fetchPublications.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId);
+      this.fetchPublications.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId, this.customFilter);
       this.linkToSearchPublications = this.properties.searchLinkToPublications;// + "?keyword="  + this.keyword;
     }
    }
@@ -260,7 +267,7 @@
         this.fetchDatasets.searchUtils.status != this.errorCodes.NONE /*&&
         this.fetchDatasets.searchUtils.status != this.errorCodes.ERROR*/) {
        this.reloadDatasets = false;
-       this.fetchDatasets.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId);
+       this.fetchDatasets.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId, this.customFilter);
        this.linkToSearchDatasets =this.properties.searchLinkToDatasets;// + "?keyword="  + this.keyword;
      }
    }
@@ -273,7 +280,7 @@
         ( this.fetchSoftware.searchUtils.status == this.errorCodes.LOADING ||
           this.fetchSoftware.searchUtils.status == this.errorCodes.DONE )*/) {
        this.reloadSoftware = false;
-       this.fetchSoftware.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId);
+       this.fetchSoftware.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId, this.customFilter);
        this.linkToSearchSoftware = this.properties.searchLinkToSoftware;// + "?keyword="  + this.keyword;
      }
    }
@@ -284,7 +291,7 @@
         this.fetchOrps.searchUtils.status != this.errorCodes.NONE /*&&
         this.fetchOrps.searchUtils.status != this.errorCodes.ERROR*/) {
        this.reloadOrps = false;
-       this.fetchOrps.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId);
+       this.fetchOrps.getResultsByKeyword(this.keyword,  1, 10,this.properties, this.connectCommunityId, this.customFilter);
        this.linkToSearchOrps =this.properties.searchLinkToOrps;
      }
    }
@@ -356,6 +363,9 @@
 
    private count() {
      var refineParams = this.connectCommunityId?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((this.connectCommunityId )))):null;
+     if(this.customFilter){
+       refineParams = (refineParams?(refineParams+'&'):'')+"&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId )));
+     }
      if(this.activeTab != "publications" && this.showPublications){
       this.fetchPublications.searchUtils.status = this.errorCodes.LOADING;
       this.fetchPublications.results = [];
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchOrps.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchOrps.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchOrps.component.ts	(revision 56059)
@@ -8,7 +8,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {AdvancedSearchPageComponent} from '../searchUtils/advancedSearchPage.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
 
@@ -38,6 +38,8 @@
   properties:EnvProperties;
 @Input() piwikSiteId = null;
 @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
+
   public results =[];
   public filters =[];
 
@@ -100,6 +102,7 @@
       this.searchPage.selectedFields = this.selectedFields;
       this.searchPage.fieldIdsMap = this.fieldIdsMap;
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       this.searchPage.getSelectedFiltersFromUrl(params);
       this.getResults(this.searchPage.createQueryParameters(),  this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchOrganizations.component.ts	(revision 56059)
@@ -8,7 +8,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {AdvancedSearchPageComponent} from '../searchUtils/advancedSearchPage.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
 
@@ -52,6 +52,7 @@
   public isPiwikEnabled;
 
   @ViewChild (AdvancedSearchPageComponent) searchPage : AdvancedSearchPageComponent ;
+  @Input() customFilter:SearchCustomFilter= null;
 
 public resourcesQuery = "(oaftype exact organization)";
   constructor (private route: ActivatedRoute, private _searchOrganizationsService: SearchOrganizationsService ) {
@@ -93,6 +94,7 @@
       this.selectedFields =[];
       this.searchPage.selectedFields = this.selectedFields;
       this.searchPage.fieldIdsMap = this.fieldIdsMap;
+      this.searchPage.customFilter = this.customFilter;
       this.searchPage.getSelectedFiltersFromUrl(params);
       this.getResults(this.searchPage.createQueryParameters(),  this.searchUtils.page, this.searchUtils.size);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchDatasets.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchDatasets.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchDatasets.component.ts	(revision 56059)
@@ -8,7 +8,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {AdvancedSearchPageComponent} from '../searchUtils/advancedSearchPage.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
 
@@ -38,6 +38,8 @@
   properties:EnvProperties;
 @Input() piwikSiteId = null;
 @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
+
   public results =[];
   public filters =[];
 
@@ -100,6 +102,7 @@
       this.searchPage.selectedFields = this.selectedFields;
       this.searchPage.fieldIdsMap = this.fieldIdsMap;
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       this.searchPage.getSelectedFiltersFromUrl(params);
       this.getResults(this.searchPage.createQueryParameters(),  this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchSoftware.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchSoftware.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchSoftware.component.ts	(revision 56059)
@@ -8,7 +8,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {AdvancedSearchPageComponent} from '../searchUtils/advancedSearchPage.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
 
@@ -37,6 +37,7 @@
   private errorMessages: ErrorMessagesComponent;
 @Input() piwikSiteId = null;
 @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   public results =[];
   public filters =[];
 
@@ -101,6 +102,7 @@
       this.searchPage.selectedFields = this.selectedFields;
       this.searchPage.fieldIdsMap = this.fieldIdsMap;
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       this.searchPage.getSelectedFiltersFromUrl(params);
       this.getResults(this.searchPage.createQueryParameters(),  this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchPublications.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchPublications.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/advanced/advancedSearchPublications.component.ts	(revision 56059)
@@ -8,7 +8,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {AdvancedSearchPageComponent} from '../searchUtils/advancedSearchPage.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
 
@@ -53,6 +53,7 @@
   public oldTotalResults: number = 0;
   @Input() openaireLink: string ;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   public pagingLimit: number = 0;
   public isPiwikEnabled;
   public sort: boolean = true;
@@ -105,6 +106,7 @@
       this.searchPage.selectedFields = this.selectedFields;
       this.searchPage.fieldIdsMap = this.fieldIdsMap;
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       this.searchPage.getSelectedFiltersFromUrl(params);
       this.getResults(this.searchPage.createQueryParameters(),  this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
     });
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/searchUtils.class.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/searchUtils.class.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/searchUtils.class.ts	(revision 56059)
@@ -8,3 +8,28 @@
   totalResultsNoFilters:number; // for organization landing - tab with projects
   sortBy: string = "";
 }
+
+export class SearchCustomFilter{
+ fieldName:string; //Country
+ queryFieldName:string; //country
+ valueId:string; //gr
+ valueName:string; // Greece
+ isApplied:boolean;
+ constructor( fieldName:string, queryFieldName:string, valueId:string, valueName:string ){
+   this.isApplied = true;
+
+   this.fieldName = fieldName;
+   this.queryFieldName = queryFieldName;
+   this.valueId = valueId;
+   this.valueName = valueName;
+ }
+  // public setFilter(filter:SearchCustomFilter){
+  //  if(!filter){
+  //    return;
+  //  }
+  //   this.fieldName = filter.fieldName;
+  //   this.queryFieldName = filter.queryFieldName;
+  //   this.valueId = filter.valueId;
+  //   this.valueName = filter.valueName;
+  // }
+}
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/browseEntities.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/browseEntities.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/browseEntities.component.ts	(revision 56059)
@@ -9,7 +9,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
-import {SearchUtilsClass} from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 import {StringUtils}             from '../../utils/string-utils.class';
 
@@ -24,7 +24,7 @@
   <div *ngIf="status == errorCodes.NOT_FOUND" class="uk-alert uk-alert-danger" role="alert">No filters found</div-->
   <errorMessages [status]="[status]" [type]="'results'"></errorMessages>
 
-  <div class ="uk-grid">
+  <div class ="uk-grid" *ngIf="status ===errorCodes.DONE">
     <div *ngFor= "let filter of filters" class = "uk-margin-bottom uk-width-1-3@l uk-width-1-3@m  uk-width-1-2@s">
       <browse-statistic   [baseUrl]=baseUrl [filter]=filter ></browse-statistic>
     </div>
@@ -41,6 +41,7 @@
   @Input() public refineFields: string[] ;//=  this.searchFields.RESULT_REFINE_FIELDS;
   @Input() properties:EnvProperties;
   @Input() connectCommunityId =null;
+  @Input() customFilter:SearchCustomFilter= null;
 
   public sub: any;
   public errorCodes:ErrorCodes = new ErrorCodes();
@@ -74,7 +75,9 @@
 
   this.status = this.errorCodes.LOADING;
   var refineParams = this.connectCommunityId?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((this.connectCommunityId )))):null;
-
+  if(this.customFilter){
+    refineParams = (refineParams?(refineParams+'&'):'')+"&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId )));
+  }
   this.sub = this._refineFieldsService.getRefineFieldsResultsByEntityName(this.refineFields,this.entityName, this.properties,refineParams).subscribe(
       data => {
           //console.info("Get Stats for "+this.entityName+ ": [Total:"+data[0]+" ]  [fields: "+data[1].length+"]");
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchOrps.class.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchOrps.class.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchOrps.class.ts	(revision 56059)
@@ -1,7 +1,7 @@
 import {SearchOrpsService} from '../../services/searchOrps.service';
 import { ErrorCodes} from '../../utils/properties/errorCodes';
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
-import {SearchUtilsClass } from '../../searchPages/searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../../searchPages/searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import {Subject} from 'rxjs';
 import{EnvProperties} from '../../utils/properties/env-properties';
@@ -41,7 +41,7 @@
   }
 
 
-  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null){
+  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null, customFilter:SearchCustomFilter=null){
     var parameters = "";
     if(keyword.length > 0){
       var DOIs:string[] = DOI.getDOIsFromString(keyword);
@@ -59,6 +59,9 @@
 
     this.searchUtils.status = this.errorCodes.LOADING;
     var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
+    if(customFilter){
+      refineParams = (refineParams?(refineParams+'&'):'')+"&fq="+StringUtils.URIEncode(customFilter.queryFieldName + " exact " + StringUtils.quote((customFilter.valueId )));
+    }
     this.subResults = this._searchOrpsService.searchOrps(parameters,refineParams, page, size, "", [], properties).subscribe(
         data => {
             this.searchUtils.totalResults = data[0];
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchSoftware.class.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchSoftware.class.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchSoftware.class.ts	(revision 56059)
@@ -1,7 +1,7 @@
 import {SearchSoftwareService} from '../../services/searchSoftware.service';
 import { ErrorCodes} from '../../utils/properties/errorCodes';
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
-import {SearchUtilsClass } from '../../searchPages/searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../../searchPages/searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import {Subject} from 'rxjs';
 import{EnvProperties} from '../../utils/properties/env-properties';
@@ -41,7 +41,7 @@
   }
 
 
-  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null){
+  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null, customFilter:SearchCustomFilter=null){
     var parameters = "";
     if(keyword.length > 0){
       var DOIs:string[] = DOI.getDOIsFromString(keyword);
@@ -60,7 +60,9 @@
     //var errorCodes:ErrorCodes = new ErrorCodes();
     this.searchUtils.status = this.errorCodes.LOADING;
     var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
-
+    if(customFilter){
+      refineParams = (refineParams?(refineParams+'&'):'')+"&fq="+StringUtils.URIEncode(customFilter.queryFieldName + " exact " + StringUtils.quote((customFilter.valueId )));
+    }
     this.subResults = this._searchSoftwareService.searchSoftware(parameters,refineParams, page, size, "", [], properties).subscribe(
         data => {
             this.searchUtils.totalResults = data[0];
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/sharedComponents/navigationBar.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/sharedComponents/navigationBar.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/sharedComponents/navigationBar.component.ts	(revision 56059)
@@ -20,7 +20,7 @@
   // @Input() logOutUrl;
   // @Input() APIUrl;
   @Input() communityId;
-  // @Input() cookieDomain;
+  @Input() showCommunityName:boolean = false;
   @Input() userMenuItems:MenuItem[]  ;
   @Input() menuItems:RootMenuItem [] ;
   @Input() community: {id:string, name:string, logoUrl:string};
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/searchPage.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/searchPage.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/searchPage.component.ts	(revision 56059)
@@ -7,7 +7,7 @@
 
 import {Filter, Value}                from './searchHelperClasses.class';
 import {SearchFields}                 from '../../utils/properties/searchFields';
-import {SearchUtilsClass}             from './searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from './searchUtils.class';
 import {DOI, StringUtils}             from '../../utils/string-utils.class';
 import {RouterHelper}                 from '../../utils/routerHelper.class';
 import {ModalLoading}                 from '../../utils/modal/loading.component';
@@ -48,6 +48,7 @@
   @Input() searchFormClass: string = "searchForm";
   @Input() openaireLink: string;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() sort: boolean = false;
   @Input() mapUrl: string = "";
   @Input() mapTooltipType: string ="content providers";
@@ -175,7 +176,9 @@
    if(this.connectCommunityId ){
      allFqs+=  "&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((this.connectCommunityId )));
    }
-
+    if(this.customFilter){
+      allFqs+= "&fq="+StringUtils.URIEncode(this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId )));
+    }
    var keyword = params['keyword'];
    var doiQuery = "";
    var keywordQuery = "";
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchPage.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchPage.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/searchUtils/advancedSearchPage.component.ts	(revision 56059)
@@ -9,7 +9,7 @@
 import {Filter, Value, AdvancedField} from '../searchUtils/searchHelperClasses.class';
 import {SearchResult}                 from '../../utils/entities/searchResult';
 import {SearchFields, FieldDetails}   from '../../utils/properties/searchFields';
-import {SearchUtilsClass}             from './searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from './searchUtils.class';
 import {ModalLoading}                 from '../../utils/modal/loading.component';
 import {StringUtils, Dates}           from '../../utils/string-utils.class';
 import {ErrorCodes}                   from '../../utils/properties/errorCodes';
@@ -43,6 +43,7 @@
   @Input() oldTotalResults: number = 0;
   @Input() openaireLink: string;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() sort: boolean = false;
   @Input() searchFormClass: string = "searchForm";
   piwiksub: any;
@@ -256,7 +257,11 @@
     //community
     if(this.connectCommunityId ){
       params += (countParams == 0 ? "" : " and " ) + "communityId exact "+'"' + this.connectCommunityId +'"' + " ";
+      countParams++;
     }
+    if(this.customFilter){
+      params+= (countParams == 0 ? "" : " and " ) + this.customFilter.queryFieldName + " exact " + StringUtils.quote((this.customFilter.valueId ));
+    }
      return params;
 
   }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchOrps.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchOrps.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchOrps.component.ts	(revision 56059)
@@ -9,7 +9,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
@@ -45,6 +45,7 @@
   public baseUrl:string;
   @Input() openaireLink: string ;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() advancedSearchParameters ;
   public searchUtils:SearchUtilsClass = new SearchUtilsClass();
   private sub: any;
@@ -106,6 +107,7 @@
       }
 
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
        this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchOrganizations.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchOrganizations.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchOrganizations.component.ts	(revision 56059)
@@ -8,7 +8,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
 @Component({
@@ -53,6 +53,7 @@
   pagingLimit = 0;
 properties: EnvProperties;
   @ViewChild (SearchPageComponent) searchPage : SearchPageComponent ;
+  @Input() customFilter:SearchCustomFilter= null;
 
   constructor (private route: ActivatedRoute, private _searchOrganizationsService: SearchOrganizationsService ) {
 
@@ -93,6 +94,7 @@
         this.searchUtils.size = 10;
       }
 
+      this.searchPage.customFilter = this.customFilter;
       var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
        this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size);
     });
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchDatasets.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchDatasets.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchDatasets.component.ts	(revision 56059)
@@ -9,7 +9,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
@@ -47,6 +47,7 @@
   public baseUrl:string;
   @Input() openaireLink: string ;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() advancedSearchParameters ;
   public searchUtils:SearchUtilsClass = new SearchUtilsClass();
   private sub: any;
@@ -109,6 +110,7 @@
       }
 
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
        this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchSoftware.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchSoftware.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchSoftware.component.ts	(revision 56059)
@@ -9,7 +9,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
-import {SearchUtilsClass } from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
@@ -27,7 +27,7 @@
                  [loadPaging]="loadPaging"
                  [oldTotalResults]="oldTotalResults"
                  searchFormClass="softwareSearchForm"
-                 [(openaireLink)]=openaireLink
+                 [(openaireLink)]=openaireLinks
                  [(advancedSearchParameters)]=advancedSearchParameters
                  [piwikSiteId]=piwikSiteId
                  [(connectCommunityId)]=connectCommunityId
@@ -41,6 +41,7 @@
   private errorMessages: ErrorMessagesComponent;
   @Input() openaireLink: string ;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() advancedSearchParameters ;
   @Input() piwikSiteId = null;
   public results =[];
@@ -108,6 +109,7 @@
       }
 
       this.searchPage.connectCommunityId = this.connectCommunityId;
+      this.searchPage.customFilter = this.customFilter;
       var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
        this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
 
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchPublications.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchPublications.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/searchPages/simple/searchPublications.component.ts	(revision 56059)
@@ -10,7 +10,7 @@
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
 import {SearchPageComponent } from '../searchUtils/searchPage.component';
-import {SearchUtilsClass} from '../searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import{EnvProperties} from '../../utils/properties/env-properties';
 
@@ -70,6 +70,7 @@
   public oldTotalResults: number = 0;
   @Input() openaireLink: string;
   @Input() connectCommunityId: string;
+  @Input() customFilter:SearchCustomFilter= null;
   @Input() advancedSearchParameters ;
   pagingLimit = 0;
   public sort: boolean = true;
@@ -118,6 +119,7 @@
         }
 
         this.searchPage.connectCommunityId = this.connectCommunityId;
+        this.searchPage.customFilter = this.customFilter;
         var queryParameters = this.searchPage.getQueryParametersFromUrl(params);
         this._getResults(queryParameters, refine, this.searchUtils.page, this.searchUtils.size, this.searchUtils.sortBy);
     });
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/orp/orp.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/orp/orp.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/orp/orp.component.html	(revision 56059)
@@ -179,13 +179,14 @@
 
               </li>
             </ul>
-            <button   class="   uk-button portal-button uk-width-1-1  ">
+            <button *ngIf="isRouteAvailable('/participate/direct-claim') "  class="   uk-button portal-button uk-width-1-1  ">
               <span class="uk-icon">
                 <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20" height="25"><path d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375" fill="none" stroke="#000"  stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975" fill="none" stroke="#000" stroke-width="1.1"></path></svg>
               </span> Link this product to...
             </button>
 
-            <div   uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
+            <div   *ngIf="isRouteAvailable('/participate/direct-claim') " uk-dropdown="pos: bottom-left; mode:click" style="background: transparent
+            !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
               <ul class="uk-iconnav uk-iconnav-vertical">
                 <li  uk-tooltip="pos:right;" title="<div class='tooltip-custom-font-size   '>Projects</div>">
                   <a   class="   uk-icon-button portal-button shadowBox"  style="padding: 6px;" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[orpId,'orp','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/orp/orp.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/orp/orp.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/orp/orp.component.ts	(revision 56059)
@@ -65,6 +65,7 @@
     constructor (private _orpService: OrpService,
                  private _piwikService:PiwikService,
                  private  route: ActivatedRoute,
+                 private router: Router,
                  private _meta: Meta,
                  private _title: Title,
                  private _router: Router,
@@ -207,4 +208,13 @@
       }
       return totalPages;
     }
+  isRouteAvailable(routeToCheck:string){
+    for (let i = 0; i < this.router.config.length; i++) {
+      let routePath:string = this.router.config[i].path;
+      if(routePath == routeToCheck){
+        return true;
+      }
+    }
+    return false;
+  }
 }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/dataset/dataset.component.html	(revision 56059)
@@ -246,13 +246,13 @@
                 </li>
 
             </ul>
-            <button   class="   uk-button portal-button   uk-width-1-1 ">
+            <button *ngIf="isRouteAvailable('/participate/direct-claim') "  class="   uk-button portal-button   uk-width-1-1 ">
               <span class="uk-icon">
                    <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20" height="25"><path d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975" fill="none" stroke="#000" stroke-width="1.1"></path></svg>
                  </span> Link this dataset to...
             </button>
 
-          <div   uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
+          <div *ngIf="isRouteAvailable('/participate/direct-claim') " uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;">
               <ul class="uk-iconnav uk-iconnav-vertical">
                 <li  uk-tooltip="pos:right;" title="<div class='tooltip-custom-font-size   '>Projects</div>">
                   <a   class="   uk-icon-button portal-button  shadowBox"  style="padding: 6px;" [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[datasetId,'dataset','project'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/dataset/dataset.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/dataset/dataset.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/dataset/dataset.component.ts	(revision 56059)
@@ -65,6 +65,7 @@
     constructor (private _datasetService: DatasetService,
                  private _piwikService:PiwikService,
                  private  route: ActivatedRoute,
+                 private router: Router,
                  private _meta: Meta,
                  private _title: Title,
                  private _router: Router,
@@ -221,4 +222,13 @@
     public scroll() {
       HelperFunctions.scroll();
     }
+  isRouteAvailable(routeToCheck:string){
+    for (let i = 0; i < this.router.config.length; i++) {
+      let routePath:string = this.router.config[i].path;
+      if(routePath == routeToCheck){
+        return true;
+      }
+    }
+    return false;
+  }
 }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/project/project.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/project/project.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/project/project.component.html	(revision 56059)
@@ -453,7 +453,7 @@
                               <span  class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1"><polyline fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line></svg></span> Get {{projectInfo.funder}} report (CSV)
                          </a>
                        </li>
-                       <li>
+                       <li *ngIf="isRouteAvailable('/participate/deposit-publications') ">
                          <a  routerLinkActive="router-link-active" routerLink="/participate/deposit-publications">
                              <span class="uk-icon">
 <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><polyline fill="none" stroke="#000" points="5 8 9.5 3.5 14 8 "></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="15" x2="9.5" y2="4"></line></svg>
@@ -490,7 +490,7 @@
                            <span  class="uk-icon"><svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" icon="download" ratio="1"><polyline fill="none" stroke="#000" points="14,10 9.5,14.5 5,10"></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="13.91" x2="9.5" y2="3"></line></svg></span> Get {{projectInfo.funder}} report (CSV)
                       </a>
                     </li>
-                    <li>
+                    <li *ngIf="isRouteAvailable('/participate/deposit-datasets') ">
                          <a  routerLinkActive="router-link-active" routerLink="/participate/deposit-datasets">
                               <span class="uk-icon">
                               <svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" ratio="1"><polyline fill="none" stroke="#000" points="5 8 9.5 3.5 14 8 "></polyline><rect x="3" y="17" width="13" height="1"></rect><line fill="none" stroke="#000" x1="9.5" y1="15" x2="9.5" y2="4"></line></svg>
@@ -502,13 +502,13 @@
               </ul>
 
             </div>
-            <button   class="   uk-button portal-button uk-margin-small-top uk-width-1-1">
+            <button *ngIf="isRouteAvailable('/participate/direct-claim') "  class="   uk-button portal-button uk-margin-small-top uk-width-1-1">
               <span class="uk-icon">
                    <svg icon="link" ratio="1" xmlns="http://www.w3.org/2000/svg" width="25" viewBox="0 0 20 20" height="25"><path d="M10.625,12.375 L7.525,15.475 C6.825,16.175 5.925,16.175 5.225,15.475 L4.525,14.775 C3.825,14.074 3.825,13.175 4.525,12.475 L7.625,9.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M9.325,7.375 L12.425,4.275 C13.125,3.575 14.025,3.575 14.724,4.275 L15.425,4.975 C16.125,5.675 16.125,6.575 15.425,7.275 L12.325,10.375" fill="none" stroke="#000" stroke-width="1.1"></path><path d="M7.925,11.875 L11.925,7.975" fill="none" stroke="#000" stroke-width="1.1"></path></svg>
                  </span> Link this project to...
             </button>
 
-          <div   uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;" class=" uk-margin-remove-top uk-padding-small">
+          <div *ngIf="isRouteAvailable('/participate/direct-claim') "  uk-dropdown="pos: bottom-left; mode:click" style="background: transparent !important;box-shadow: none; max-width: 70px !important; min-width: 70px !important;" class=" uk-margin-remove-top uk-padding-small">
               <ul class="uk-iconnav uk-iconnav-vertical">
                  <li uk-tooltip="pos:right;" title="<div class='tooltip-custom-font-size uk-margin-small'>Research results</div>">
                    <a   class="   uk-icon-button portal-button shadowBox"  style="padding: 6px;"  [queryParams]="routerHelper.createQueryParams(['id','type','linkTo'],[projectId,'project','result'])"   routerLinkActive="router-link-active" routerLink="/participate/direct-claim" >
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/project/project.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/project/project.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/project/project.component.ts	(revision 56059)
@@ -105,6 +105,7 @@
   constructor ( private _projectService: ProjectService,
                 private _piwikService:PiwikService,
                 private  route: ActivatedRoute,
+                private router: Router,
                 private _searchPublicationsService: SearchPublicationsService,
                 private _searchDatasetsService: SearchDatasetsService,
                 private _searchSoftwareService: SearchSoftwareService,
@@ -492,4 +493,13 @@
     private handleError(message: string, error) {
         console.error("Project Landing Page: "+message, error);
     }
+  isRouteAvailable(routeToCheck:string){
+    for (let i = 0; i < this.router.config.length; i++) {
+      let routePath:string = this.router.config[i].path;
+      if(routePath == routeToCheck){
+        return true;
+      }
+    }
+    return false;
+  }
 }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/publication/publication.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/publication/publication.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/publication/publication.component.ts	(revision 56059)
@@ -76,6 +76,7 @@
   constructor ( private _publicationService: PublicationService,
                 private _piwikService:PiwikService,
                 private route: ActivatedRoute,
+                private router: Router,
                 private _meta: Meta,
                 private _title: Title,
                 private _router: Router,
@@ -361,4 +362,13 @@
   private handleError(message: string, error) {
     console.error("Publication Landing Page: "+message, error);
   }
+  isRouteAvailable(routeToCheck:string){
+    for (let i = 0; i < this.router.config.length; i++) {
+      let routePath:string = this.router.config[i].path;
+      if(routePath == routeToCheck){
+        return true;
+      }
+    }
+    return false;
+  }
 }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/software/software.component.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/software/software.component.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/landingPages/software/software.component.ts	(revision 56059)
@@ -60,6 +60,7 @@
     constructor (private _softwareService: SoftwareService,
                  private _piwikService:PiwikService,
                  private  route: ActivatedRoute,
+                 private router: Router,
                  private _meta: Meta,
                  private _title: Title,
                  private _router: Router,
@@ -202,4 +203,13 @@
     private handleError(message: string, error) {
         console.error("Software Landing Page: "+message, error);
     }
+  isRouteAvailable(routeToCheck:string){
+    for (let i = 0; i < this.router.config.length; i++) {
+      let routePath:string = this.router.config[i].path;
+      if(routePath == routeToCheck){
+        return true;
+      }
+    }
+    return false;
+  }
 }
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchPublications.class.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchPublications.class.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchPublications.class.ts	(revision 56059)
@@ -3,7 +3,7 @@
 import {ErrorCodes} from '../../utils/properties/errorCodes';
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
 import {SearchFields, FieldDetails} from '../../utils/properties/searchFields';
- import {SearchUtilsClass } from '../../searchPages/searchUtils/searchUtils.class';
+ import {SearchCustomFilter, SearchUtilsClass} from '../../searchPages/searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import {Subject} from 'rxjs';
 import{EnvProperties} from '../../utils/properties/env-properties';
@@ -52,7 +52,7 @@
     }
   }
 
-  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null){
+  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null, customFilter:SearchCustomFilter=null){
     var parameters = "";
     if(keyword.length > 0){
       var DOIs:string[] = DOI.getDOIsFromString(keyword);
@@ -72,6 +72,9 @@
     //var errorCodes:ErrorCodes = new ErrorCodes();
     this.searchUtils.status = this.errorCodes.LOADING;
     var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
+    if(customFilter){
+      refineParams = (refineParams?(refineParams+'&'):'')+"&fq="+StringUtils.URIEncode(customFilter.queryFieldName + " exact " + StringUtils.quote((customFilter.valueId )));
+    }
     this.subResults = this._searchPublicationsService.searchPublications(parameters,refineParams, page, size, "", [], properties).subscribe(
         data => {
             this.searchUtils.totalResults = data[0];
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchDatasets.class.ts
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchDatasets.class.ts	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/utils/fetchEntitiesClasses/fetchDatasets.class.ts	(revision 56059)
@@ -1,7 +1,7 @@
 import {SearchDatasetsService} from '../../services/searchDatasets.service';
 import { ErrorCodes} from '../../utils/properties/errorCodes';
 import {ErrorMessagesComponent}    from '../../utils/errorMessages.component';
-import {SearchUtilsClass } from '../../searchPages/searchUtils/searchUtils.class';
+import {SearchCustomFilter, SearchUtilsClass} from '../../searchPages/searchUtils/searchUtils.class';
 import {DOI} from '../../utils/string-utils.class';
 import {Subject} from 'rxjs';
 import{EnvProperties} from '../../utils/properties/env-properties';
@@ -40,7 +40,7 @@
   }
 
 
-  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null){
+  public getResultsByKeyword(keyword:string,  page: number, size: number, properties:EnvProperties, connectCommunityId=null, customFilter:SearchCustomFilter=null){
     var parameters = "";
     if(keyword.length > 0){
       var DOIs:string[] = DOI.getDOIsFromString(keyword);
@@ -59,7 +59,9 @@
     //var errorCodes:ErrorCodes = new ErrorCodes();
     this.searchUtils.status = this.errorCodes.LOADING;
     var refineParams = (connectCommunityId)?("&fq="+StringUtils.URIEncode("communityId exact " + StringUtils.quote((connectCommunityId )))):null;
-
+    if(customFilter){
+      refineParams = (refineParams?(refineParams+'&'):'')+"&fq="+StringUtils.URIEncode(customFilter.queryFieldName + " exact " + StringUtils.quote((customFilter.valueId )));
+    }
     this.subResults = this._searchDatasetsService.searchDatasets(parameters,refineParams, page, size, "", [], properties).subscribe(
         data => {
             this.searchUtils.totalResults = data[0];
Index: modules/uoa-services-library/trunk/ng-openaire-library/src/app/sharedComponents/navigationBar.component.html
===================================================================
--- modules/uoa-services-library/trunk/ng-openaire-library/src/app/sharedComponents/navigationBar.component.html	(revision 56058)
+++ modules/uoa-services-library/trunk/ng-openaire-library/src/app/sharedComponents/navigationBar.component.html	(revision 56059)
@@ -12,11 +12,13 @@
           </a>
           <a *ngIf="community && !homeurl" class="uk-navbar-item uk-logo"  [href]="'https://'+(properties.environment =='beta'?'beta.':'')+community.id+'.openaire.eu'"  target="_blank">
             <img *ngIf="community.logoUrl && community.logoUrl.length > 0" src="{{community.logoUrl}}"  [alt]=community.name  class="uk-responsive-height">
-            <div *ngIf="!community.logoUrl || community.logoUrl.length == 0" class="uk-margin-left uk-text-large"> {{community.name}} </div>
+            <div *ngIf="!community.logoUrl || community.logoUrl.length == 0  || showCommunityName" class="uk-margin-left uk-text-large">
+              {{community.name}} </div>
            </a>
            <a *ngIf="community && homeurl" class="uk-navbar-item uk-logo"   routerLinkActive="uk-link" routerLink="/" >
              <img *ngIf="community.logoUrl && community.logoUrl.length > 0" src="{{community.logoUrl}}" [alt]=community.name class="uk-responsive-height">
-             <div *ngIf="!community.logoUrl || community.logoUrl.length == 0" class="uk-margin-left uk-text-large"> {{community.name}} </div>
+             <div *ngIf="!community.logoUrl || community.logoUrl.length == 0  || showCommunityName" class="uk-margin-left uk-text-large">
+               {{community.name}} </div>
             </a>
 
       </div>
@@ -114,12 +116,13 @@
                <a *ngIf="community  && homeurl" routerLinkActive="uk-link" routerLink="/"  class="uk-logo uk-navbar-item">
 
                  <img *ngIf="community.logoUrl && community.logoUrl.length > 0" src="{{community.logoUrl}}"  [alt]=community.name class="uk-responsive-height">
-                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0" class="uk-margin-left uk-text-large"> {{community.name}} </div>
+                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0 || showCommunityName" class="uk-margin-left uk-text-large"> {{community.name}} </div>
                </a>
                <a *ngIf="community  && !homeurl" [href]="'https://'+(properties.environment =='beta'?'beta.':'')+community.id+'.openaire.eu'" target="_blank"  class="uk-logo uk-navbar-item">
 
                  <img *ngIf="community.logoUrl && community.logoUrl.length > 0" src="{{community.logoUrl}}"  [alt]=community.name class="uk-responsive-height">
-                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0" class="uk-margin-left uk-text-large"> {{community.name}} </div>
+                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0 || showCommunityName"
+                      class="uk-margin-left uk-text-large"> {{community.name}} </div>
                </a>
             </div>
             <div class="uk-navbar-left  uk-visible@m uk-hidden@l uk-width-1-3">
@@ -128,17 +131,19 @@
                </a>
                <a  *ngIf="community && homeurl" routerLinkActive="uk-link" routerLink="/"  class="uk-logo uk-navbar-item">
                  <img *ngIf="community.logoUrl && community.logoUrl.length > 0" src="{{community.logoUrl}}"   [alt]=community.name class="uk-responsive-height">
-                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0" class="uk-margin-left uk-text-large"> {{community.name}} </div>
+                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0  || showCommunityName"
+                      class="uk-margin-left uk-text-large"> {{community.name}} </div>
                </a>
                <a  *ngIf="community && !homeurl"  [href]="'https://'+(properties.environment =='beta'?'beta.':'')+community.id+'.openaire.eu'" target="_blank"  class="uk-logo uk-navbar-item">
                  <img *ngIf="community.logoUrl && community.logoUrl.length > 0" src="{{community.logoUrl}}"   [alt]=community.name class="uk-responsive-height">
-                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0" class="uk-margin-left uk-text-large"> {{community.name}} </div>
+                 <div *ngIf="!community.logoUrl || community.logoUrl.length == 0  || showCommunityName"
+                      class="uk-margin-left uk-text-large"> {{community.name}} </div>
                </a>
 
             </div>
             <!-- <div   *ngIf="!onlyTop" class="uk-navbar-center"> -->
             <div   *ngIf="!onlyTop" class="uk-navbar-right uk-position-top-right">
-               <ul *ngIf= "isClient" class="uk-navbar-nav">
+               <ul *ngIf= "isClient" [class]="'uk-navbar-nav'+(!userMenu?' uk-margin-right':'')">
                  <ng-container *ngFor="let menu of menuItems">
                    <li class="uk-parent" *ngIf="isAtleastOneEnabled(menu.rootItem.entitiesRequired,showEntity) && isAtleastOneEnabled(menu.rootItem.routeRequired, showPage)">
                       <!--a routerLinkActive="uk-link" routerLink="{{menu.rootItem.route}}"   [queryParams]=menu.rootItem.params class="" aria-expanded="false">{{menu.rootItem.title}}</a-->
