Hide field in table for the logged in user

does anyone have an app example which could help me achieve the following:

Object : courses

Object: student

Each course has a link to a form to register

Students should only be able to register only once for each course, how could I disable /hide to registration form to avoid multiple registration by the same student?

Indeed, way above my abilities , thanks anyway

I'm pretty sure you can't do this without Javascript - this code did something similar - for a booking onto an event it would warn the user if they had already booked onto it:

// add booking view 132
// account field 149
// event field 151
$(document).on('knack-view-render.view_132', function (event, view, data) {
$('#' + view.key + '-field_151').chosen().change(function() {
console.log('triggered');
check_duplicate();
});
$('<div class="kn-message error" id="duplicate_alert"></div>')
.insertAfter($('#kn-input-field_151'))
.hide();
function check_duplicate () {
var bookingFilters = [
{
'field':'field_149',
'operator':'is',
'value':$('#'+ view.key + '-field_149').val()
},
{
'field':'field_151',
'operator':'is',
'value':$('#'+ view.key + '-field_151').val()
}
];
var fullUrl = 'https://api.knack.com/v1/objects/object_30/records?filters=' + encodeURIComponent(JSON.stringify(bookingFilters));
Knack.showSpinner();
$.ajax({
url: fullUrl,
async: false,
type: 'GET',
headers: {'X-Knack-Application-Id': '5ac608865b4eec1f69cacbdb', 'X-Knack-REST-API-Key': '16e94820-38c5-11e8-a291-33529755c0c2'}
}).done(function(data) {
// Make sure we have no duplicate records
if (data.records.length !== 0) {
Knack.hideSpinner();
$('#duplicate_alert').html($('<p><strong>You had already booked onto that event - please select another! </p></strong>')).show();
$('#view_132-field_151').val([]).trigger('liszt:updated');
}
else
{
$('#duplicate_alert').hide();
Knack.hideSpinner();
}
}
)}
});
Horrendously complicated for something so simple but I hope it helps nonetheless!