Jump to content
Toggle menu
  • 915 articles
  • 3.8K files
  • 30.2K users
  • 279.2K edits
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

QuestionnaireTemplate class: Difference between revisions

From Catglobe Wiki
No edit summary
No edit summary
Line 1: Line 1:
{{CGscriptClass_Template
{{CGscriptClass_Template
|Name=<nowiki>QuestionnaireTemplate</nowiki>
|Name=<nowiki>QuestionnaireTemplate</nowiki>
|Description=<nowiki>The questionnaire template.</nowiki>
|Description=<nowiki>Template for a questionnaire.</nowiki>
|InheritsFrom=object|Constructors=
|InheritsFrom=object|Constructors=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>id</nowiki>|Description=<nowiki>Id of questionnaire template</nowiki>}}
{{CGscriptParameters_Template|Type=int|Name=<nowiki>id</nowiki>|Description=<nowiki>Id of questionnaire template</nowiki>}}
|Description=<nowiki>Fetch exists questionnaire template</nowiki>}}
|Description=<nowiki>Fetch exists questionnaire template - it is highly recommended to use QuestionnaireTemplate_getCached if just reading</nowiki>}}
{{CGscriptConstructors_Template|Parameters=
{{CGscriptConstructors_Template|Parameters=
{{CGscriptParameters_Template|Type=string|Name=<nowiki>qualifiedName</nowiki>|Description=<nowiki>Qualified name of questionnaire</nowiki>}}
{{CGscriptParameters_Template|Type=string|Name=<nowiki>qualifiedName</nowiki>|Description=<nowiki>Qualified name of questionnaire</nowiki>}}
Line 20: Line 20:
|Description=<nowiki>Return a question by label or empty if not found</nowiki>}}
|Description=<nowiki>Return a question by label or empty if not found</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=bool|Name=<nowiki>increaseStructureVersion</nowiki>|Description=<nowiki>Increase structure version will force reset all QAS sequence</nowiki>}}
{{CGscriptParameters_Template|Type=bool|Name=<nowiki>increaseStructureVersion</nowiki>|Description=<nowiki>Increase structure version will force reset all QAS sequence. Be careful when setting this to false.</nowiki>}}
|Description=<nowiki>Save questionnaire template</nowiki>}}
|Description=<nowiki>Save questionnaire template</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>SetProperty</nowiki>|Parameters=
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>SetProperty</nowiki>|Parameters=
Line 29: Line 29:
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>DefaultLanguage</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Gets and sets the default language of this questionnaire. Its value is language iso code</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>DefaultLanguage</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Gets and sets the default language of this questionnaire. Its value is language iso code</nowiki>}}
{{CGscriptProperties_Template|ReturnType=QuestionGroupRoot|Name=<nowiki>Groups</nowiki>|HasGetter=1|Description=<nowiki>Information about question groups in questionnaire</nowiki>}}
{{CGscriptProperties_Template|ReturnType=QuestionGroupRoot|Name=<nowiki>Groups</nowiki>|HasGetter=1|Description=<nowiki>Information about question groups in questionnaire</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>HasData</nowiki>|HasGetter=1|Description=<nowiki>check if this questionnaire temaplte contains data or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>HasData</nowiki>|HasGetter=1|Description=<nowiki>check if this questionnaire template contains data or not</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Id</nowiki>|HasGetter=1|Description=<nowiki>Reosurce id of questionnaire template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>Id</nowiki>|HasGetter=1|Description=<nowiki>Resource id of questionnaire template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=array|Name=<nowiki>Languages</nowiki>|HasGetter=1|Description=<nowiki>Active languages associated with this questionnaire. Its value is language iso code</nowiki>}}
{{CGscriptProperties_Template|ReturnType=array|Name=<nowiki>Languages</nowiki>|HasGetter=1|Description=<nowiki>Active languages associated with this questionnaire. Its value is language iso code</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>Name</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Questionnaire template name</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>Name</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Questionnaire template name</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>ParentId</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Parent resource's id</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>ParentId</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Parent resource's id</nowiki>}}
{{CGscriptProperties_Template|ReturnType=array|Name=<nowiki>Properties</nowiki>|HasGetter=1|Description=<nowiki>Get configuration properties of this questionnaire template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=Array of QuestionnaireProperty|Name=<nowiki>Properties</nowiki>|HasGetter=1|Description=<nowiki>Get configuration properties of this questionnaire template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>QualifiedName</nowiki>|HasGetter=1|Description=<nowiki>Get qualified name of questionnaire name</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>QualifiedName</nowiki>|HasGetter=1|Description=<nowiki>Get qualified name of questionnaire name</nowiki>}}
{{CGscriptProperties_Template|ReturnType=array|Name=<nowiki>Questions</nowiki>|HasGetter=1|Description=<nowiki>Get configuration questions of this questionnaire template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=Array of QuestionTemplate|Name=<nowiki>Questions</nowiki>|HasGetter=1|Description=<nowiki>Get configuration questions of this questionnaire template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>ResourceTemplateId</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Resource tempalte's id of questionnaire template. Set it's 0 to use default resource template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>ResourceTemplateId</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Resource tempalte's id of questionnaire template. Set it's 0 to use default resource template</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>StructureVersion</nowiki>|HasGetter=1|Description=<nowiki>Structure version of the questionnaire template. It is increased when updating</nowiki>}}
{{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>StructureVersion</nowiki>|HasGetter=1|Description=<nowiki>Structure version of the questionnaire template. It is increased when updating</nowiki>}}
Line 45: Line 45:
{{CGscriptMethods_Template|ReturnType=QuestionnaireTemplate|Name=<nowiki>QuestionnaireTemplate_current</nowiki>|Description=<nowiki>Get questionnaire template in current QAS or PQ context</nowiki>}}
{{CGscriptMethods_Template|ReturnType=QuestionnaireTemplate|Name=<nowiki>QuestionnaireTemplate_current</nowiki>|Description=<nowiki>Get questionnaire template in current QAS or PQ context</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Dictionary|Name=<nowiki>QuestionnaireTemplate_getActiveLanguages</nowiki>|Description=<nowiki>Return a Dictionary of all languages supported in system. The dictionary item has key is iso code and value is object {isocode: string, name: string, viewerSupported: bool}</nowiki>}}
{{CGscriptMethods_Template|ReturnType=Dictionary|Name=<nowiki>QuestionnaireTemplate_getActiveLanguages</nowiki>|Description=<nowiki>Return a Dictionary of all languages supported in system. The dictionary item has key is iso code and value is object {isocode: string, name: string, viewerSupported: bool}</nowiki>}}
{{CGscriptMethods_Template|ReturnType=QuestionnaireTemplate|Name=<nowiki>QuestionnaireTemplate_getCached</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>id</nowiki>|Description=<nowiki>Id of questionnaire template</nowiki>}}
|Description=<nowiki>Fetch exists questionnaire template using a cached version. Do not use when editing</nowiki>}}
{{CGscriptMethods_Template|ReturnType=QuestionnaireTemplate|Name=<nowiki>QuestionnaireTemplate_getCachedFromQuestionnaireId</nowiki>|Parameters=
{{CGscriptParameters_Template|Type=int|Name=<nowiki>id</nowiki>|Description=<nowiki>Id of questionnaire template</nowiki>}}
|Description=<nowiki>Fetch exists questionnaire template using a cached version using the questionnaire id. Do not use when editing</nowiki>}}
}}
}}
=== <span style="color:#DF8621">'''Examples'''</span> ===
=== <span style="color:#DF8621">'''Examples'''</span> ===

