Browse Source

Update permission checks

ccheng 13 years ago
parent
commit
9e1584f598

+ 1 - 35
tripal_analysis/tripal_analysis.module

@@ -301,25 +301,7 @@ function chado_analysis_update($node){
 			//Construct node title as "program (version)
 			$record->title = "$node->program ($node->programversion)";
 		}
-		if ($node->files) {
-			$files = $node->files;
-			$type_id = tripal_get_cvterm_id('additional_files');
-			$sql = "SELECT * FROM {analysisprop} WHERE type_id = $type_id AND analysis_id = $analysis_id";
-			$result = db_result(chado_query($sql));
-			if (!$result) {
-				$sql = "INSERT INTO {analysisprop} (analysis_id, type_id, value, rank)
-	   				 VALUES ($analysis_id, $type_id, '$files', 0)";
-				chado_query($sql);
-			} else {
-				$sql = "UPDATE {analysisprop}
-								  SET rank = 0,
-								  value = '$node->files' 
-								  WHERE analysis_id = $analysis_id 
-								  AND type_id =$type_id";
-				chado_query($sql);
-			}
-		}
-		
+
 		if($node->setpermissions) {
 			$job_args[0] = $analysis_id;
 			$job_args[1] = $node->nid;
@@ -387,10 +369,6 @@ function chado_analysis_form ($node){
    $description = $node->description;
    if(!$description){
       $description = $analysis->description;
-   }
-   $files = $node->files;
-   if(!$files){
-      $files = $analysis->files;
    }
 	$form = array();
 	$form['title']= array(
@@ -487,15 +465,6 @@ function chado_analysis_form ($node){
          someone to recreate the analysis, including materials and methods
          for collection of the source data and performing the analysis'),
 	);
-	$form['files']= array(
-      '#type' => 'textarea',
-      '#rows' => 5,
-      '#title' => t('Additional Files for Download'),
-	  '#description' => t('Separate each file with a bar \'|\' and include a description for each file using semicolon. e.g. Description1; File1 | Description2; File2'),
-      '#required' => FALSE,
-      '#default_value' => check_plain($files),
-      '#weight' => 12
-	);
 	/* Set permissions for all features associated with this analysis */
 	if (module_exists('node_privacy_byrole')) {
 		$form['setpermissions'] = array(
@@ -523,9 +492,6 @@ function chado_analysis_load($node){
    $values = array('analysis_id' => $analysis_id);
    $analysis = tripal_core_generate_chado_var('analysis',$values);
 
-   $files = tripal_analysis_get_property($analysis_id,'additional_files');
-   $analysis->files = $files->value;
-      
    $additions->analysis = $analysis;
    return $additions;
 }

+ 11 - 9
tripal_analysis_blast/tripal_analysis_blast.module

@@ -820,25 +820,27 @@ function tripal_analysis_blast_perm(){
  */
 function chado_analysis_blast_access($op, $node, $account){
 	if ($op == 'create') {
-		return user_access('create chado_analysis_blast content', $account);
+		if(!user_access('create chado_analysis_blast content', $account)){
+			return FALSE;
+      }
 	}
 
 	if ($op == 'update') {
-		if (user_access('edit chado_analysis_blast content', $account)) {
-			return TRUE;
+		if (!user_access('edit chado_analysis_blast content', $account)) {
+			return FALSE;
 		}
 	}
 	if ($op == 'delete') {
-		if (user_access('delete chado_analysis_blast content', $account)) {
-			return TRUE;
+		if (!user_access('delete chado_analysis_blast content', $account)) {
+			return FALSE;
 		}
 	}
 	if ($op == 'view') {
-		if (user_access('access chado_analysis_blast content', $account) && tripal_check_permission_by_node_id($node->nid)) {
-			return TRUE;
-		}
+		if(!user_access('access chado_analysis_blast content', $account)){
+         return FALSE;
+      }
 	}
-	return FALSE;
+   return NULL;
 }
 
 /**

+ 1 - 22
tripal_analysis_go/tripal_analysis_go.module

@@ -48,13 +48,6 @@ function tripal_analysis_go_menu() {
      'access arguments' => array('access administration pages'),
      'type' => MENU_NORMAL_ITEM,
    );
-   $items['node/%/goterms'] = array(
-     'title' => t('GO Analysis'),
-     'page callback' => 'tripal_analysis_go_organism_goterms',
-     'page arguments' => array(1,3),
-     'access arguments' =>  array('access chado_analysis_go content'),
-     'type' => MENU_CALLBACK
-   );
 
    return $items;
 }
@@ -267,9 +260,7 @@ function tripal_analysis_go_select_form(&$form_state = NULL,$node){
    $analyses = array();
    $analyses[''] = '';
    while($analysis = db_fetch_object($results)){
-   	if (tripal_analysis_check_permission($analysis->analysis_id)) {
    		$analyses[$analysis->analysis_id."-".$analysis->organism_id] = "$analysis->name";
-   	}
    }
   
    # create the select box
@@ -388,7 +379,7 @@ function tripal_analysis_go_cv_chart($chart_id){
         )
      ",
      type             => 'p',
-     size             => '650x280',
+     size             => '550x175',
      title            => $title,
   );
   return $options;
@@ -603,16 +594,4 @@ function tripal_analysis_go_job_describe_args($callback,$args){
 
    }
    return $new_args;
-}
-
-/************************************************************************
-*/
-function tripal_analysis_go_organism_goterms($node, $ana_id_org_id = NULL) {
-	$content = "";
-	if ($ana_id_org_id) {
-		$content .= "<input type=\"hidden\" id=\"analysis_id_for_go_report\" value=\"$ana_id_org_id\">";
-	}
-   $node = node_load($node);
-   $content .= theme('tripal_organism_go_summary', $node);
-   return $content;
 }

+ 20 - 18
tripal_analysis_interpro/tripal_analysis_interpro.module

@@ -635,26 +635,28 @@ function tripal_analysis_interpro_perm(){
  *  perform actions on data managed by this module
  */
 function chado_analysis_interpro_access($op, $node, $account){
-   if ($op == 'create') {
-      return user_access('create chado_analysis_interpro content', $account);
-   }
-
-   if ($op == 'update') {
-      if (user_access('edit chado_analysis_interpro content', $account)) {
-         return TRUE;
-      }
-   }
-   if ($op == 'delete') {
-      if (user_access('delete chado_analysis_interpro content', $account)) {
-         return TRUE;
+	if ($op == 'create') {
+		if(!user_access('create chado_analysis_interpro content', $account)){
+			return FALSE;
       }
-   }
-   if ($op == 'view') {
-      if (user_access('access chado_analysis_interpro content', $account) && tripal_check_permission_by_node_id($node->nid)) {
-         return TRUE;
+	}
+
+	if ($op == 'update') {
+		if (!user_access('edit chado_analysis_interpro content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'delete') {
+		if (!user_access('delete chado_analysis_interpro content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'view') {
+		if(!user_access('access chado_analysis_interpro content', $account)){
+         return FALSE;
       }
-   }
-   return FALSE;
+	}
+   return NULL;
 }
 
 /**

+ 24 - 36
tripal_analysis_kegg/tripal_analysis_kegg.module

@@ -54,13 +54,6 @@ function tripal_analysis_kegg_menu() {
       'access arguments' => array('access chado_analysis_kegg content'),
       'type' => MENU_CALLBACK
    );
-   $items['node/%/kegg'] = array(
-     'title' => t('KEGG'),
-     'page callback' => 'tripal_analysis_kegg_organism_results',
-     'page arguments' => array(1,3),
-     'access arguments' => array('access chado_analysis_kegg content'),
-     'type' => MENU_CALLBACK
-   );
    return $items;
 }
 /*******************************************************************************
@@ -82,26 +75,28 @@ function tripal_analysis_kegg_perm(){
  *  perform actions on data managed by this module
  */
 function chado_analysis_kegg_access($op, $node, $account){
-   if ($op == 'create') {
-      return user_access('create chado_analysis_kegg content', $account);
-   }
-
-   if ($op == 'update') {
-      if (user_access('edit chado_analysis_kegg content', $account)) {
-         return TRUE;
-      }
-   }
-   if ($op == 'delete') {
-      if (user_access('delete chado_analysis_kegg content', $account)) {
-         return TRUE;
+	if ($op == 'create') {
+		if(!user_access('create chado_analysis_kegg content', $account)){
+			return FALSE;
       }
-   }
-   if ($op == 'view') {
-      if (user_access('access chado_analysis_kegg content', $account) && tripal_check_permission_by_node_id($node->nid)) {
-         return TRUE;
+	}
+
+	if ($op == 'update') {
+		if (!user_access('edit chado_analysis_kegg content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'delete') {
+		if (!user_access('delete chado_analysis_kegg content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'view') {
+		if(!user_access('access chado_analysis_kegg content', $account)){
+         return FALSE;
       }
-   }
-   return FALSE;
+	}
+   return NULL;
 }
 
 /*******************************************************************************
@@ -249,12 +244,12 @@ function chado_analysis_kegg_form ($node){
                           'results that cannot be linked to a feature will be '.
                           'discarded.'),
    );
-   $form['kegg']['keggkeywordjob'] = array(
+/*   $form['kegg']['keggkeywordjob'] = array(
       '#type' => 'checkbox',
       '#title' => t('Submit a job to extract keywords from the KEGG html output'),
       '#description' => t('Note: KEGG results are only searchable after keywords are extracted.'),
 	);
-
+*/
    return $form;
 }
 /**
@@ -1108,14 +1103,9 @@ function tripal_analysis_kegg_get_settings() {
 }
 /************************************************************************
 */
-function tripal_analysis_kegg_organism_results($node, $ana_id = NULL) {
-	$content = "";
-	if ($ana_id) {
-		$content .= "<input type=\"hidden\" id=\"analysis_id_for_kegg_report\" value=\"$ana_id\">";
-	}
+function tripal_analysis_kegg_organism_results($node) {
    $node = node_load($node);
-   $content .= theme('tripal_organism_kegg_summary', $node);
-   return $content;
+   return tripal_analysis_kegg_organism_add($node);
 }
 /************************************************************************
 */
@@ -1198,9 +1188,7 @@ function tripal_analysis_kegg_select_form(&$form_state = NULL,$node){
    $analyses = array();
    $analyses[''] = '';
    while($analysis = db_fetch_object($results)){
-   	if (tripal_analysis_check_permission($analysis->analysis_id)) {
    		$analyses[$analysis->analysis_id] = "$analysis->analysis_name";
-   	}
    }
   
    global $base_url;

+ 21 - 23
tripal_analysis_unigene/tripal_analysis_unigene.module

@@ -40,26 +40,28 @@ function tripal_analysis_unigene_perm(){
  *  perform actions on data managed by this module
  */
 function chado_analysis_unigene_access($op, $node, $account){
-   if ($op == 'create') {
-      return user_access('create chado_analysis_unigene content', $account);
-   }
-
-   if ($op == 'update') {
-      if (user_access('edit chado_analysis_unigene content', $account)) {
-         return TRUE;
-      }
-   }
-   if ($op == 'delete') {
-      if (user_access('delete chado_analysis_unigene content', $account)) {
-         return TRUE;
+	if ($op == 'create') {
+		if(!user_access('create chado_analysis_unigene content', $account)){
+			return FALSE;
       }
-   }
-   if ($op == 'view') {
-      if (user_access('access chado_analysis_unigene content', $account) && tripal_check_permission_by_node_id($node->nid)) {
-         return TRUE;
+	}
+
+	if ($op == 'update') {
+		if (!user_access('edit chado_analysis_unigene content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'delete') {
+		if (!user_access('delete chado_analysis_unigene content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'view') {
+		if(!user_access('access chado_analysis_unigene content', $account)){
+         return FALSE;
       }
-   }
-   return FALSE;
+	}
+   return NULL;
 }
 /**
 *
@@ -827,11 +829,7 @@ function tripal_analysis_unigene_load_organism_unigenes($organism){
       $unigene->num_clusters = $num_clusters->value;
       $unigene->num_contigs = $num_contigs->value;     
       $unigene->num_singlets = $num_singlets->value;
-      
-		// add in unigene number using the materialized view
-		$sql_u = "SELECT unigene_no FROM {unigene_basic_stats} WHERE analysis_id = %d";
-		$unigene->num_unigenes = db_result(chado_query($sql_u, $analysis_id));
-		
+
       $unigenes[$i++] = $unigene;
    }
    return $unigenes;

+ 0 - 28
tripal_core/privacy.php

@@ -1,28 +0,0 @@
-<?php
-/*
- *  Perform permission check by node_id only if 'node_privacy_byrole' module is enabled
- */
-function tripal_check_permission_by_node_id ($nid) {
-	if (module_exists('node_privacy_byrole')) {
-		global $user;
-		$roles = $user->roles;
-		$node_access = 0;
-		foreach ($roles AS $rid => $role) {
-			$p_sql = "SELECT grant_view FROM {node_access} WHERE nid=%d AND gid = %d";
-			$access = db_result(db_query($p_sql,$nid, $rid));
-			if ($access == 1) {
-				$node_access = 1;
-				break;
-			}
-		}
-		if ($node_access == 1 || $user->uid == 1) {
-			return TRUE;
-		} else {
-			return FALSE;
-		}
-	
-	// If 'node_privacy_byrole' module is not enabled, return TRUE;
-	} else {
-		return TRUE;
-	}
-}

+ 0 - 1
tripal_core/tripal_core.module

@@ -4,7 +4,6 @@ require_once "jobs.php";
 require_once "mviews.php";
 require_once "cvterms.php";
 require_once "chado_install.php";
-require_once "privacy.php";
 
 require_once "tripal_core.api.inc";
 

+ 20 - 18
tripal_feature/tripal_feature.module

@@ -120,26 +120,28 @@ function tripal_feature_perm(){
  * @ingroup tripal_feature
  */
 function chado_feature_access($op, $node, $account) {
-   if ($op == 'create') {
-      return user_access('create chado_feature content', $account);
-   }
-
-   if ($op == 'update') {
-      if (user_access('edit chado_feature content', $account)) {
-         return TRUE;
-      }
-   }
-   if ($op == 'delete') {
-      if (user_access('delete chado_feature content', $account)) {
-         return TRUE;
+	if ($op == 'create') {
+		if(!user_access('create chado_feature content', $account)){
+			return FALSE;
       }
-   }
-   if ($op == 'view') {
-      if (user_access('access chado_feature content', $account) && tripal_check_permission_by_node_id($node->nid)) {
-         return TRUE;
+	}
+
+	if ($op == 'update') {
+		if (!user_access('edit chado_feature content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'delete') {
+		if (!user_access('delete chado_feature content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'view') {
+		if(!user_access('access chado_feature content', $account)){
+         return FALSE;
       }
-   }
-   return FALSE;
+	}
+   return NULL;
 }
 /**
  *  Menu items are automatically added for the new node types created

+ 22 - 10
tripal_organism/tripal_organism.module

@@ -130,16 +130,28 @@ function tripal_organism_menu() {
  * @ingroup tripal_organism
  */
 function chado_organism_access($op, $node, $account){
-   switch ($op){
-      case 'create': 
-        return user_access('create chado_organism content', $account);
-      case 'update':
-        return user_access('edit chado_organism content', $account);
-      case 'delete':
-        return user_access('delete chado_organism content', $account);
-      case 'view' :
-        return (user_access('access chado_organism content', $account) && tripal_check_permission_by_node_id($node->nid));
-   }
+	if ($op == 'create') {
+		if(!user_access('create chado_organism content', $account)){
+			return FALSE;
+      }
+	}
+
+	if ($op == 'update') {
+		if (!user_access('edit chado_organism content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'delete') {
+		if (!user_access('delete chado_organism content', $account)) {
+			return FALSE;
+		}
+	}
+	if ($op == 'view') {
+		if(!user_access('access chado_organism content', $account)){
+         return FALSE;
+      }
+	}
+   return NULL;
 }
 /**
 *  Set the permission types that the chado module uses.  Essentially we