'Edit library_dataset_dataset_association information, optionally template element information'

def ldda_edit_info(self, cntrller, library_id, folder_id, ldda_id, ldda_name, new_ldda_name='', template_refresh_field_name='1_field_name', template_refresh_field_contents='', template_fields=[], strings_displayed=[], strings_not_displayed=[]):

    self.visit_url(('%s/library_common/ldda_edit_info?cntrller=%s&library_id=%s&folder_id=%s&id=%s' % (self.url, cntrller, library_id, folder_id, ldda_id)))
    check_str = ('Edit    attributes    of    %s' % ldda_name)
    self.check_page_for_string(check_str)
    if new_ldda_name:
        tc.fv('1', 'name', new_ldda_name)
        tc.submit('save')
        check_str = escape(("Attributes    updated    for    library    dataset    '%s'." % new_ldda_name))
        self.check_page_for_string(check_str)
    if template_refresh_field_contents:
        self.refresh_form(template_refresh_field_name, template_refresh_field_contents, form_no=4)
    if template_fields:
        for (field_name, field_value) in template_fields:
            tc.fv('edit_info', field_name, field_value)
        tc.submit('edit_info_button')
    for check_str in strings_displayed:
        self.check_page_for_string(check_str)
    for check_str in strings_not_displayed:
        try:
            self.check_page_for_string(check_str)
            raise AssertionError(('String    (%s)    should    not    have    been    displayed    on    ldda    Edit    Attributes    page.' % check_str))
        except:
            pass
