You've already forked oncall
mirror of
https://github.com/linkedin/oncall.git
synced 2025-11-30 23:44:59 +02:00
Make typeahead more specific in calendar page
This commit is contained in:
committed by
Qingping Hou
parent
4ed569b8d6
commit
ea4bf3026e
@@ -39,6 +39,16 @@ def on_get(req, resp):
|
||||
cursor.execute(query, (keyword, keyword))
|
||||
data['users'] = [{'full_name': r[0], 'name': r[1]} for r in cursor]
|
||||
|
||||
if 'team_users' in fields:
|
||||
filter = '%s%%' % keyword
|
||||
team = req.get_param('team', required=True)
|
||||
query = '''SELECT `user`.`full_name`, `user`.`name`
|
||||
FROM `team_user` JOIN `user` ON `team_user`.`user_id` = `user`.`id`
|
||||
WHERE `team_user`.`team_id` = (SELECT `id` FROM `team` WHERE `name` = %s)
|
||||
AND (`name` LIKE %s OR `full_name` LIKE %s)'''
|
||||
cursor.execute(query, (team, filter, filter))
|
||||
data['users'] = [{'full_name': r[0], 'name': r[1]} for r in cursor]
|
||||
|
||||
cursor.close()
|
||||
connection.close()
|
||||
resp.body = dumps(data)
|
||||
|
||||
@@ -1147,7 +1147,7 @@
|
||||
.append('<label class="label-col">User: </label>')
|
||||
.append(
|
||||
$('<div class="input-col" />')
|
||||
.append('<input type="text" class="typeahead" id="inc-event-user" name="inc-event-user" placeholder="username" value="' + self.options.user + '" style="width:100px" /> ')
|
||||
.append('<input type="text" class="typeahead" data-type="team_users" id="inc-event-user" name="inc-event-user" placeholder="username" value="' + self.options.user + '" style="width:100px" /> ')
|
||||
)
|
||||
)
|
||||
.append('<label class="label-col">Start: </label>')
|
||||
|
||||
@@ -820,9 +820,9 @@ var oncall = {
|
||||
},
|
||||
onModalOpen: function($modal){
|
||||
if ($modal.hasClass('inc-create-event-modal')) {
|
||||
oncall.typeahead.init(null, function(){$modal.find('#inc-role').trigger('change')});
|
||||
oncall.typeahead.init(null, function(){$modal.find('#inc-role').trigger('change')}, self.data.teamName);
|
||||
} else {
|
||||
oncall.typeahead.init();
|
||||
oncall.typeahead.init(null, null, self.data.teamName);
|
||||
}
|
||||
},
|
||||
onEventDetailsModalOpen: function($modal, $calendar, $eventItem, evt){
|
||||
@@ -2326,7 +2326,7 @@ var oncall = {
|
||||
url: '/api/v0/',
|
||||
field: 'input.typeahead'
|
||||
},
|
||||
init: function(urlType, changeCallback){
|
||||
init: function(urlType, changeCallback, team){
|
||||
var $field = $(this.data.field),
|
||||
self = this;
|
||||
|
||||
@@ -2353,11 +2353,15 @@ var oncall = {
|
||||
$(this).attr('value', $(this).val());
|
||||
});
|
||||
} else {
|
||||
var url = self.data.url + 'search?fields=' + type + '&keyword=%QUERY';
|
||||
if (team) {
|
||||
url += '&team=' + team;
|
||||
}
|
||||
results = new Bloodhound({
|
||||
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
|
||||
queryTokenizer: Bloodhound.tokenizers.whitespace,
|
||||
remote: {
|
||||
url: self.data.url + 'search?fields=users&keyword=%QUERY',
|
||||
url: url,
|
||||
wildcard: '%QUERY',
|
||||
transform: function(response) {
|
||||
return response.users
|
||||
|
||||
Reference in New Issue
Block a user