Welcome, Guest
Username: Password: Remember me

TOPIC: Filter FK by created_by

Filter FK by created_by 01 Dec 2017 10:30 #15465

  • MorganL
  • MorganL's Avatar
  • Offline
  • Platinum Member
  • Posts: 435
  • Thank you received: 53
  • Karma: 20
I want an FK field on a form to only list records created by the logged in user. This is working fine for filters, but seems to be missing from FK fields.

It is worth noting that this is one of my two remaining legacy projects (not ORM)

Here is what I have
	<?php
	// Associated Title
	$field = $fieldSet['jform_associated_title'];
	$field->jdomOptions = array(
		'groupBy' => array(
			'type' => 'type'
		),

		'created_by' => $this->item->created_by, /// THIS WAS ADDED BY ME
		'list' => $this->lists['fk']['associated_title']
	);
	?>
	<div class="control-group <?php echo 'field-' . $field->id . $field->responsive; ?>">
		<div class="control-label">
			<?php echo $field->label; ?>
		</div>

		<div class="controls">
			<?php echo $field->input; ?>
		</div>
	</div>
	<?php echo(MyComponentHelperHtmlValidator::loadValidator($field)); ?>

The cretaed by filter was added by me thinking it would work. but it doesnt. Is there an option I can use in the JDom options to filter the FK Select field (single choice) by the logged in users records like the filter dropdown does
Morgan Leecy MCSE

Novell / Linux
PHP. MYSQL, Apache, node.js
Coldfusion, JQuery, HTML5
Joomla
The administrator has disabled public write access.

Filter FK by created_by 01 Dec 2017 19:08 #15468

  • Romkabouter
  • Romkabouter's Avatar
  • Offline
  • Elite Member
  • Posts: 281
  • Thank you received: 118
  • Karma: 46
When I encountered this, I solved it by overriding the $this->lists or use 'list' => $associated_title_model->getItems();
$associated_title_model would be a model from what you need and then adding wheres and such: $model->addWhere('a.created_by='.(int)$user->id)
The administrator has disabled public write access.
Time to create page: 0.056 seconds

Get Started