Revision as of 04:58, 31 March 2026

QuestionnaireTemplate



Template for a questionnaire.

Parent class

Inherits from object

Constructors

  • (int id "Id of questionnaire template") - Fetch exists questionnaire template - it is highly recommended to use QuestionnaireTemplate_getCached if just reading
  • (string qualifiedName "Qualified name of questionnaire") - Fetch exists questionnaire template by name
  • (string name "Questionnaire's name", int parentId "Resource parent's id", int resourceTemplateId "Resource tempalte's id of questionnaire template. Set it's 0 to use default resource template") - Create new questionnaire template

Methods

  • object GetProperty(PropertyType constant type "Use constant Question_Property_xxxx") - Get value of property type, return empty if not found
  • QuestionTemplate GetQuestion(string label "Question label") - Return a question by label or empty if not found
  • Empty Save(bool increaseStructureVersion "Increase structure version will force reset all QAS sequence. Be careful when setting this to false.") - Save questionnaire template
  • Empty SetProperty(PropertyType constant type "Use constant Question_Property_xxxx", object value "String or LocalizedString depend on property type. If value is empty then the property will be removed") - Set value for property type
  • (From object) string ToString() - The string representation of the object.

Properties

  • string DefaultLanguage { get; set; } - Gets and sets the default language of this questionnaire. Its value is language iso code
  • QuestionGroupRoot Groups { get; } - Information about question groups in questionnaire
  • bool HasData { get; } - check if this questionnaire template contains data or not
  • int Id { get; } - Resource id of questionnaire template
  • array Languages { get; } - Active languages associated with this questionnaire. Its value is language iso code
  • string Name { get; set; } - Questionnaire template name
  • string ObjectTypeName { get; } - The name of the type of object.
  • int ParentId { get; set; } - Parent resource's id
  • Array of QuestionnaireProperty Properties { get; } - Get configuration properties of this questionnaire template
  • string QualifiedName { get; } - Get qualified name of questionnaire name
  • Array of QuestionTemplate Questions { get; } - Get configuration questions of this questionnaire template
  • int ResourceTemplateId { get; set; } - Resource tempalte's id of questionnaire template. Set it's 0 to use default resource template
  • int StructureVersion { get; } - Structure version of the questionnaire template. It is increased when updating
  • (From object) TypeInformation TypeInformation { get; } - Get information about this class.
  • int Version { get; } - Version of the questionnaire template. It is increased when updating

