Added firstCreator to primary field list
Fixed object retrieval queries to use orderIndex is 0 rather than 1, since that's the default now Scholar_Objects.getAll() now uses loaded.push() rather than loaded[objectID], since _for (objectID in objects)_ isn't an option with treeview Scholar_Object.getField() now returns an empty string rather than false for empty values
This commit is contained in:
		
					parent
					
						
							
								4a493e5953
							
						
					
				
			
			
				commit
				
					
						3711023d9a
					
				
			
		
					 1 changed files with 8 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -29,12 +29,14 @@ Scholar_Object.prototype._init = function(){
 | 
			
		|||
	this._changedObjectData = new Scholar.Hash();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Check if the specified field is a primary field from the objects table
 | 
			
		||||
 */
 | 
			
		||||
Scholar_Object.prototype.isPrimaryField = function(field){
 | 
			
		||||
	if (!Scholar_Object.primaryFields){
 | 
			
		||||
		Scholar_Object.primaryFields = Scholar_DB.getColumnHash('objects');
 | 
			
		||||
		Scholar_Object.primaryFields['firstCreator'] = true;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	return !!Scholar_Object.primaryFields[field];
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +48,6 @@ Scholar_Object.editableFields = {
 | 
			
		|||
	rights: true
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Check if the specified primary field can be changed with setField()
 | 
			
		||||
 */
 | 
			
		||||
| 
						 | 
				
			
			@ -62,7 +63,7 @@ Scholar_Object.prototype.loadFromID = function(id){
 | 
			
		|||
	var sql = 'SELECT O.*, lastName AS firstCreator FROM objects O '
 | 
			
		||||
		+ 'LEFT JOIN objectCreators OC USING (objectID) '
 | 
			
		||||
		+ 'LEFT JOIN creators USING (creatorID) '
 | 
			
		||||
		+ 'WHERE objectID=' + id + ' AND OC.orderIndex=1';
 | 
			
		||||
		+ 'WHERE objectID=' + id + ' AND OC.orderIndex=0';
 | 
			
		||||
	var row = Scholar_DB.rowQuery(sql);
 | 
			
		||||
	this.loadFromRow(row);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -219,7 +220,7 @@ Scholar_Object.prototype.removeCreator = function(orderIndex){
 | 
			
		|||
 */
 | 
			
		||||
Scholar_Object.prototype.getField = function(field){
 | 
			
		||||
	if (this.isPrimaryField(field)){
 | 
			
		||||
		return this._data[field] ? this._data[field] : false;
 | 
			
		||||
		return this._data[field] ? this._data[field] : '';
 | 
			
		||||
	}
 | 
			
		||||
	else {
 | 
			
		||||
		if (this.getID() && !this._objectDataLoaded){
 | 
			
		||||
| 
						 | 
				
			
			@ -228,7 +229,7 @@ Scholar_Object.prototype.getField = function(field){
 | 
			
		|||
		
 | 
			
		||||
		var fieldID = Scholar_ObjectFields.getID(field);
 | 
			
		||||
		
 | 
			
		||||
		return this._objectData[fieldID] ? this._objectData[fieldID] : false;
 | 
			
		||||
		return this._objectData[fieldID] ? this._objectData[fieldID] : '';
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -733,7 +734,7 @@ var Scholar_Objects = new function(){
 | 
			
		|||
		
 | 
			
		||||
		// Build return array
 | 
			
		||||
		for (i=0; i<ids.length; i++){
 | 
			
		||||
			loaded[ids[i]] = _objects[ids[i]];
 | 
			
		||||
			loaded.push(_objects[ids[i]]);
 | 
			
		||||
		}
 | 
			
		||||
	
 | 
			
		||||
		return loaded;
 | 
			
		||||
| 
						 | 
				
			
			@ -750,7 +751,7 @@ var Scholar_Objects = new function(){
 | 
			
		|||
			+ 'LEFT JOIN folders F ON (O.folderID=F.folderID) '
 | 
			
		||||
			
 | 
			
		||||
			// Only get first creator
 | 
			
		||||
			+ 'WHERE OC.orderIndex=1 '
 | 
			
		||||
			+ 'WHERE OC.orderIndex=0 '
 | 
			
		||||
			
 | 
			
		||||
			// folderID=0 puts root folder items after folders
 | 
			
		||||
			// TODO: allow folders to intermingle with items, order-wise
 | 
			
		||||
| 
						 | 
				
			
			@ -815,7 +816,7 @@ var Scholar_Objects = new function(){
 | 
			
		|||
		var sql = 'SELECT O.*, lastName AS firstCreator FROM objects O '
 | 
			
		||||
			+ 'LEFT JOIN objectCreators OC USING (objectID) '
 | 
			
		||||
			+ 'LEFT JOIN creators USING (creatorID) '
 | 
			
		||||
			+ 'WHERE OC.orderIndex=1';
 | 
			
		||||
			+ 'WHERE OC.orderIndex=0';
 | 
			
		||||
		
 | 
			
		||||
		if (arguments[0]!='all'){
 | 
			
		||||
			sql += ' AND O.objectID IN (' + Scholar.join(arguments,',') + ')';
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue