{"version":3,"sources":["webpack:///./src/components/UsellPermissions.vue?7f25","webpack:///src/components/UsellPermissions.vue","webpack:///./src/components/UsellPermissions.vue?62c9","webpack:///./src/components/UsellPermissions.vue","webpack:///./node_modules/core-js/modules/es.object.entries.js","webpack:///./src/components/UsellPermissions.vue?007f","webpack:///./node_modules/core-js/internals/object-to-array.js","webpack:///./src/views/UsellPermissions/UserPermissions.vue?e88b","webpack:///src/views/UsellPermissions/UserPermissions.vue","webpack:///./src/views/UsellPermissions/UserPermissions.vue?d3df","webpack:///./src/views/UsellPermissions/UserPermissions.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","model","value","callback","$$v","selected","expression","_l","item","index","key","name","permission","id","_v","_s","description","staticRenderFns","props","user_permissions","type","default","data","permissions","filtred","watch","handler","newValue","oldValue","deep","mounted","methods","mapActions","initialize","acc","map","children","component","$","$entries","entries","target","stat","O","DESCRIPTORS","uncurryThis","objectKeys","toIndexedObject","$propertyIsEnumerable","f","propertyIsEnumerable","push","createMethod","TO_ENTRIES","it","keys","length","i","result","module","exports","values","staticClass","$t","on","$event","indexOf","_k","keyCode","getusers","apply","arguments","serverParams","$set","totalRecords","isLoading","enabled","rows","columns","onPageChange","onSortChange","onColumnFilter","onPerPageChange","scopedSlots","_u","fn","column","field","row","nom","prenom","$moment","date_creation","format","latest_solvability","solvabilite","statusVariant","directives","rawName","modifiers","editItem","formattedRow","ref","formTitle","dialog","editedItem","editedPermissions","updatePermissions","save","components","VueGoodTable","Permissions","disabled","columnFilters","sort","page","perPage","label","sortable","computed","mapGetters","user","is_reject_blocked","orange","red","green","direction","created","details","params","updateParams","newProps","close","payload","then","title","variant","Ripple"],"mappings":"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","file":"UserPermissions~31ecd969.25b984f7.js?version=1727726453033","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-card',[_c('b-form-checkbox-group',{attrs:{\"id\":\"flavors\",\"switches\":\"\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[[_c('b-tabs',{attrs:{\"vertical\":\"\",\"nav-wrapper-class\":\"nav-vertical\"}},_vm._l((_vm.filtred),function(item,index){return _c('b-tab',{key:index,attrs:{\"title\":item.name}},_vm._l((item.children),function(permission){return _c('b-card-text',{key:permission.id},[_c('b-form-checkbox',{key:permission.id,attrs:{\"name\":\"check-button\",\"switch\":\"\",\"inline\":\"\",\"value\":permission.id}},[_vm._v(\" \"+_vm._s(permission.description)+\" \")])],1)}),1)}),1)]],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <b-card>\n    <!-- left position -->\n    <b-form-checkbox-group\n      id=\"flavors\"\n      v-model=\"selected\"\n      switches\n    >\n      <template>\n        <b-tabs\n          vertical\n          nav-wrapper-class=\"nav-vertical\"\n        >\n          <b-tab\n            v-for=\"(item, index) in filtred\"\n            :key=\"index\"\n            :title=\"item.name\"\n          >\n            <b-card-text\n              v-for=\"permission in item.children\"\n              :key=\"permission.id\"\n            >\n              <b-form-checkbox\n                :key=\"permission.id\"\n                name=\"check-button\"\n                switch\n                inline\n                :value=\"permission.id\"\n              >\n                {{ permission.description }}\n              </b-form-checkbox>\n            </b-card-text>\n          </b-tab>\n        </b-tabs>\n      </template>\n    </b-form-checkbox-group>\n  </b-card>\n</template>\n<script>\nimport { mapActions } from 'vuex'\n\nexport default {\n  props: {\n    user_permissions: {\n      type: Array,\n      default: () => [],\n    },\n  },\n  data() {\n    return {\n      permissions: [],\n      filtred: [],\n      selected: [],\n    }\n  },\n\n  watch: {\n    selected: {\n      handler(newValue, oldValue) {\n        this.$emit('update_permissions', newValue)\n      },\n      deep: true,\n    },\n  },\n  async mounted() {\n    await this.initialize()\n  },\n  methods: {},\n  methods: {\n    ...mapActions('permissions_usell', ['GET_PERMISSIONS']),\n    async initialize() {\n      return this.GET_PERMISSIONS().then(permissions => {\n        this.permissions = permissions\n        this.permissions = this.permissions.map(permission => {\n          permission.action = permission.name.split('.')[0]\n          permission.group = permission.name.split('.')[1]\n          return permission\n        })\n        this.filtred = Object.entries(\n          this.permissions.reduce((acc, el) => {\n            acc[el.group] = acc[el.group] || []\n            acc[el.group].push(el)\n            return acc\n          }, {}),\n        ).map(([key, value]) => ({ name: key, children: value }))\n        this.selected = this.user_permissions\n      })\n    },\n  },\n}\n</script>\n\n<style>\n.nav-pills .nav-link,\n.nav-tabs .nav-link {\n  justify-content: start !important;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsellPermissions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsellPermissions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UsellPermissions.vue?vue&type=template&id=a6c3983a&\"\nimport script from \"./UsellPermissions.vue?vue&type=script&lang=js&\"\nexport * from \"./UsellPermissions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./UsellPermissions.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var $ = require('../internals/export');\nvar $entries = require('../internals/object-to-array').entries;\n\n// `Object.entries` method\n// https://tc39.es/ecma262/#sec-object.entries\n$({ target: 'Object', stat: true }, {\n  entries: function entries(O) {\n    return $entries(O);\n  }\n});\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsellPermissions.vue?vue&type=style&index=0&lang=css&\"","var DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar objectKeys = require('../internals/object-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $propertyIsEnumerable = require('../internals/object-property-is-enumerable').f;\n\nvar propertyIsEnumerable = uncurryThis($propertyIsEnumerable);\nvar push = uncurryThis([].push);\n\n// `Object.{ entries, values }` methods implementation\nvar createMethod = function (TO_ENTRIES) {\n  return function (it) {\n    var O = toIndexedObject(it);\n    var keys = objectKeys(O);\n    var length = keys.length;\n    var i = 0;\n    var result = [];\n    var key;\n    while (length > i) {\n      key = keys[i++];\n      if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {\n        push(result, TO_ENTRIES ? [key, O[key]] : O[key]);\n      }\n    }\n    return result;\n  };\n};\n\nmodule.exports = {\n  // `Object.entries` method\n  // https://tc39.es/ecma262/#sec-object.entries\n  entries: createMethod(true),\n  // `Object.values` method\n  // https://tc39.es/ecma262/#sec-object.values\n  values: createMethod(false)\n};\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{},[_c('b-form-group',[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('b-form-input',{attrs:{\"placeholder\":_vm.$t('Filtrez vos résultats'),\"type\":\"text\"},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.getusers.apply(null, arguments)}},model:{value:(_vm.serverParams.columnFilters),callback:function ($$v) {_vm.$set(_vm.serverParams, \"columnFilters\", $$v)},expression:\"serverParams.columnFilters\"}}),_c('b-btn',{on:{\"click\":_vm.getusers}},[_vm._v(\" Filtrer \")])],1)])],1),_c('vue-good-table',{attrs:{\"mode\":\"remote\",\"total-rows\":_vm.totalRecords,\"is-loading\":_vm.isLoading,\"pagination-options\":{\n      enabled: true,\n    },\"rows\":_vm.rows,\"columns\":_vm.columns},on:{\"update:isLoading\":function($event){_vm.isLoading=$event},\"update:is-loading\":function($event){_vm.isLoading=$event},\"on-page-change\":_vm.onPageChange,\"on-sort-change\":_vm.onSortChange,\"on-column-filter\":_vm.onColumnFilter,\"on-per-page-change\":_vm.onPerPageChange},scopedSlots:_vm._u([{key:\"table-row\",fn:function(props){return [(props.column.field === 'nom')?_c('span',{staticClass:\"text-nowrap\"},[_c('span',{staticClass:\"text-nowrap\"},[_vm._v(_vm._s(props.row.nom)+\" \"+_vm._s(props.row.prenom))])]):(props.column.field === 'date_creation')?_c('span',{staticClass:\"text-nowrap\"},[_c('span',{staticClass:\"text-nowrap\"},[_c('span',[_vm._v(_vm._s(_vm.$moment(props.row.date_creation).format(\"DD/MM/YYYY hh:mm\")))])])]):(props.column.field === 'latest_solvability.solvabilite')?_c('span',[(\n            props.row.latest_solvability &&\n              props.row.latest_solvability.solvabilite\n          )?_c('b-badge',{attrs:{\"variant\":_vm.statusVariant(props.row.latest_solvability.solvabilite)}},[_vm._v(\" \"+_vm._s(props.row.latest_solvability.solvabilite)+\" \")]):_c('b-badge',{attrs:{\"variant\":\"secondary\"}},[_vm._v(_vm._s(_vm.$t(\"En cours\")))])],1):(props.column.field === 'action')?_c('span',[_c('b-button-group',[_c('Can',{attrs:{\"i\":\"all\",\"a\":\"usell_users_permissions\"}},[_c('b-button',{directives:[{name:\"ripple\",rawName:\"v-ripple.400\",value:('rgba(113, 102, 240, 0.15)'),expression:\"'rgba(113, 102, 240, 0.15)'\",modifiers:{\"400\":true}}],attrs:{\"variant\":\"outline-primary\"},on:{\"click\":function($event){return _vm.editItem(props.row)}}},[_c('feather-icon',{attrs:{\"icon\":\"KeyIcon\"}})],1)],1)],1)],1):_c('span',[_vm._v(\" \"+_vm._s(props.formattedRow[props.column.field])+\" \")])]}}])}),_c('br'),_c('b-modal',{ref:\"modal\",attrs:{\"id\":\"modal-prevent-closing\",\"title\":_vm.formTitle,\"hide-footer\":\"\",\"size\":\"lg\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('Permissions',{attrs:{\"user_permissions\":_vm.editedItem.editedPermissions},on:{\"update_permissions\":_vm.updatePermissions}}),_c('b-button',{attrs:{\"type\":\"submit\",\"variant\":\"primary\",\"block\":\"\"},on:{\"click\":_vm.save}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Enregistrer\"))+\" \")])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <!-- search input -->\n    <div class=\"\">\n      <b-form-group>\n        <div class=\"d-flex align-items-center\">\n          <b-form-input\n            v-model=\"serverParams.columnFilters\"\n            :placeholder=\"$t('Filtrez vos résultats')\"\n            type=\"text\"\n            @keyup.enter=\"getusers\"\n          />\n          <b-btn @click=\"getusers\">\n            Filtrer\n          </b-btn>\n        </div>\n      </b-form-group>\n    </div>\n\n    <vue-good-table\n      mode=\"remote\"\n      :total-rows=\"totalRecords\"\n      :is-loading.sync=\"isLoading\"\n      :pagination-options=\"{\n        enabled: true,\n      }\"\n      :rows=\"rows\"\n      :columns=\"columns\"\n      @on-page-change=\"onPageChange\"\n      @on-sort-change=\"onSortChange\"\n      @on-column-filter=\"onColumnFilter\"\n      @on-per-page-change=\"onPerPageChange\"\n    >\n      <template\n        slot=\"table-row\"\n        slot-scope=\"props\"\n      >\n        <!-- Column: Name -->\n        <span\n          v-if=\"props.column.field === 'nom'\"\n          class=\"text-nowrap\"\n        >\n          <span class=\"text-nowrap\">{{ props.row.nom }} {{ props.row.prenom }}</span>\n        </span>\n\n        <!-- Column: date d'ajout -->\n        <span\n          v-else-if=\"props.column.field === 'date_creation'\"\n          class=\"text-nowrap\"\n        >\n          <span class=\"text-nowrap\"><span>{{\n            $moment(props.row.date_creation).format(\"DD/MM/YYYY hh:mm\")\n          }}</span></span>\n        </span>\n        <!-- Column: Status -->\n        <span\n          v-else-if=\"props.column.field === 'latest_solvability.solvabilite'\"\n        >\n          <b-badge\n            v-if=\"\n              props.row.latest_solvability &&\n                props.row.latest_solvability.solvabilite\n            \"\n            :variant=\"statusVariant(props.row.latest_solvability.solvabilite)\"\n          >\n            {{ props.row.latest_solvability.solvabilite }}\n          </b-badge>\n          <b-badge\n            v-else\n            variant=\"secondary\"\n          >{{ $t(\"En cours\") }}</b-badge>\n        </span>\n\n        <!-- Column: Action -->\n        <span v-else-if=\"props.column.field === 'action'\">\n          <b-button-group>\n            <Can\n              i=\"all\"\n              a=\"usell_users_permissions\"\n            >\n              <b-button\n                v-ripple.400=\"'rgba(113, 102, 240, 0.15)'\"\n                variant=\"outline-primary\"\n                @click=\"editItem(props.row)\"\n              >\n                <feather-icon icon=\"KeyIcon\" />\n              </b-button>\n            </Can>\n          </b-button-group>\n        </span>\n\n        <!-- Column: Common -->\n        <span v-else>\n          {{ props.formattedRow[props.column.field] }}\n        </span>\n      </template>\n    </vue-good-table>\n    <br>\n    <b-modal\n      id=\"modal-prevent-closing\"\n      ref=\"modal\"\n      v-model=\"dialog\"\n      :title=\"formTitle\"\n      hide-footer\n      size=\"lg\"\n    >\n      <Permissions\n        :user_permissions=\"editedItem.editedPermissions\"\n        @update_permissions=\"updatePermissions\"\n      />\n      <b-button\n        type=\"submit\"\n        variant=\"primary\"\n        block\n        @click=\"save\"\n      >\n        {{ $t(\"Enregistrer\") }}\n      </b-button>\n    </b-modal>\n  </div>\n</template>\n\n<script>\nimport { VueGoodTable } from 'vue-good-table'\nimport store from '@/store/index'\nimport Ripple from 'vue-ripple-directive'\nimport { mapActions, mapGetters } from 'vuex'\nimport Permissions from '@/components/UsellPermissions'\nimport ToastificationContent from '@core/components/toastification/ToastificationContent.vue'\n\nexport default {\n  components: {\n    VueGoodTable,\n    Permissions,\n  },\n  data() {\n    return {\n      disabled: false,\n      isLoading: false,\n      rows: [],\n      totalRecords: 0,\n      serverParams: {\n        columnFilters: '',\n        sort: [\n          {\n            field: '',\n            type: '',\n          },\n        ],\n        page: 1,\n        perPage: 10,\n      },\n\n      disabled: false,\n      pageLength: 10,\n      dir: false,\n      dialog: false,\n      columns: [\n        {\n          label: this.$t('Identifiant'),\n          field: 'id',\n          type: 'number',\n        },\n        {\n          label: this.$t('Nom & Prénom'),\n          field: 'nom',\n        },\n        {\n          label: this.$t('Email'),\n          field: 'email',\n        },\n        {\n          label: this.$t(\"Date d'ajout\"),\n          field: 'date_creation',\n        },\n        {\n          label: this.$t('Role'),\n          field: 'role.role',\n        },\n        {\n          label: this.$t('Actions'),\nsortable: false,\n          field: 'action',\n        },\n      ],\n      rows: [],\n      searchTerm: '',\n      loading: true,\n      editedIndex: -1,\n      editedItem: {\n        name: '',\n      },\n      defaultItem: {\n        name: '',\n      },\n    }\n  },\n  computed: {\n    ...mapGetters('auth', {\n      user: 'GET_USER_DATA',\n      is_reject_blocked: 'IS_REJECTED',\n    }),\n    formTitle() {\n      return `Permissions de ${this.editedItem.nom} ${this.editedItem.prenom}`\n    },\n    statusVariant(key) {\n      const statusColor = {\n        /* eslint-disable key-spacing */\n        orange: 'light-warning',\n        red: 'light-danger',\n        green: 'light-success',\n\n        /* eslint-enable key-spacing */\n      }\n\n      return key => statusColor[key]\n    },\n    direction() {\n      if (store.state.appConfig.isRTL) {\n        // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n        this.dir = true\n        return this.dir\n      }\n      // eslint-disable-next-line vue/no-side-effects-in-computed-properties\n      this.dir = false\n      return this.dir\n    },\n  },\n  created() {},\n  async mounted() {\n    this.getusers()\n  },\n  methods: {\n    async getusers() {\n      this.isLoading = true\n      await this.GET_USERS(this.serverParams).then(res => {\n        if (res) {\n          this.rows = res.data\n          this.isLoading = false\n          this.totalRecords = res.count\n        }\n      })\n    },\n    ...mapActions('client', ['GET_CLIENTS', 'DELETE_CLIENT']),\n    ...mapActions('scarlet', ['LIST_SCARLET_CLIENTS']),\n    details(item) {\n      this.$router.push({ name: 'DetailClients', params: { id: item.id } })\n    },\n    updateParams(newProps) {\n      this.serverParams = { ...this.serverParams, ...newProps }\n    },\n\n    onPageChange(params) {\n      this.updateParams({ page: params.currentPage })\n      this.getusers()\n    },\n\n    onPerPageChange(params) {\n      this.updateParams({ perPage: params.currentPerPage, page: 1 })\n\n      this.getusers()\n    },\n\n    onSortChange(params) {\n      this.updateParams({\n        sort: params,\n      })\n      this.getusers()\n    },\n\n    onColumnFilter(params) {\n      this.updateParams(params)\n      this.getusers()\n    },\n\n    ...mapActions('permissions_usell', ['EDIT_PERMISSIONS']),\n\n    updatePermissions(data) {\n      this.editedItem.editedPermissions = data\n    },\n    editItem(item) {\n      this.editedIndex = this.rows.indexOf(item)\n      this.editedItem = { ...item }\n      this.editedItem.editedPermissions = this.editedItem.permissions.map(\n        el => el.id,\n      )\n      this.dialog = true\n    },\n    close() {\n      this.dialog = false\n      this.$nextTick(() => {\n        this.editedItem = { ...this.defaultItem }\n        this.editedIndex = -1\n      })\n    },\n    save() {\n      this.EDIT_PERMISSIONS({\n        id: this.editedItem.id,\n        payload: { permissions: this.editedItem.editedPermissions },\n      }).then(() => {\n        this.$toast({\n          component: ToastificationContent,\n          props: {\n            title: this.$t('Permissions mis à jour avec success'),\n            variant: 'success',\n          },\n        })\n        this.getusers()\n      })\n      this.close()\n    },\n\n    ...mapActions('users_usell', ['GET_USERS']),\n    permissions(item) {},\n  },\n  directives: {\n    Ripple,\n  },\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPermissions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserPermissions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UserPermissions.vue?vue&type=template&id=3c0ad197&\"\nimport script from \"./UserPermissions.vue?vue&type=script&lang=js&\"\nexport * from \"./UserPermissions.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}