SessionAttendanceSheets.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import { Model, Collection } from 'js-abstract-model'
  2. class SessionAttendanceSheets extends Model {
  3. constructor (data) {
  4. super(data, [
  5. { key: 'id' },
  6. { key: 'is_answer_verified' },
  7. { key: 'answer_status' },
  8. { key: 'answer_text' },
  9. { key: 'answer_attachment' },
  10. { key: 'answer_info' },
  11. { key: 'session' },
  12. {
  13. key: 'session_attendance_sheets',
  14. default: []
  15. },
  16. { key: 'assignment_status' },
  17. {
  18. key: 'attendance_status',
  19. default: 'NOT_SENT'
  20. },
  21. { key: 'is_listen_part1' },
  22. { key: 'is_listen_part2' },
  23. { key: 'is_present_read_part1' },
  24. { key: 'is_present_read_part2' },
  25. { key: 'is_read_part1' },
  26. { key: 'is_read_part2' },
  27. { key: 'is_present_listen_part1' },
  28. { key: 'is_present_listen_part2' },
  29. { key: 'is_enabled_answering' },
  30. { key: 'is_enabled_changing_attendance_status' },
  31. { key: 'owner' },
  32. { key: 'owner_info' },
  33. { key: 'creator' },
  34. { key: 'creator_info' },
  35. { key: 'session' },
  36. { key: 'session_info' },
  37. { key: 'assignment_status' },
  38. { key: 'creation_time' }
  39. ], {
  40. status: {
  41. infoKey: 'is_answer_verified_info',
  42. enumListKey: 'is_answer_verifiedEnums',
  43. enums: [
  44. {
  45. label: 'تایید شده',
  46. value: true
  47. },
  48. {
  49. label: 'تایید نشده',
  50. value: false
  51. },
  52. {
  53. label: '-',
  54. value: null
  55. }
  56. ]
  57. },
  58. type: {
  59. infoKey: 'answer_status_info',
  60. enumListKey: 'answer_statusEnums',
  61. enums: [
  62. {
  63. label: 'ارسال نشده',
  64. value: 'NOT_SENT'
  65. },
  66. {
  67. label: 'ارسال شده',
  68. value: 'SENT'
  69. },
  70. {
  71. label: 'بررسی شده',
  72. value: 'REVIEWED'
  73. }
  74. ]
  75. },
  76. assignment_status: {
  77. infoKey: 'assignment_status_info',
  78. enumListKey: 'assignment_statusEnums',
  79. enums: [
  80. {
  81. label: 'ارسال نشده',
  82. value: 'NOT_SENT'
  83. },
  84. {
  85. label: 'ارسال شده',
  86. value: 'SENT'
  87. },
  88. {
  89. label: 'انجام شده',
  90. value: 'VERIFIED'
  91. },
  92. {
  93. label: 'انجام نشده',
  94. value: 'NOT_VERIFIED'
  95. }
  96. ]
  97. },
  98. attendance_status: {
  99. infoKey: 'attendance_status_info',
  100. enumListKey: 'attendance_statusEnums',
  101. enums: [
  102. {
  103. label: 'ارسال نشده',
  104. value: 'NOT_SENT'
  105. },
  106. {
  107. label: 'ارسال شده',
  108. value: 'SENT'
  109. },
  110. {
  111. label: 'غایب',
  112. value: 'ABSENT'
  113. },
  114. {
  115. label: 'قسمت اول',
  116. value: 'PART1'
  117. },
  118. {
  119. label: 'قسمت دوم',
  120. value: 'PART2'
  121. },
  122. {
  123. label: 'حاضر',
  124. value: 'PRESENT'
  125. }
  126. ]
  127. }
  128. })
  129. }
  130. getLabel () {
  131. if (this.is_listen_part1 && this.is_listen_part2 && this.is_present_read_part1 && this.is_present_read_part2) {
  132. return 'حاضر'
  133. } else if (this.is_listen_part1 && this.is_listen_part2 && this.is_present_read_part1 && !this.is_present_read_part2) {
  134. return 'حاضر'
  135. } else if (this.is_listen_part1 && this.is_listen_part2 && !this.is_present_read_part1 && !this.is_present_read_part2) {
  136. return 'حاضر'
  137. } else if (this.is_listen_part1 && !this.is_listen_part2 && !this.is_present_read_part1 && !this.is_present_read_part2) {
  138. return 'حاضر'
  139. } else if (this.is_listen_part1) {
  140. return 'قسمت اول'
  141. } else if (this.is_listen_part2) {
  142. return 'قسمت دوم'
  143. } else if (this.is_present_read_part1) {
  144. return 'قسمت اول'
  145. } else if (this.is_present_read_part2) {
  146. return 'قسمت اول'
  147. } else {
  148. return 'غایب'
  149. }
  150. }
  151. }
  152. class SessionAttendanceSheetsList extends Collection {
  153. model () {
  154. return SessionAttendanceSheets
  155. }
  156. }
  157. export { SessionAttendanceSheets, SessionAttendanceSheetsList }