spec/mod/abstract_service_provider.cfm
2025-06-02 16:16:51 +03:00

106 lines
3.5 KiB
Plaintext

<cfimport prefix="c" taglib="../lib/controls"/>
<cfimport prefix="d" taglib="../lib/data"/>
<!---<cfif StructKeyExists(form, "add_provider")>
<cfdump var=#form#/>
</cfif>--->
<cfparam name="ATTRIBUTES.abstract_service_id"/>
<cfparam name="ATTRIBUTES.fwx"/>
<cfparam name="ATTRIBUTES.self"/>
<cfparam name="ATTRIBUTES.editable" type="boolean" default="No"/>
<d:bean readonly=#!ATTRIBUTES.editable# savemarker="add_provider" table="abstract_service_provider" datasource="#request.DS#" output="de" status="estatus" info="einfo" meta="emeta">
<d:param field="abstract_service_id" type="integer" key/>
<d:param field="provider_id" type="integer" key/>
<d:param field="creator_id" type="integer" value="#request.usr_id#" skipUpdate/>
<d:param field="updater_id" type="integer" value="#request.usr_id#" />
<d:param field="dt_created" type="timestamp" value="#Now()#" skipUpdate/>
<d:param field="dt_updated" type="timestamp" value="#Now()#"/>
</d:bean>
<cfif structKeyExists(FORM, "detach_provider") AND #ATTRIBUTES.editable#>
<cfparam name="FORM.provider_id" type="integer"/>
<cfquery name="qDetachprovider" datasource="#request.DS#">
delete from abstract_service_provider
where abstract_service_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#ATTRIBUTES.abstract_service_id#/>
AND provider_id=<cfqueryparam cfsqltype="cf_sql_integer" value=#FORM.provider_id#/>
</cfquery>
</cfif>
<cfquery name="qRead" datasource="#request.DS#">
select
x.abstract_service_id
,x.provider_id
,p.provider
from abstract_service_provider x
join provider p on (x.provider_id=p.provider_id)
where x.abstract_service_id=<cfqueryparam cfsqltype="cf_sql_integer" value="#ATTRIBUTES.abstract_service_id#"/>
order by 2
</cfquery>
<cfoutput>
<b>Провайдеры услуги (#qRead.recordCount#):</b>
</cfoutput>
<table class="worktable">
<cfoutput>
<thead>
<tr class="worktable_head">
<th>Провайдер</th>
<th></th>
</tr>
</thead>
</cfoutput>
<cfoutput query="qRead">
<tr>
<td>#provider#</td>
<td class="c">
<cfif #ATTRIBUTES.editable#>
<form action="#request.thisPage#" method="post">
<input type="hidden" name="abstract_service_id" value="#ATTRIBUTES.abstract_service_id#"/>
<input type="hidden" name="provider_id" value="#provider_id#"/>
<input type="hidden" name="track" value="#ATTRIBUTES.self#"/>
<button type="submit" name="detach_provider" class="submitminus" title="убрать провайдера услуги"></button>
</form>
</cfif>
</td>
</tr>
</cfoutput>
<cfif ATTRIBUTES.editable>
<cfoutput>
<tr>
<td colspan="3" style="vertical-align:middle;">
<form action="#request.thisPage#" method="post">
<input type="hidden" name="track" value="#ATTRIBUTES.self#"/>
<input type="hidden" name="abstract_service_id" value="#ATTRIBUTES.abstract_service_id#"/>
<button type="submit" name="add_provider" class="submitnew" value="" title="добавить прямо тут" style="vertical-align:middle"></button>
<cfquery name="qProvider" datasource="#request.DS#">
select c.provider_id, c.provider
from provider c
order by c.provider
</cfquery>
<c:combo
query=#qProvider#
combo="provider_id"
key="provider_id"
id="provider_id"
displayf="##provider##"
empty=""
style="vertical-align:middle"
<!--- flag_disabled="cnt"--->
/>
</form>
<i></i>
</td>
</tr>
</cfoutput>
</cfif>
</table>
<cfexit method="exittag"/>