def get_filter_wdg(self, search, search_type, search_id, div_id): ajax = AjaxLoader() ajax.set_option("search_type", search_type) ajax.set_option("search_id", search_id) bin_name = "bin_%s_%s" % (search_type, search_id) artist_name = "artist_%s_%s" % (search_type, search_id) status_name = "status_%s_%s" % (search_type, search_id) retired_name = "%s_%s_show_retired" % (search_type, search_id) ajax.add_element_name(bin_name ) ajax.add_element_name(artist_name ) ajax.add_element_name(status_name ) ajax.add_element_name(retired_name ) # add a shot id #ajax.add_element_name("shot_id") ajax.set_display_id(div_id) cls = self.__class__ class_path = '%s.%s' %(cls.__module__, cls.__name__) ajax.set_load_class( class_path ) refresh_script = ajax.get_refresh_script(show_progress=False) # select.set_persist_on_submit() filter_wdg = DivWdg() filter_wdg.add_style("margin-bottom: 5px") filter_wdg.add_style("text-align: right") from asset_filter_wdg import UserFilterWdg bin_filter = BinFilterSelectWdg(bin_name, label='Bin: ') bin_filter.add_empty_option('-- Any Bin --') #bin_filter.get_navigator().set_submit_onchange(False) bin_filter.set_event('onchange', refresh_script) bin_filter.set_persist_on_submit() bin_id = bin_filter.get_value() if not bin_id or bin_id == SelectWdg.NONE_MODE: #search.add_filter('id','-1') search.add_where("\"id\" in (select \"submission_id\" from "\ " submission_in_bin"\ " where \"bin_id\" in (select \"id\" from bin where \"type\" = 'dailies') )" ) elif bin_id: search.add_where("\"id\" in (select \"submission_id\" from "\ " submission_in_bin"\ " where \"bin_id\" = %s)" %bin_id) filter_wdg.add(bin_filter) hint = HintWdg("To see any bins, you need to create them (Type 'dailies') in the Bins tab.") filter_wdg.add(hint) user_filter = UserFilterWdg(artist_name, label='Artist: ') user_filter.get_navigator().set_submit_onchange(False) user_filter.get_navigator().set_persist_on_submit() user_filter.get_navigator().add_event('onchange', refresh_script) user_filter.set_search_column('artist') filter_wdg.add(user_filter) config_base = 'table' user_filter.alter_search(search) status_filter = SelectWdg(status_name, label='Status: ') status_filter.add_empty_option("-- Any Status--") status_filter.set_option('setting', 'dailies_submission_status') status_filter.add_event('onchange', refresh_script) status_filter.set_persist_on_submit() filter_wdg.add(status_filter) status_value = status_filter.get_value() if status_value: search.add_filter('status', status_value) prefix = "%s_%s" % (search_type, search_id) retired_filter = RetiredFilterWdg(prefix=prefix, refresh=False) retired_filter.add_event('onclick', refresh_script) filter_wdg.add(retired_filter) retired_value = WebContainer.get_web().get_form_value(retired_name) if retired_value == 'true': search.set_show_retired(True) button = IconButtonWdg("Refresh", IconWdg.REFRESH, long=False) button.add_event("onclick", refresh_script) filter_wdg.add(button) return filter_wdg
def get_filter_wdg(my, search, search_type, search_id, div_id): ajax = AjaxLoader() ajax.set_option("search_type", search_type) ajax.set_option("search_id", search_id) bin_name = "bin_%s_%s" % (search_type, search_id) artist_name = "artist_%s_%s" % (search_type, search_id) status_name = "status_%s_%s" % (search_type, search_id) retired_name = "%s_%s_show_retired" % (search_type, search_id) ajax.add_element_name(bin_name) ajax.add_element_name(artist_name) ajax.add_element_name(status_name) ajax.add_element_name(retired_name) # add a shot id #ajax.add_element_name("shot_id") ajax.set_display_id(div_id) cls = my.__class__ class_path = '%s.%s' % (cls.__module__, cls.__name__) ajax.set_load_class(class_path) refresh_script = ajax.get_refresh_script(show_progress=False) # select.set_persist_on_submit() filter_wdg = DivWdg() filter_wdg.add_style("margin-bottom: 5px") filter_wdg.add_style("text-align: right") from asset_filter_wdg import UserFilterWdg bin_filter = BinFilterSelectWdg(bin_name, label='Bin: ') bin_filter.add_empty_option('-- Any Bin --') #bin_filter.get_navigator().set_submit_onchange(False) bin_filter.set_event('onchange', refresh_script) bin_filter.set_persist_on_submit() bin_id = bin_filter.get_value() if not bin_id or bin_id == SelectWdg.NONE_MODE: #search.add_filter('id','-1') search.add_where("\"id\" in (select \"submission_id\" from "\ " submission_in_bin"\ " where \"bin_id\" in (select \"id\" from bin where \"type\" = 'dailies') )" ) elif bin_id: search.add_where("\"id\" in (select \"submission_id\" from "\ " submission_in_bin"\ " where \"bin_id\" = %s)" %bin_id) filter_wdg.add(bin_filter) hint = HintWdg( "To see any bins, you need to create them (Type 'dailies') in the Bins tab." ) filter_wdg.add(hint) user_filter = UserFilterWdg(artist_name, label='Artist: ') user_filter.get_navigator().set_submit_onchange(False) user_filter.get_navigator().set_persist_on_submit() user_filter.get_navigator().add_event('onchange', refresh_script) user_filter.set_search_column('artist') filter_wdg.add(user_filter) config_base = 'table' user_filter.alter_search(search) status_filter = SelectWdg(status_name, label='Status: ') status_filter.add_empty_option("-- Any Status--") status_filter.set_option('setting', 'dailies_submission_status') status_filter.add_event('onchange', refresh_script) status_filter.set_persist_on_submit() filter_wdg.add(status_filter) status_value = status_filter.get_value() if status_value: search.add_filter('status', status_value) prefix = "%s_%s" % (search_type, search_id) retired_filter = RetiredFilterWdg(prefix=prefix, refresh=False) retired_filter.add_event('onclick', refresh_script) filter_wdg.add(retired_filter) retired_value = WebContainer.get_web().get_form_value(retired_name) if retired_value == 'true': search.set_show_retired(True) button = IconButtonWdg("Refresh", IconWdg.REFRESH, long=False) button.add_event("onclick", refresh_script) filter_wdg.add(button) return filter_wdg