Static Methods

  • QuestionnaireTemplate QuestionnaireTemplate_current() - Get questionnaire template in current QAS or PQ context
  • Dictionary QuestionnaireTemplate_getActiveLanguages() - Return a Dictionary of all languages supported in system. The dictionary item has key is iso code and value is object {isocode: string, name: string, viewerSupported: bool}
  • QuestionnaireTemplate QuestionnaireTemplate_getCached(int id "Id of questionnaire template") - Fetch exists questionnaire template using a cached version. Do not use when editing
  • QuestionnaireTemplate QuestionnaireTemplate_getCachedFromQuestionnaireId(int id "Id of questionnaire template") - Fetch exists questionnaire template using a cached version using the questionnaire id. Do not use when editing

Examples

// new QuestionnaireTemplate
string qnaireTemplateName = "test";
number parentId = 17148135;
number resourceTemplateId = 17148218;// 0 to use the default 
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaireTemplateName, parentId, resourceTemplateId);
bool increaseStructureVersion = false;//Increase structure version will force reset all QAS sequence
qt.Save(increaseStructureVersion);
//Catglobe.Json.Encode(qt);
//set, get a qnaire property
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
print(qt.Languages);//{en-GB,da-DK}
LocalizedString a = new LocalizedString ({"": "Completed", "da-DK": "Komplet"}, "en-GB");
qt.SetProperty(Question_Property_QuestionnaireCompletedText, a);
qt.Save(false);
print(qt.GetProperty(Question_Property_QuestionnaireCompletedText).ToDictionary());//{"": Completed, "da-DK": Komplet}
//Remore an existing qnaire property 
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
qt.SetProperty(Question_Property_QuestionnaireCompletedText, empty);
qt.Save(false);
print(qt.GetProperty(Question_Property_QuestionnaireCompletedText));//empty
//get all existing qnaire properties
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
print(qt.Properties);//{QuestionnaireProperty,...}
for(i for 0; qt.Properties.Count){
	QuestionnaireProperty p = qt.Properties[i];
	if(p.IsLocalize)
		print(p.PropertyTypeAsString +": "+ convertToString(p.Value.ToDictionary()));
	else print (p.PropertyTypeAsString +": "+ p.Value);
}
//get an existing question 
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
QuestionTemplate q = qt.GetQuestion("Q1");//return QuestionTemplate or empty if not found
//get all existing questions
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
print(qt.Questions);//{QuestionTemplate,...}
for(i for 0; qt.Questions.Count){
	QuestionTemplate q = qt.Questions[i];
	print(q.Label);
}
//Delete a question
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
number index;
for(i for 0; qt.Questions.Count){
	if(qt.Questions[i].Label == "Q1" && !qt.Questions[i].HasData)
		index = i;	
}
if(index!=empty)
	qt.Questions.Remove(qt.Questions[index]);
qt.Save(true);
//get question group 
Questionnaire qnaire = new Questionnaire (17148177);
QuestionnaireTemplate qt = new QuestionnaireTemplate (qnaire.TemplateId);
qt.Groups;//QuestionGroupRoot