Guest User

Untitled

a guest
Apr 25th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.75 KB | None | 0 0
  1. <template>
  2. <form v-on:submit.prevent="createdEvent" class="form-horizontal">
  3. <div class="form-group row">
  4. <label>Titulo</label>
  5. <input type="text" name="title" maxlength="25" v-model="title">
  6. </div>
  7. <div class="form-group row">
  8. <label>*Cryptodivisas</label>
  9. <multiselect v-model="coinvalue" :options="coins"
  10. :multiple="true" label="name"
  11. track-by="id" placeholder="Seleccione">
  12. </multiselect>
  13. </div>
  14. <div class="form-group row">
  15. <label>*Categoría</label>
  16. <multiselect v-model="categoryvalue" :options="categories"
  17. :multiple="true" label="name"
  18. track-by="id" placeholder="Seleccione">
  19. </multiselect>
  20. </div>
  21. <div class="col-sm-12">
  22. <button class="btn" type="submit">Crear evento</button>
  23. </div>
  24. </form>
  25. </template>
  26. <script>
  27. import Multiselect from 'vue-multiselect';
  28. export default {
  29. components: {
  30. Multiselect,
  31. },
  32. props: ['auth'],
  33. data () {
  34. return {
  35. user: {},
  36. title: '',
  37. coins: [],
  38. coinvalue: [],
  39. categories: [],
  40. categoryvalue: [],
  41. }
  42. },
  43. created() {
  44. this.getCoins();
  45. this.getCategories();
  46. },
  47. mounted() {
  48. this.user = JSON.parse(this.auth);
  49. },
  50. methods: {
  51. getCoins(){
  52. let urlCoin = '/dashboard/coins';
  53. axios.get(urlCoin)
  54. .then((response) => {
  55. this.coins = response.data;
  56. })
  57. .catch((err) => {
  58.  
  59. })
  60. },
  61. getCategories(){
  62. let urlCategories = '/dashboard/categories';
  63. axios.get(urlCategories)
  64. .then((response) => {
  65. this.categories = response.data;
  66. })
  67. .catch((err) => {
  68.  
  69. })
  70. },
  71. createdEvent(){
  72. let urlEvent = '/dashboard/newEvent';
  73. const eventData = {
  74. 'id' : this.user.id,
  75. 'title' : this.title,
  76. 'coin' : this.coinvalue,
  77. 'category' : this.categoryvalue,
  78. }
  79. console.log(eventData);
  80. axios.post(urlEvent, eventData)
  81. .then((response) => {
  82. console.log(ok);
  83. })
  84. .catch((err) => {
  85. console.log(err.response.data);
  86. })
  87. }
  88. </script>
  89.  
  90. public function storeEvent(Request $request)
  91. {
  92. $this->validate($request, [
  93. 'title' => 'required|max:25',
  94. 'coin' => 'required',
  95. 'category' => 'required',
  96. ]);
  97.  
  98. $userAuth = Auth::user()->id;
  99. $userEvent = $request->id;
  100. if($userAuth === $userEvent){
  101. $event = new Event;
  102. $event->user_id = $userEvent;
  103. $event->title = $request->title;
  104. if($event->save()){
  105. $event->coins()->attach($request->coin);
  106. $event->categories()->attach($request->category);
  107. return response()->json([
  108. 'status' => 'Muy bien!',
  109. 'msg' => 'Tu evento ya fue creado con éxito.',
  110. ], 200);
  111. }
  112. else {
  113. return response()->json([
  114. 'status' => 'Error!',
  115. 'msg' => 'No pudimos crear tu evento.',
  116. ], 401);
  117. }
  118. }
  119. }
Add Comment
Please, Sign In to add comment